Developers are builders at heart. Many have also ventured into the IoT — an evolving space ruled by microcontrollers, sensors, and various other software-driven microelectronics. Accordingly, the Raspberry Pi has become a favorite “command center” for developers running simple applications. We’ll discuss how these applications have steadily grown more dynamic, and how containerized deployments have solved multi-industry complexities. You’ll also learn what exciting possibilities await for Pi-driven IoT projects.
Unlocking Sophisticated Deployments
These Pi devices can support powerful data-driven workloads — like tracking global vaccination rates, or monitoring weather changes (among others). And while running tasks on a few devices is manageable, complexity does grow with scale. This challenge was once pretty mighty across numerous devices.
Marc Pous recently showcased how containers can enable deployments of 100,000+ IoT devices. He also demonstrated that the Raspberry Pi can readily replicate and distribute containers. Consequently, it’s possible — with a little help from your desktop — to pull an image and push containerized services to your IoT fleet.
Luckily, you can also secure a base Raspberry Pi 4 Model B for about $30 USD — though current shortages might make it tricky. Nonetheless, the financial barrier to entry is low, and developers like Marc have now unraveled the technical mystery. Technology that was once complicated has become much more accessible to developers.
Marc’s example leveraged the Kerberos Agent (install it yourself here) — a free and open-source project that transforms IoT devices into security cameras. Typically, each Kerberos Agent requires its own separate host. Marc’s streamlined deployment method, alternatively, leveraged multiple Docker containers linked to a single Docker host. Kerberos outlines this process within its documentation.
You can use Docker Desktop to efficiently manage these containers. Installing Desktop equips your machine with core dependencies and enables Docker CLI commands. By entering
docker run --name camera -p 80:80 -p 8889:8889 -d kerberos/kerberos, Marc pulled the Kerberos official image from Docker Hub and quickly spun up his container.
From there, he described how to harmoniously use Balena Cloud, Docker Compose, and more to scale your IoT deployment. You can do this from any machine. This solution also works with numerous device types, brands, and deployments. While that use case is interesting, how does it fit into the bigger picture?
Expanding to Other Real-World Applications
IoT applications span countless industries. Manufacturing, agriculture, energy, logistics, healthcare, urban planning, and transportation (among others) rely on IoT devices daily. Each device can generate significant amounts of real-time data. Developers can help companies capture it and uncover insights or form new strategies. Meanwhile, hobbyists can continue to explore exciting new use cases without needing elaborate setups or resources.
Users have purchased over 40 million Raspberry Pi units since launch. Just imagine if even a fraction of those users focused on IoT development. We could see countless, horizontally-scalable solutions emerge.
Over 14.4 billion active IoT endpoints may exist by the end of 2022. Additionally, some expect IoT adoption to surpass 75 billion by 2025. If you’re a developer in this space, you have to feel really good about the possibilities — especially as chipset supplies recover. The capacity needed to scale is, and will be, there.
Investments into “Pi-oT”
Developers from the world’s largest organizations have already embraced Raspberry Pi computing. Back in 2019, Oracle unveiled the world’s largest Pi supercomputer, made using 1,060 clustered Pi boards. NASA’s Jet Propulsion Laboratory (JPL) has also used these boards during Mars missions. If developers entrust this hardware with such critical workloads, then we’ll likely see expanded usage across varied, large-scale deployments.
Massive vendors like AWS have also embraced containerized IoT. In December 2019, AWS IoT Greengrass v1.10 added support for Docker container images. This lets you use Docker to scale to edge devices. AWS still actively maintains Greengrass (now v2+), and has documented how to use IoT-centric Docker containers.
Solving the Puzzle
Overall, IoT uptake is rising quickly. Containers give developers a platform-agnostic way to expand IoT deployments, minus the obstacles from previous years. Marc’s earlier example proved something important: that IoT development and positive developer experiences can go hand-in-hand.
The right tools and workflows are crucial for helping you manage IoT complexity at scale. You can then focus on innovating, instead of grappling with every piece of your deployment. Want to dig deeper? Discover how to harness Docker alongside Microsoft Azure IoT Edge, or learn about containerized deployment via balenaOS.