Once you have uploaded an image or container to MobiledgeX’s repository, you can use the MobiledgeX Console to define how your application gets deployed, what compute resources it runs on, and where it geographically is provisioned. After you have used the MobiledgeX Console to create instances of your application in data centers of multiple Telecom Operators, you can use the MobiledgeX SDKs to determine the closest application instance to your end user’s device based on their cellular provider and location, which provides the low latency & low jitter benefits of edge computing.
As a platform, MobiledgeX aggregates the infrastructure of multiple telecom operators in one standard interface, the MobiledgeX Console. When compute resources are added to MobiledgeX by an operator, among other things, we require that this infrastructure is labeled with its physical geo-location as well as an operator code. We refer to this geo-located infrastructure as a cloudlet. Developers can create application instances on any of the publicly available cloudlets that are offered on the MobiledgeX platform.
MobiledgeX offers support for the following application deployment types onto cloudlets :
For container-based applications, you can define clusters within the MobiledgeX Console to specify the compute resources needed for your application on a specific cloudlet. MobiledgeX provides a wide range of defined resource allocations per cloudlet, which are referred to as flavors. These resources specify the amount of RAM, Disk Space, vCPUs, and GPUs your application can utilize.
The MobiledgeX SDK is written natively in Android, iOS, and C#/Unity primarily for mobile applications. You can also use our REST APIs for other types of devices or client applications.
Edge Management Services
Distributed Matching APIs
To enable apps to find the closest cloudlet, MobiledgeX offers a Distributed Matching Engine (DME). The DME is a service that is associated with a carrier or a region and is responsible for maintaining a list of cloudlets for that given carrier or region. The DME offers two primary APIs that client apps can use to find their closest application instance:
To make managing your application resources simpler, MobiledgeX offers a Cloudlet Resource Manager (CRM). The CRM is responsible for managing all hardware resource utilization for cloudlets deployed to MobiledgeX. The CRM provides many APIs to make managing the resources used by application simpler, which you can learn more about in our API documentation.
The MobiledgeX Console exposes these APIs in an easy to manage web interface, but you can also interact with these APIs using our command-line tool mcctl. Additionally, you can use these APIs to make it easier to maintain applications by integrating with your Continuous Integration / Continuous Deployment (CI / CD) pipelines. We have provided an example of this using GitHub Actions.
MobiledgeX provides several distinctive policies to automate the management of your applications. Setting up these policies provide opportunities to:
Auto-Provisioning Policies: automatically deploy more application instances across cloudlets based on the number of users near a given cloudlet
Auto-Scale Policies: automatically scale your application resources for a Docker or Kubernetes cluster based on traffic and resource utilization
Privacy Policies: define the outbound port usage settings for docker and kubernetes application running on dedicated clusters.
Each application can use up to one of each type of policy and by leveraging our policies, you can easily manage your application to meet user demands across multiple cloudlets and locations.
To make monitoring your application across multiple cloudlets simple, MobiledgeX provides a monitoring dashboard within the MobiledgeX Console. The monitoring dashboard makes it easy to determine the resource utilization within clusters and applications instances across cloudlets so that developers can make appropriate conclusions on how to scale up or down their applications. Additionally, the Monitoring Dashboard provides metrics on what cloudlets and instances your users and connecting to, to give a better sense of where to scale your application to minimize latency and jitter for your end-users.