Managing Edge Applications using the MobiledgeX Auto Provisioning Policy Engine

May 20th, 2021

Headshot for Wonho Park

Wonho Park

Chief Product Officer & SVP Product Development

Edge computing is a distributed computing paradigm that brings computation and data storage closer to the location where it is needed, improving the performance of applications and getting beyond the performance attainable with a typical cloud and device application architecture. So, a better term for “edge” computing is probably “location-aware” computing, the point being it isn’t a question of just using edge services — they have to be correctly located as well. 

As edge computing enters the mainstream we expect to see massive growth of the number of edge computing sites in the upcoming years. These edge sites will enable organizations to extend the cloud to on-premises in order to take advantage of IoT and transformational digital business applications (i.e. AR/VR and AI). This shift to edge computing will require a declarative orchestration platform that can automatically deploy and undeploy edge applications based on a policy defined by the application. Without this type of automation managing these applications across distributed sites will be cumbersome, lead to significant operational overhead and potentially increased cost. 

In this blog, we’ll show the policies that MobiledgeX provides for automatically deploying applications for two use cases: on-demand deployment, and high availability deployment. We’ll go over how they work, and how to configure them -- and see how they solve the edge deployment issues of locality and scale.

1. On Demand Auto Provisioning Deployment

Consider a use case where developers want to manage their applications through on -demand-based auto-deployment. In other words, by utilizing MobiledgeX Application Autoprovising Policy, applications are auto-deployed to a location based on users’ location and auto-removed when users are no longer using the application.

The client on the user’s device will issue FindCloudlet requests to find the closest site where an application instance is deployed. However, that site may not be the most optimal, or may not exist at all. By configuring the Deploy Request Count and Deploy Interval Count thresholds on the policy, the platform will monitor FindCloudlet calls for an application. If enough users appear close to a potential site to meet the policy threshold, a new application will be automatically deployed to that site, providing better service for those local users

Automatic removal of application instances works similarly. However, instead of monitoring FindCloudlet requests, the policy engine monitors active connection counts connected to a particular application instance. If the active connection counts satisfy both Undeploy Request Count and Undeploy Interval Count thresholds set on the policy, the deployed application instance will automatically undeploy from that site. The below figure shows an example of how to create auto provisioning based on Request Count and Interval and a set of cloudlets applying this policy from MobiledgeX Platform. By utilizing auto-provisioning policy, developers can serve their users based on demand, reducing operational overhead and cost.

2. High Availability Auto Provisioning Deployment

Consider another use case where developers want to ensure a minimum number of applications (high availability) to be continuously running within a region to serve their clients. Suppose the application(s) experience connectivity issues or one of the cloudlets become unreachable. In that case, MobiledgeX auto-provision policy engine acts to ensure the minimum active instance criterion is met and the policy engine would trigger the application instance deployment to a different location. Hence, applications remain fully operational with very minimal disruptions to users who are connected to their application. 

The below figure shows an example of how to create auto provisioning based on Minimum Active Instances and Maximum Instances from the MobiledgeX Platform. By creating this policy, developers can guarantee that the policy will maintain the specified number of active instances among the cloudlets for all applications associated with the policy. 

3. On Demand + High Availability Auto Provisioning Deployment

It is worth noting that the minimum number of applications (application high availability) can work in conjunction with the FindCloudlet client demand-based deployment. Instances may be deployed in response to client demand, or meet the policy’s minimum active instances requirement. Below figures shows an example of a policy declared within a region not only to ensure that 2 application instances are continuously running (blue) but also to allow additional instances to be deployed based on client-demand-based deployment policy (red).

As the world continues to evolve and the importance of distributed edge computing becomes paramount, we at MobiledgeX understand the need for Developers to maintain focus on developing their edge applications and be less concerned about the challenges of managing the deployment  for their users, potentially across multiple locations. In addition, Developers want to ensure what they have developed is not subjected to performance degradation. We support the distributed computing paradigm by offering on-demand application deployment based on flexible policies that take into account resources, applications, location-awareness, and distributed sites. MobiledgeX Auto Provision Engine is the answer to bringing all these distributed elements closer to the Edge.

Visit our Developer Portal today to learn more about our MobiledgeX Platform.