RTOS Containers for the Intelligent Edge
At Wind River, we’re moving on several fronts to achieve one key goal, which is to help embedded systems developers make better software, faster. For example:
- Our debut of Wind River Studio introduced a new cloud-native platform for the development, deployment, operations, and servicing of mission-critical intelligent systems.
- VxWorks became the first and only real-time operation system (RTOS) to support C++17, Boost, Python, and Rust.
- With Wind River Labs, we share innovative new technologies such as, for VxWorks, the Robot Operating System 2 (ROS 2) framework and Internet of Things (IoT) software development kits (SDKs). We have IoT SDKs for Amazon Web Services (AWS), Microsoft Azure, and Google Cloud.
Now I want to tell you about another initiative that we’ve been working on that will change the way embedded real-time systems are developed and deployed.
Container Time!
Real-time systems are being incorporated into larger and more complex environments every day. A fighter jet, for example, is built with many different compute systems, which could potentially be running different operating systems. (I discuss this fighter jet example further in this video, which you should really check out, but the same principles apply to self-driving cars, automated factories, and any number of other scenarios.)
The question is, how do we accelerate the deployment of software on such large systems? How do we make the deployment process uniform so that there’s no workflow change from one subsystem to another? The answer that we envision is a containerized local infrastructure—or edge cloud—in the plane, car, or factory, ready to serve the software for the various subsystems. That edge cloud in turn connects to another cloud, which allows you to push information and software updates in order to manage and orchestrate your heterogeneous software subsystems.
To pursue this vision, we're introducing support for Open Container Initiative (OCI)-compliant containers in VxWorks. These containers will give you the ability to use the same type of cloud infrastructure, the same type of tooling, and the same type of workflow as you would use for any other application in a more traditional IT type of environment. With container support, the RTOS world becomes more intelligible to modern application developers, IT methods, and DevOps sensibilities.
VxWorks containers work with the Wind River Studio cloud, enabling deployment and management of applications at scale across heterogeneous systems using a unified technology. For the first time, an RTOS becomes a “full citizen” in a cloud-native infrastructure.
Challenge Met
There’s no way that we could just add Docker to VxWorks, if only because of the footprint problem. The VxWorks container runtime has a footprint of less than 100 KB, compared to the Docker footprint of something over 2 GB. That’s four orders of magnitude of difference! When you add container management into the mix, VxWorks is still under 400 KB. The challenge was not only to work in a small footprint, but also to preserve the deterministic and certifiable environment at the heart of the VxWorks RTOS.
From a tooling point of view, it was imperative to not have to use anything different. So we locked on Buildah, using it as it is. Nothing extra!
This means the time is rapidly approaching when you won’t need a VxWorks expert to deploy VxWorks applications, but rather you’ll be able to deploy at scale with standard IT tools and methods.
Want to learn more about our vision for the intelligent edge? Check out this paper.