Developer Insights: How App Developers are using MobiledgeX Edge-Cloud

November 23rd, 2020

Headshot for Vasanth Mohan

Vasanth Mohan

Developer Adovcate

As we approach the end of the craziness that is the year 2020 (for some entertainment, read this blog post for what we are thinking about for the beginning of the year), MobiledgeX has continued to evolve, grow, and adapt, building a platform that makes telco edge computing intuitive, practical, and performant for developers across a wide range of use cases. We have been and will continue to push out new features and improvements based on developer feedback this past year. Here is a list of some of the new features we have released this year:

  • The Release of R2.0

    • Policy Driven Deployments to make it easier to scale application around the world

    • Location-Based Real Time Monitoring & Metrics

    • Support for Virtual Machines, Docker, Kubernetes, and Helm Deployments

  • Launch of the MobiledgeX Unity SDK with UPM integration

  • A Newly Revamped Developer Portal with More Documentation and Examples

  • NVIDIA GPU support for offloading high computation tasks to the edge

We are beginning to see our early access developers take full advantage of these features to integrate telco edge computing into their applications and easily enhance their products. Some applications will even be ready for production in 2021, assuming, of course, this meme doesn’t become a reality.

Here are some of the trends and insights that we are learning from developers at a macro level. We thought these would be valuable and worth sharing as this data starts to paint a picture of the use cases that could benefit the most from telco edge computing. 

Types of Deployments

There are two methods developers can use to deploy their server applications onto MobiledgeX: Virtual Machines (VM) or Docker Containers. There are pros and cons to each type of deployment, which we won’t get into here, but those pros and cons directly influence which method a developer chooses for their deployment. From the developers we work with, this is the breakdown we are currently seeing:

Deployment Percentage Breakdown

As you can tell, the split is close to 50/50, with a slight preference towards Docker. While some inferences can be made with this data, let’s supplement the data with which operating systems are being used.

Operating System Percentage Breakdown

With this, we get a better picture of why the percentage breakdowns are occurring. Currently, Windows deployments are only supported for Virtual Machines. Since Windows is needed for Remote Rendering use cases like Cloud Gaming and Cloud Virtual and Augmented Reality, it starts to make sense why we would see a significant amount of Virtual Machine deployments. Simultaneously, since Docker containers are easily transferable from the public cloud to the edge, it makes sense to see developers use Docker to bring their existing solutions onto MobiledgeX. 

GPUs on the Edge

As mentioned above, VR & AR Remote Rendering is a significant edge computing use case that we are seeing emerge among the developers we work with. That is just one use case that requires having access to a GPU. Other use cases, which we will discuss in the next section, would include Machine Learning, Computer Vision, Artificial Intelligence, as well as Video Encoding / Decoding.

As is the case with our Computer Vision Sample application (you can learn more about how to use it here), we see that even among these use cases, not all of them necessarily need a GPU. For example, in our Computer Vision Sample using OpenCV, Face Detection and Recognition can be run just using the CPU, Object Detection is capable of running on both a CPU as well as GPU, and Pose Detection requires a GPU. From this, you can see how, even in use cases where you might think a GPU is needed, it is not always the case.

GPU Percentage Breakdown

Use Case Breakdown

We have already mentioned quite a few of the use cases we are working with developers on and here is breakdown percentage-wise of the use case categories we are tracking.

Use Cases by Category Breakdown

At a high level, here is a quick summary of each of these use cases we are tracking:

  • Remote Rendering : Performing the Graphics Rendering task on an edge server as opposed to where it traditionally happens on device. Especially useful in Virtual and Augmented Reality applications. 

  • AI / ML / CV : Sending Device Input to an edge server in order to be processed as a Machine Learning model. 

  • Multiplayer: Syncing the actions of multiple players across different devices in a real time game. Works best with low latency if all players are close to the server. 

  • Drones: Syncing real time positional data among drones for collision detection

  • V2X: Vehicles to Everything

  • Streaming: Video streaming from multiple devices that can be composited together at the edge and re-broadcasted to either the original source or another source i.e. Youtube or Twitch. This use case also captures the need for encoding and decoding large video streams upwards of 4K.

Taking a step back from these more specific use cases, we often see the edge used for two primary needs : offloading workloads and syncing data between devices

From the breakdown above, Remote Rendering and Machine Learning broadly fit into the offloading category. Whereas Streaming, Multiplayer, V2X, and Drones, would fit into the device data syncing category.

MobiledgeX is excited about all the projects that developers in our community are working on to push the boundaries of edge computing! If you are a startup that has a use case that could benefit from edge computing, please sign up on our MobiledgeX Developer Portal to apply for early access and get started building on the Telco Edge.