FOG COMPUTING FEATURE NEWS

Developing for IoT Devices on The Edge

In today’s world where businesses are depending heavily on their technology investments to help them respond more quickly to user expectations and market changes, DevOps is a natural fit. Through the adoption of the DevOps philosophy, organizations are able to ensure that high-quality, updated and secure software is made available to end users and customers very quickly. This is done by leveraging closer and collaborative efforts to ensure that continuous delivery is achieved while satisfying end user expectations. This approach has been incredibly beneficial thanks to the rise of cloud native applications and the shifts toward the use of microservices in an effort to rapidly deploy applications at scale. With the growth in the Internet of things (IoT), the scale and deployment cycles of the software supporting the edge devices that perform the functions, data collection and data delivery brings an even greater level of complexity to DevOps. In this article, we will take a look at three tips to equip developers and IT organizations with what they need to enable enterprises to be IoT-ready: implement good processes for rollouts, embrace microservices, and ensure security in all areas.

“It’s all about the process”
The internet of things from a technology perspective means that you are going to be connecting an incredibly large number of diverse “devices” in order to receive and share information. These devices can be almost anything like sensors, smartphones, medical or industrial equipment and more – it’s seemingly limitless. What all of these have in common is the fact that they all are going to need software in order to function. Very often, this software must be developed and updated very quickly in order to keep up with the expectations of the users that depend on these IoT devices, whether they are commercial users or consumers. DevOps is well positioned to meet the challenges that IoT presents thanks to a reliance on communication and feedback loops that are used to deliver applications – or software – at high velocity. IoT devices are all about feedback as they are constantly collecting and sharing data. DevOps leverages this data collection and feedback to inform development of new requirements that can be incorporated into controlled, rolling releases or updates. Another DevOps practice that supports the success of IoT is that of continuous testing. IoT devices often demand a fast pace of software updates and releases, and the best way to support this pace while also ensuring the quality of any software releases successfully is through automated quality testing. Automation is a core tenet of DevOps and with the massive scale of devices and the data these devices will be collecting and processing, automation of quality control will be critical to the performance and reliability of IoT devices.

“At your microservice”
Microservices arose as a way to break away from cumbersome, monolithic applications that have become far too complex and rigid. These applications are incredibly difficult to scale effectively and performing any updates requires sometimes months of development cycles – the antithesis of DevOps. A microservices application architecture breaks down application features into smaller, modular pieces that are far easier to build and maintain than the application as a whole. Additionally, APIs are the interfaces used to expose the functionality of a microservice to perform a particular function. APIs are essential to the development of IoT applications because each can be developed independently so that application updates and deployments can be done at a much faster rate. Also, microservices allow for far greater scalability of an application, which offers massive value to IoT deployments where the proliferation of IoT devices and the data they collect can reach a scale that would utterly overwhelm and greatly limit the reliability and effectiveness of a more monolithic application architecture. Microservices and APIs are almost tailor made for DevOps because they allow for the application to go through much more rapid and continuous release cycles, and the developers of these loosely coupled services are also responsible for their maintenance and operation. For these reasons, a microservices architecture and DevOps can help ensure the success of IoT applications.

“Security is not an option”
One of the major pros to the internet of things and IoT applications is that they introduce a level of scale that is almost breathtaking – this is also one of the major cons of IoT. Thousands of interconnected devices that collect and share data across a vast and oftentimes public network means the potential for a massive number of security vulnerabilities. With every new technology, there’s always going to be questions about security, and IoT is a prime example of this. Unlike more traditional software development practices that can treat application, data, device, or network security as its own function that is outside of the responsibility of the development team, DevOps treats security as part of the continuous development cycle. A major challenge with IoT applications and the vast number of connected devices that support them is ensuring not only a consistent and rapid delivery of software updates, but also ensuring that these updates are tested to account for any compliance or security concerns. DevOps processes incorporate security determinations from design to development to deployment. This is going to be critical for any IoT efforts and will go a long way to guaranteeing their success.

About the author: Philipp Schöne is Product Manager at Axway for the Axway API Management Product. He works closely with customers to help them adopt an API First approach to their integration strategies as they extend the boundaries of their enterprise to incorporate new cloud and mobile channels. With a strong background in API Management, Architecture and SOA Security he also advises Axway partners and Customers on their cloud integration, API and identity management capabilities in order to advance the development of the Axway API Solutions.