Over the years, we have witnessed a fundamental shift in how software gets developed and deployed in the cloud. Born-in-the-cloud web companies have moved to a much more agile way of working where continuous deployment and integration became the norm, and where these companies are able to introduce new functionality and features on a daily basis, with fine grained control to limit the exposure of these feature first to a subset of their customer base using deployment strategies like canary releases or a derivate like blue/green and other variants.
This transformation has helped these companies to create a competitive advantage so that they can rapidly check the viability of new functionality, collect user feedback and respond quickly to changing requirements. The introduction of full automation and DevOps methodology, has furthermore improved the complex social interaction that typically has plagued many complex product and service development in large scale organizations by breaking up traditional boundaries between product and business owners, R&D, IT and operations so that products can quickly move from business requirements to deployment and has allowed more flexibility in trying out new ideas in a fail fast way of working.
The innovation around Internet of Things (IoT) has built further on the evolutions started in the Web and mobile domain on providing the foundational technology building blocks on how to communicate with embedded devices at web scale, and in order to keep solutions viable, has pushed the boundaries of these technologies further and further to the edge of the network.
This evolution of decentralization has blurred the traditional demarcation between operational embedded technologies and IT technology. On top of these newly cloud native implementations of ultra-web scale communication/messaging infrastructure services, a new generation of services like software life cycle management (LCM), configuration management and orchestration are being developed, that borrows the same concepts as their well-established cloud DevOps counterparts but addressing better the enormous scale of IoT deployments, and their very heterogeneous and fragmented nature.
Our current way of working in the embedded software device space differs today fundamentally from this agile cloud methodology, due to the very nature of these devices themselves. Because of their very constrained nature in terms of CPU power, memory and storage, hard real time requirements and cost structure, these solutions tend to be optimized for very specific functions leading to monolithic firmware development running in specialized execution environments, typically stripped-down Linux distributions.
Embedded devices lack the uniform compatibility environment that has been addressed in the cloud by virtualization of compute - either virtual machines (VM’s) or containers, and networking. Typically, these development cycles are complex, lengthy, and require lots of validation around industry specific certifications, interoperability and standardization. Furthermore, the reluctance of introducing operational impact on the installed base hinders the deployment frequency.
This paper will focus on a subset of device types used today in the Cable industry as Customer Premise Equipment (CPE) equipment, more notably internet gateway’s and set-top boxes and their very specific nature, and tries to identify the current container technology landscape and their applicability for these types of embedded CPE devices.
It proposes a dual track approach with respect to separating out critical firmware functions and more agile customer facing functionality, avoiding a big bang approach and creating an architectural evolution path for the current existing legacy deployments.
It will further elaborate on the evolution of Internet of Things technology of the last years and it’s evolution from a centralized approach, towards a decentralization of this architecture towards the Edge of the network and the profound effects it has on improving user experience and customer intimacy for the next generation of IoT services, and the disruption it causes on the entire value chain.