Bridging the Cloud and Embedded Developer Worlds
Embedded developers haven't followed the same path as traditional software developers. Cloud-native technologies like containers can bridge both worlds.
Join the DZone community and get the full member experience.Join For Free
Embedded developers haven't always followed the same path as traditional software developers. However, the introduction of cloud and cloud-native technologies like containerization is bringing these two groups together. Embedded developers seek the benefits of Linux and containers, and the proliferation of IoT devices means we need to expand talent in both directions.
In a recent interview with Mitch Ashley (@techstrongGroup) of TechStrong TV, Ricardo Mendoza (@ricmm), CEO of Pantacor, discussed his vision of bridging the embedded and cloud developer worlds together through an open-source platform with containers and DevOps for IoT developers.
Why Do We Need To Bring More Cloud-Native Capabilities to the Embedded World?
According to Ricardo, for some reason, embedded development split from what everybody else was doing. When most people were developing websites and advancing cloud applications and other services, embedded developers looked at items like Wi-Fi routers in your home or cable modems and set-top boxes. Most people take those items for granted that they just work. Very few people, even engineers, think about what is actually inside of those devices.
As we're converging on an increasingly connected world with billions of connected devices, most of these devices will no longer be single functional and instead will need to be multifunctional. When this occurs, you not only need developers to create the services and the software, but you'll also require a way to update and manage these devices and keep them reliable and secure. And because of the nature of embedded development today, engineering and maintaining embedded devices is often manual and error-prone.
"Cloud infrastructure has diverged from the embedded world. The two haven’t really evolved together over the past several years. That's why we founded Pantacor because we thought, for that convergence to realistically happen, there need to be the right tools available for the ecosystem of developers that exist today," says Ricardo.
What’s Unique About Embedded Development?
There are many differences between embedded and cloud development, notwithstanding the space and memory restrictions. However, one of the main issues encountered in embedded development is installing the software onto the box or the device. Any Linux distro that you use also needs to be vertically integrated and built specifically for the board and the application. When everything is highly customized in this way, it's challenging to scale that across your business.
In the past, development was somewhat more straightforward because of the fact that embedded devices often did only one thing. For example, a router only needed to route data, but now routers do many things. There may be parental controls added to it, and even perhaps some home automation. With the traditional way of doing embedded development, you'd have difficulty scaling your single-function device into a multifunctional one.
Cloud-Native Technology Democratizes Embedded Development
To fully realize the Internet of billions of things, a standard set of tools need to be available that can be used by millions of available developers. This includes open source technology like Kubernetes and containers, as well as Agile development strategies and workflows that enable all developers, not just embedded teams, to create new and innovative applications for the Internet of Things.
“In the cloud world, the OS is somewhat ephemeral and isn't even something you need to talk about. The OS is just there, it's in the cloud, and you run your workloads on it. This is where we need to get to with embedded computing before we see a smart everything world,” says Ricardo.
Click here to watch the entire interview.
Pantavisor Linux leverages containers to build modular containerized embedded Linux systems that are fully customizable and easily managed with standard open source technologies. The portability of containers simplifies the lifecycle management of embedded Linux firmware and applications across IoT fleets. Virtualization at both the system and application levels also allows for embedded Linux engineering teams to adopt Agile and modern cloud-native methodologies such as microservices and other automation strategies to secure device fleets, speed up time to market and increase innovation.
Published at DZone with permission of anita buehrle. See the original article here.
Opinions expressed by DZone contributors are their own.