Azure IoT Edge on VMware vSphere: Accelerating Innovation at the Edge

Chris Wolf and Daniel Beveridge, VMware Office of the CTO

Cloud is increasingly evolving from a place, to an operating model. While we can and should embrace cloud computing, there are a few use cases where it’s simply more efficient to run a cloud service adjacent to where data is created or consumed, rather than move the data to a distant cloud data center. That is often the case in Internet of Things (IoT) use cases, where the sheer volume of data, networking limitations, privacy considerations, and required application response times require the service – or a portion of the service – to physically reside at the point of data creation or consumption.

We see a growing need across our customer base to decouple cloud services from cloud data centers to meet many of the above requirements. In addition, oftentimes a legacy portion of the application stack can limit an application’s ability to integrate with a variety of cloud services. This places IT decision makers in a tough position. They must choose between either refactoring an application – often at a high cost in terms of both money and time or leaving the application as-is and placing any modernization efforts on the back burner. This no longer has to be the case when you consider the ability to bring cloud services on-premises or move them out to the edge. In solving these challenges, we see a tremendous opportunity to do what we do best. If you consider cloud services a new generation of application platforms, why not virtualize them? This will give organizations the flexibility to deploy the right service for the right use case, and even build best-of-breed solutions consisting of an aggregate of cloud services and open source technologies. That’s something that most folks haven’t considered to be in the realm of possibility, but now it is.

Our Joint Value

Following previous announcements showing our commitment to bringing cloud services to the edge, today marks a major milestone in the evolution of our cloud strategy because Microsoft now officially supports Azure IoT Edge running on VMware vSphere. This announcement reinforces our comprehensive Edge and IoT strategy and strategic commitment to working closely with Microsoft to jointly deliver value to solve your most pressing challenges, and follows two previous announcements:

Today’s announcement marks a significant step forward in our partnership. We see strong interest in our mutual customer base for Azure IoT Edge on vSphere because it allows them to extend their Azure footprint out to the edge on VMware vSphere. This can include parts of Azure services such as Azure Stream Analytics, Azure Functions, and Cognitive Services. They can take advantage of local SQL Server databases or even 3rd party services designed for Azure IoT Edge and sold through the Azure Marketplace. Architecturally, this joint solution is a win for everyone. Developers benefit from a native Azure experience, using the tools, commands, and APIs that they prefer, inclusive of management via Azure IoT Hub, with the VMware virtualization layer transparent to the overall solution. For IT operations, they can deploy and manage Azure IoT Edge using their familiar VMware tools and processes, including vCenter, vRealize Operations, NSX, and more. Running these services in a VM ensures that you can benefit from all the value that virtualization affords, including hardware independence, high availability, application isolation and security, rapid deployment, configuration, and lifecycle management. You can even expose powerful processing capabilities to Azure IoT Edge, such as TPMs for advanced security or NVIDIA GPUs to accelerate workloads for use cases such as deep learning inference. In the end, virtualizing edge services can give you greater flexibility and velocity and can give you the ability to isolate business partner applications at your edge sites, all on shared hardware.

In our supported offering, Azure IoT Edge runs in an Ubuntu Server VM, allowing you to integrate any tool that supports the Ubuntu Server OS as part of your operational management stack. You can architect your edge solutions using VMware as your common edge virtualization platform and run whatever services your business units require. Our commitment is to continue to pursue support for all the cloud services that you would want to run at the edge, and we see tremendous potential velocity in this joint solution with Microsoft.

Open Source Cloud-to-Edge

Deploying services to edge sites can be a cumbersome task, inclusive of configuration file and certificate creation and mapping, setting up authentication, and connecting each localized service to its parent cloud service. The Cloud-to-Edge project uses popular open source technologies such as Concourse and Ansible to fully automate deployment of cloud-enabled edge services such as Azure IoT Edge to all edge sites, and can integrate with IoT management solutions such as VMware Pulse IoT Center. We see tremendous potential in this project and encourage you to get involved!

Technical Details

The initial capability of the Cloud-to-Edge open source project is our ‘Builder’ tool. We are working on additional capabilities for the future. Builder addresses the challenges of deploying Azure IoT Edge and other edge frameworks at scale. Customers looking to embrace Azure IoT Edge may want to deploy to hundreds or thousands of sites simultaneously. Such a deployment requires configuration of the Cloud layer, vSphere management layer, and the OS and applications layers in a consistent manner. Builder is the first such tool capable of provisioning Azure IoT Edge at scale across these layers.

Cloud-to-Edge Builder is comprised of several sub-projects including:

  • Cloud-to-Edge Builder – Top-level Google Repo project for the cloud-to-edge project. Use this to assemble all the other sub projects. Install Google Repo and point it to this project to get started. The other sub-projects below are critical building blocks for deployment of Azure IoT Edge and other edge frameworks.
  • cloud-to-edge-automation – Top level project for cloud-to-edge project; combines multiple roles required to perform lower level activities.
  • ansible-role-microsoft-azure-iot – Ansible automation to create and manage Azure IoT Edge resources.
  • ansible-role-microsoft-azure-edge – Ansible automation to deploy an Azure IoT Edge instance
  • ansible-role-cloud-to-edge-vm – Ansible automation for creating edge VMs that will serve the edge framework of choice including Azure IoT Edge.
  • VMware PKS Concourse Deploy – Code for creating and provisioning a bootstrap VM that assembles a few other repositories for use in automating the deployment of the Concourse automation tool.
  • cloud-to-edge-concourse-deploy – Project containing the Concourse pipelines for Edge deployments.
  • Cloud-to-Edge Builder UI – A basic UI tool that allows you to populate your YAML file using a Web based UI tool. This is a starter UI and we’ll be making improvements over coming months. It takes user input and outputs a YAML file to drive the automation. It is not a necessary part of the tool for those who prefer to populate YAML settings directly.

Each of these sub-projects can be enhanced by the community separately to add extended functions and fixes. The Builder tool allows you to provision Azure IoT Edge across many separate vCenter instances in parallel with YAML driven end-to-end functionality. More details about the projects can be found at the GitHub site.

What are you Waiting For?!

Stop reading, check out the Cloud-to-Edge project, and take Azure IoT Edge for a spin. You can read more about our collaboration in this Microsoft blog post as well. If you have VMware vSphere 6.7 or higher at a site, then you can have Azure IoT Edge there too. This means that you don’t have to do any additional work in terms of bringing in new infrastructure or management. Just use what you already have in place and get going. Our goal at VMware is to allow you to maintain globally consistent infrastructure and operations, while ensuring that you have the flexibility to run any of the apps and services that your engineers or business units require, anywhere you do business. Together – accelerating and streamlining your ability to run solutions such as Azure Stream Analytics to your edge sites will allow you to take business intelligence to a whole new level.

Best of all, we are just getting started. Stay tuned!