In our last post on How DevOps drives business in PES, we briefly touched on the key differences between DevOps for connected devices and DevOps for pure play IT. It was shown that when it comes to product engineering, the physical component and existing legacy systems add an extra layer of complexity to the overall automation process.
In this post, we will elaborate further on the key differences between DevOps in IoT companies and pure play IT, and the specific challenges that teams working in IoT and connected devices are trying to address to achieve a smooth transition to DevOps methodology.
Development Pipeline
A company operating in the IoT space, more often than not, recruits teams with diverse skills-set and operations, given the vast variety of hardware and software that they have to deal with. Such a diversity usually leads to the creation of multiple small teams and a very fragmented development pipeline, with each team working in phases.
To introduce and leverage DevOps tools and methodology to such a team, there is further need for aspects like culture, team synergies and processes that need to be addressed on a case-by-case basis.
Conversely, a company that is purely IT focused, has the advantage of a lean development production line along with streamlined processes and a culture conducive to ensuring smooth DevOps adoption.
Product Pipeline
In any IoT environment, the set of end points change fast when compared to a software or a cloud-based company.
When talking about software-based companies, while the OS and the screen might change, the delivery of the product is still limited to a handful of devices such as mobiles, TV or tablets.
In an IoT company, on the other hand, the product pipeline varies substantially. With not only different types of devices, but different generations of each such device and varied interfaces, the challenges faced by an IoT company when setting up a DevOps system is bigger than what is imagined.
At any given time, a company dealing with millions of live devices and multiple virtualized test environments need to be able to deploy successfully across a variety of devices. The DevOps methodology, when applied to IoT, needs to take into account the various end points to be able to set up a befitting BVT (build, verification, test) plan.
Automation
When talking about automation, the biggest difference between an IT and an IoT company lies in WHAT has to be automated. In an IT company, the automation has more to do with processes where continuous delivery is achieved through automating the software and creating a BVT process or what in DevOps is known as Infrastructure as Code (IaC).
In an IoT company, however, it isn’t just the software that needs automation but the entire production environment. In order to achieve test delivery in time, the entire environment needs to be virtualized and automation has to be executed with simulation and physical devices. In order to automate the workflow in an IoT company, there is a need to move from Infrastructure to Environment as code.
Legacy Systems
Cloud-based companies like Uber or Netflix have reduced dependence on legacy systems. For them, DevOps, thus, is a fairly straightforward affair.
For a company without cloud legacy, however, DevOps has far-reaching impact since there is continued dependence on legacy systems. The legacy products that cannot be cut off for a few years to come, and those clubbed with cloud, creates the need to manage, update and maintain existing as well as newly added devices. While this does naturally increase the complexity when introducing DevOps in the mix, it also makes for all the difference when DevOps practices are implemented correctly.
Release Cadence
In a pure play IT company, software can be released and distributed as often as needed and across as many platforms at any given time.
In IoT, on the other hand, the large number of components involved in both the cloud and the physical realm have very different release cycles, thus, making a unified release plan a huge challenge.
In Summary
There is no-one-size-fit-all solution which would work in DevOps environments. Every company has its own unique set of hurdles to overcome depending on its culture, legacy and devices. We can talk about the same technology where DevOps in PES is concerned but what makes the real difference is how we can fit of the tool to a specific environment.
To know more about how eInfochips can help you transition to environment as code download our white paper on DevOps Services for the Age of Connected Devices or get in touch with us directly on marketing@eInfochips.com