The Pantacor engineering team recently merged a pull request in the Device Update for Azure IoT Hub repo that integrates Pantavisor and allows teams to deploy containers for IoT device fleet updates. We sat down with the founders of Pantacor, Ricardo Mendoza (@ricmm) and Alexander Sack (@asacasa), to discuss why this integration is vital for the future of the Internet of Things and the embedded developer community.
#1. What is the significance of Pantavisor integrating and supporting the Device Update Azure IoT Hub?
At Pantacor, we make Linux open-source core technology that enables the Linux Embedded Ecosystem to go the next mile to deliver value and features securely to the end-users of these devices. An essential part of that is to provide a solution available to as many users as possible. We believe that Azure Device Update (DU) shows that the Azure team thinks similarly and offers users to operate their devices from the cloud.
The landing of Pantavisor into the Device Update product is a clear signal of the need for modernization in the embedded software development world. Azure IoT Hub and Device Update provide a feature-rich experience that shares our commitment to taking the embedded Linux industry to the next generation. In addition, container management through Pantavisor can offer module software lifecycle management and operational tools that were not within reach of the embedded industry before now.
#2. Pantavisor Linux is an embedded framework for building containerized systems for IoT. When you think of Linux containers, some might argue that this is an old technology that Docker superseded. So what does Pantavisor bring to Linux containers and the embedded development world that Docker has not done?
Docker, LXC, and others are just container runtimes. Instead, the conversation should be about what embedded needs. That is usually lifecycle management and a ready-to-go solution to exploit the benefits of container technology but with the needs of embedded as the priority.
Pantavisor Linux provides a streamlined container management experience for embedded workloads and use cases, vastly different from what you would experience in the cloud.
It’s less about “this container or that container” and is more about “what do containers for embedded truly achieve.” In addition to this, Pantavisor Linux’s footprint is less than 2MB (without kernel), which is something that Docker does not meet. When we’re discussing the smart device edge, we are talking about “things” that have a very low resource footprint. Pantavisor meets that requirement.
#3. When building components/containers for your IoT fleets, how do developers today build the Device Update IoT Hub pipelines? Are there any plans to integrate with the Visual Code IoT plugin?
The good thing is that by offering the Azure DU for Pantavisor Linux, we enable our users to benefit from the fleet management tools that Azure provides and will continue to provide in the future. That’s also why we are excited to have our Azure DU Agent ready for users to try out and give us feedback.
Like many other developers, I also use Visual Studio Code for a few of our projects, and I love what Microsoft is doing here. I still use vi and emacs for minor opportunistic code fixes, but VSCode has been taking a solid place in our tooling throughout the day. Last time I looked, VSCode did not support DU, but if Microsoft added this feature, I would be the first to try and improve the experience for deploying Pantavisor Linux updates through VSCode.
#4. The vision for Pantavisor Linux is for embedded developers to build and share components for IoT. How do you see this operating?
First, traditionally, a Linux Embedded system was developed and treated as a single binary firmware, usually produced by a single team. Furthermore, systems were not meant to be updated OTA, so all that mattered was if it could be installed at factory time. Nowadays, hardware and software have become too complex and require diverse features to fulfill them with the traditional approach.
Instead, Pantavisor Linux offers a runtime and SDK that allows developers to collaborate more efficiently by breaking down the monolithic firmware into building blocks where developers can collaborate. The shareable building blocks are mainly: 1. the hardware enablement BSP (e.g., Linux Kernel and Pantavisor itself), 2. the middleware components (like graphics and Bluetooth frameworks) that offer standardized APIs for 3. the applications that implement the user experience.
#5. Which components do you think would be shared the most? Is this industry-specific?
Most companies build IoT solutions in a highly customized manner, which means that initially, the primary shared and open collaboration needs to happen at the BSP and Middleware layers. Pantavisor supports this evolution by providing a managed system runtime that allows collaboration around exactly those pieces.