Applying DevOps Practices to IoT Development
Resin.io believes containers can promote rapid development.
- By Dan Kusnetzky
Resin.io founder and CEO Alexandros Marionos and President Bryan Hale dropped by to discuss the challenges of development for Internet of Things (IoT) applications, and how using rapid development and testing tools can make the difference. What they had to say was interesting.
As we see the proliferation of inexpensive but powerful devices such as the Rasperry Pi, IoT appears to be getting a great deal of attention.
Devices meant for deployment as part of an IoT environment present many challenges for developers. The devices are often small and have very limited resources (memory, storage and even processing power). While these devices are an important part of IT's future, there are few standards for development and deployment.
Developers often want to use a (growing) list of tools that includes Java, Python, Ruby, one of the many variations of the "C" language, or even assembler. The development support environment for each of these tools is different. While there are code management tools that can be helpful, they often don't include the concept of working with a herd of different types of devices.
Delivering applications to these devices can also be a difficult problem to solve. Each type of device might use a different microprocessor, different OS, and have a different mechanism for uploading and maintaining applications.
Virtualization Tools to the Rescue?
Despite how early we are in the IoT lifecycle, enterprises want to use rapid development tools and approaches. They want to be able to create and deliver virtual environments, then use them to deliver applications and application updates.
Resin.io believes that putting applications or application components into containers and delivering the containers to the devices will address many of these problems, and promote rapid development.
The company believes that developers should be able to use the language and libraries of their choosing, the base Linux OS they'd like to use, and still maintain control of the environment using modern management, application distribution and monitoring tools.
The company also believes that each device should be accessible by a device number; and that once the application image has been developed, the device should be able to start up, configure itself and get to work. It should be possible for developers to set up the application environment for each device and manage them over the network.
Quieting IoT Fears
Resin.io's approach for Internet-based management and security is really interesting, and should help quiet some fears enterprise managers have about IoT deployments.
I like the fact that the company is offering a free trial mechanism for the first five devices, making it possible for enterprises to get their feet wet without getting soaked. I also like the idea of creating application or service-focused containers; it's an interesting approach to development.
Check it out if you're planning an IoT proof-of-concept.
Daniel Kusnetzky, a reformed software engineer and product manager, founded Kusnetzky Group LLC in 2006. He's literally written the book on virtualization and often comments on cloud computing, mobility and systems software. He has been a business unit manager at a hardware company and head of corporate marketing and strategy at a software company.