Assessing the Advantages of DevOps For IoT Performance Testing
DevOps is enabling the managers of the Internet of Things to bolster the rigor of quality testing and limit the lead times of deployment.
The term, a portmanteau of development and operations, refers to organizational approaches that combine elements of operational IT with software development.
DevOps initiatives offer organizations a number of advantages, including the ability to develop quality software builds faster.
In the world of business software, the value of DevOps and continuous development practices has been proven, said Bernd Ruecker, cofounder and chief technologist at process automation company Camunda. Continuous development involves incrementally integrating, testing and deploying new software features, rather than working in batches. Automation is favored wherever possible.
These practices accelerate product development by increasing quality (because of test coverage and automation) and velocity (by automation) while reducing time to value (given fast turnarounds) at the same time, he said.
“These practices can also be applied to IoT and Industrial IoT (IIoT) . . . and [lead] to the exact same advantages,” Ruecker said.
A DevOps framework is essential to anything related to IoT, said Blaine Pryce, vice president of sales, DevOps and cloud at MajorKey Technologies, a technology strategy, design and enterprise operations company.
“DevOps provides continuous improvement capability for the ever-evolving and often unpredictable landscape of the Internet of Things – providing continuous optimization and needed security standards,” Pryce said.
How DevOps Can Help When Dealing With IoT
Project managers dealing with all types of IoT and IIoT should be able to capture meaningful benefits, so long as the right DevOps processes have been procured from the outset.
“Using a well-designed automated DevOps toolchain, you can streamline security testing, performance testing and other testing processes that are much more difficult to do manually,” said David Linthicum, chief cloud strategy officer at Deloitte Consulting.
What’s more, deployment tools can deal with the complexity of pushing code and data out to thousands of devices, using automation to administer updates and checking they have the correct device configuration, Linthicum said.
The upshot is that DevOps improves stability and security while reducing deployment and operating costs.
As operational teams discover they are able to enhance IoT applications more frequently, complex deployments of connected technologies are also simplified, said Charles Coté, chief architect of enterprise architecture, Capgemini North America.
“As IoT and IIoT evolve . . . the speed of innovation and collaboration that DevOps provides is critical to scaling successful pilots for smart cities, smart farming and industrial plants,” he said. “The scalability, elasticity and fast application development cycles that DevOps offers are a prerequisite to deploying and maintaining complex ecosystems of IoT agents, firmware, gateways and edge compute nodes and algorithms.”
DevOps can be thought of as a facilitator or enabler for scaled IoT solutions, said Ashish Chaturvedi, a principal analyst with technology research and advisory firm ISG.
“A mature DevOps setup can make IoT systems more responsive and secure,” he said. “Through continuous monitoring and quick feedback loops, the quality of IoT applications can be continuously improved.”
The feedback mechanism is the common thread between IoT and DevOps, where these technologies complement each other extremely well, according to Chaturvedi.
An industrial IoT system, for example, required to monitor several field devices, is responsible for predictive maintenance and is required to raise functional alerts when things go awry, he said.
“Here, DevOps – through its CI/CD[(continuous integration/continuous delivery] – capabilities to deliver code changes more frequently and reliably, along with container mechanisms and orchestration capabilities – allows development and production teams to automate several aspects of the design to deploy in real-time, thereby keeping pace with the dynamic, IoT-powered industrial environment,” he said.
How DevOps Can Enhance IoT
The ability to automate IoT development means IoT applications can be deployed faster and in more repeatable ways, Linthicum said.
“This means that we’re focused on the capabilities of the applications and not as much on testing, security, deployment and operations,” he said. “And this means that the focus is on business purpose rather than the technical details.”
As well as continuous development and deployment, DevOps can enhance the time to market of IoT, said Jeff Strain, managing director in the technology consulting practice at Protiviti, a global consulting firm. “It allows for quick turnaround of planned and unplanned requirements, [such as] security breaches,” he said. “DevOps can enable usage of more robust technologies, [such as] automation, machine learning and artificial intelligence, to increase the speed of things and the ability for IoT solutions to correct themselves continuously.”
And combining reusability and agility for the sake of speed and improved user experiences increases market adoption of IoT-based solutions, according to Coté.
Challenges of DevOps for IoT
The cultural shift of DevOps is difficult for IoT builders and deployers , according to Linthicum. There needs to be a certain openness in exploiting DevOps methodology as well as the ability to communicate openly with the development and operations teams.
Coté agreed with this assessment. DevOps challenges for IoT are balancing power, responsibility, autonomy and alignment with stakeholders and team members, he said.
“Silos that may exist between various groups such as operational technology, information technology and marketing need to be removed and replaced with a culture that encourages shared goals and a common mission,” Coté said. “Adopting the use of a leading framework for enterprise agility, such as SAFe, will increase the probability of success.”
The Advantages of DevOps for IoT
Similar to a home automation system, such as Alexa, Nest, etc., a DevOps framework allows all pieces of the complex – and chaotic – IoT to work in harmony together, providing quality and timely adjustments to streamline all enterprise functionality and security, said Pryce.
According to Chaturvedi, the major advantages of DevOps for IoT, especially Industrial IoT, are the following:
- Automated scaling. A DevOps-enabled cloud setup can scale an IoT-powered system up or down, maintaining the supply-demand equilibrium. This also helps reduce energy usage by shutting down systems or reducing their energy intake whenever it makes sense.
- Improved quality. DevOps can implement various analytics models to measure and forecast the performance of the IoT application. Moreover, as DevOps fosters a culture of continuous interaction between the operations and development teams, developers gain a better understanding of real-world challenges and can work to make applications more efficient, earlier in the development cycle.
- Deep collaboration for quicker rollouts. DevOps enables a high degree of alignment between operations, development, production and quality personnel. This helps streamline the process of incorporating new features or changing existing ones based on IoT system-generated recommendations or client requirements.
- Complement security protocols. IoT setups already work on established and proven security standards. Still, there are places where a DevOps mechanism can prove to be worthy. For example, IoT points of entry are vulnerable and often exploited by hackers to disseminate misleading information.
Here, DevOps security tools can save the day by vetting inbound data from sensors.