Containers And IoT — A Match Made In The Cloud
In an era in which the channel is navigating tectonic technological shifts, solution providers have been closely watching two rapidly emerging technologies associated with almost every significant IT infrastructure disruption of recent years.
Application containers and the Internet of Things both were thrust into the limelight about three years ago — after Docker introduced its groundbreaking Linux container runtime, and industry standards began to emerge for the networked devices that make "smart" our homes, cars, workplaces, hospitals, civic infrastructure and factories.
Precedents for both technologies had been around for decades, and while the near-simultaneousness of their mainstream breakouts was largely coincidental, IoT and container tech have since become intricately connected with each other and with all the other major trends in enterprise computing: cloud, mobility, big data and security.
[Related: Container Tech: Get On Board!]
"Containers are not just the foundation for IoT applications," said Sushil Kumar, CMO of Robin Systems, a container-focused software developer based in San Jose, Calif. "They are a key enabler."
Those game-changing technologies, especially when coupled together, are widely expected to have even more long-term consequences for how applications are developed, deployed and maintained throughout their life cycle, creating tremendous business opportunities and very real risks for solution providers.
IT pros were quick to recognize that the independently emerging technologies fed nicely into each other, achieving a synergy that had implications across the IT landscape, Kumar told CRN.
"Two key characteristics of IoT applications are enormous scale and extreme data-centricity," Kumar said.
Such applications -- collecting from remote devices, storing and analyzing what can amount to hundreds of petabytes of data -- must be capable of scaling well beyond standard web applications, he said.
And application containers, for which Docker has largely become a de facto standard, enable modern microservices architectures that naturally accommodate such scale, according to David Messina, senior vice president of marketing at Docker, San Francisco.
Containers also are inherently optimized for running applications on endpoint IoT devices in the field, which have limited resources and typically can't support "heavy" operating systems, Messina told CRN.
They're extremely portable across devices and require little resource overhead to operate because, unlike virtual machines, they don't need to run their own instances of an operating system, he said.
IoT implementations, from home electronics to medical devices to massive industrial systems, all rely on three components of infrastructure: the endpoint devices in the field, connectivity to data centers, and then the actual back-end computing systems.
Gartner estimates more than 20 billion interconnected devices will be deployed by 2020. Creating an environment for the front-end software running on those billions of devices is where container tech holds unique promise, said Aater Suleman, CEO of Flux7, a systems integrator based in Austin, Texas.
"That’s the real game-changer," Suleman said. "The front end is where containers really shine with IoT."
The endpoints themselves -- be they mobile devices, remote sensors, or actuators -- present the greatest challenges as far as developing software, managing updates, and making sure those updates don't cause catastrophic failures.
"Phones fail. Now imagine a device that doesn’t have a screen," Suleman said. "Or if you have thousands in the desert that don’t have a screen or a cable attached. Think about the challenges of delivery of software to those devices."
Because Docker containers are inherently portable and lightweight, they offer an elegant solution to those problems, he said.
Containers can run on client and server, and updated software can easily be sent to devices as container images that are "pretty much guaranteed to work at their destination," Suleman said.
While containers are also gaining traction powering back-end infrastructure, Suleman said, that's less due to a unique characteristic of the technology, and more in line with a larger, more-systemic shift. Because IoT applications are inherently greenfields, they are likely going to employ the latest-and-greatest technologies.
"IoT and Docker kind of coincided in time and the combination of the two makes it look like Docker is being used more in IoT," he told CRN. "But anyone starting after 2014 is automatically starting at Docker."
Robin Systems’ Kumar said that container technology has become the cornerstone of front-end IoT applications that follow microservices architecture.
Employing containers for those use cases "not only allows quick application dev and deployment, it also enables extremely rapid application scaling as new containers can be brought up in seconds," he told CRN.
But the back-end performance benefits also are significant, he said, where IoT applications running on shared servers have to deal with sophisticated data pipelines comprising messaging, search, NoSQL and big data technologies.
Robin Systems offers a product, the Robin Containerization Platform, specifically designed to maximize the speed, efficiency and agility of back-end data pipelines by leveraging containers, Kumar told CRN.
"Containers enable quick deployment, scaling and consolidation of these applications on shared hardware to ensure best performance, best hardware utilization, and the same degree of data agility that they provide to the front-end application," Kumar said.
Jeff Dickey, chief innovation officer at Redapt, a systems integrator based in Redmond, Wash., told CRN what most distinguishes container tech in the world of IoT could be its ability to facilitate frequent software updates of individual microservices.
Dickey called attention to one IoT application that has particularly captured the public imagination — self-driving cars.
"The compute power of autonomous vehicles is tremendous," Dickey said. "They're the equivalent of small data centers."
The emergence of so-called smart cities represents a further ramping of scale, requiring even greater compute and data resources, and more continual patching.
For those cutting-edge applications, containers are the natural choice because they lend themselves so well to continuous integration/continuous delivery processes that developers rely on to keep complex, distributed applications always up-to-date and running smoothly.
That's why "containers will be the default application distribution model for many of the billions of IoT devices coming online," Dickey told CRN.