Building IoT Applications with Containers

Building IoT Applications with Containers

At DockerCon earlier this month, Docker and Arm announced a joint venture in which new Docker-based solutions will be available to the Arm ecosystem. Docker and Arm touted this synergy as a way for developers to leverage containers, both remote and on-premises, in an easier way. There will be a common software pipeline, in addition to shared delivery and production frameworks. The new Docker/Arm solutions will support apps written in a range of programming languages, including C++, Python, JavaScript, Java, Ruby, Go, Rust, and PHP.

What’s in it for Docker Users?

This strategic cooperation makes sense for both companies. But what does it mean for developers and customers? Before I answer that question, let’s first discuss the Internet of Things (IoT). IoT is a network of smart devices, such as environmental sensors, medical trackers, home appliances, and industrial devices. Arm delivers IoT solutions to several verticals, including financial, energy, and manufacturing. The Docker/Arm platform will make it easier to build modern microservices-based applications that can be deployed in IoT environments.

Docker and Arm claim that the IoT data that reaches corporate networks from sensors and meters slows down the network. A container-based development might be able to speed up the process and make it more efficient.

Previous to this technical collaboration, developers had to build containers on the Arm platform on an Arm-based server. They will now be able to build their applications for the Arm platform directly from their x86 desktops. They can then deploy them to the cloud, (including the Arm-based AWS EC2 A1 instances), edge, and IoT devices.

Arm points out that with solutions like AWS’ EC2 A1, organizations can achieve substantial cost savings — up to 45% compared to x86-based architectures — when running containerized apps.

What Changes are in Store for Developers?

Docker claims that only a few changes are necessary. Developers apparently don’t have to learn anything new to make this work. Docker essentially emulates an Arm chip on the PC for building these images and all the usual Docker commands will still function.

In many cases, cloud-native Linux applications deployed through Docker’s Enterprise Engine can run unmodified, or with a simple recompile.

Where does Aqua Come into the Picture?

Image scanning is a crucial step to enforce security in containerized environments. Aqua supports the scanning of Arm images. We provide advanced, architecture-agnostic scanning features, including malware, sensitive data, and vulnerability detection in image file systems and application packages. Make sure to include this security step as part of your development plan in this platform.

Moving Forward

The container industry is growing at a tremendous rate and the number of IoT devices is expected to reach 10 billion by 2020. It will be interesting to see the role this platform will play in those trajectories.  

Liran Kogan

Liran was a Product Manager at Aqua Security.