Of the many complementary technologies that enable IoT (internet of things) deployments, there are none quite as critical as the distributed architecture commonly known as edge computing. Technically, edge computing and its concepts are nothing new. In the 1960s, the Apollo missions that brought humanity to the moon relied on a distributed network of mainframes (see Figure 1). One was located in Houston and powered the console displays in the Apollo Mission Control Center. The others were positioned at antenna sites in California, Spain, and Australia. Even in those early days of computing there was a need to position compute resources closer to the source of the data, which is, essentially, the definition of edge computing.
Figure 1: High-level overview of the IT infrastructure supporting the Apollo program
From DevOps to EdgeOps
Since those historic computational achievements, the internet and the cloud have radically changed the way we build, distribute, and consume software. More recently, a significant consequence of that change is the emergence of DevOps. DevOps is a set of practices that bring together software development and infrastructure operations.
DevOps was literally born in the cloud, an environment where homogeneous resources are available on demand at a large scale in a centralized fashion. The IoT and edge computing are literally the opposite: they are environments where distributed, heterogeneous resources can be deployed anywhere at a small scale and managed in a decentralized way. Thus, the emergence of what we refer to as EdgeOps.
EdgeOps in an adaptation of the DevOps approach to the IoT/edge environment (see Figure 2). It addresses the challenges of edge computing, takes into account the characteristics of edge computing solutions, and favors deployment approaches tailored to the edge environment.
Figure 2: EdgeOps is the Adaptation of DevOps for the Edge
Addressing Edge Computing Challenges with EdgeOps
IoT and edge computing positions resources as close as possible to the physical location of data. Thus, edge computing can greatly reduce the latency inherent to any system processing realtime data flows. In many cases, edge computing will also reduce the bandwidth requirements of an IoT use case. This makes the solution more resilient overall since the core functionality is preserved in the event of a network outage that makes the cloud or datacenter unreachable. Finally, IoT/edge makes it much easier to fulfil the data sovereignty requirements common in highly regulated markets such as healthcare and government. EdgeOps means agile teams of specialists will build and operate solutions on platforms that make it easy for them to solve each of the challenges we mentioned.
What about the characteristics of IoT and edge solutions? These have as much in common with OT (operational technology) as IT (information technology). IoT/edge nodes have a very long lifespan, calculated in multiple years, if not decades. They are heterogeneous; it is a given that the hardware platforms, sensors, and actuators used will change at some point of the solutions’ lifecycle. Moreover, edge nodes must often withstand harsh physical conditions: temperature swings, humidity, and vibrations are just three of the most widely threats they have to deal with. Finally, connectivity is also a huge issue at the edge. All the promises of 5G will not change the fact that edge solutions must assume the network will be unreliable and unpredictable. In this context, EdgeOps means that edge computing platforms are aware of the capabilities of the hardware and will ensure to deploy code that will be the best fit for those capabilities without the need for manual intervention.
EdgeOps in Action: What does it mean to traditional DevOps teams?
Most IoT/edge use cases, such as autonomous driving, public transportation, and industrial automation, have stringent requirements about the protection of human lives. The consequence is that EdgeOps teams must plan and execute deployments in a much more deliberate and predictable manner. The 2020 Eclipse IoT Developer Survey found most developers favor OTA (over-the-air updates) pushed from the cloud or a local component of the control plane. This, however, does not alleviate the need for careful configuration management and comprehensive recovery procedures. EdgeOps practices pay close attention to such concerns, and EdgeOps tools will assist teams by streamlining mass deployments of edge software components.
We at the Eclipse Foundation are firm believers in both the potential and future growth of this new methodology. Just as DevOps arose to meet the needs of development for the cloud, EdgeOps will grow in direct correlation with the ubiquity of edge computing and the IoT.
Frédéric Desbiens is the program manager for the Eclipse Foundation’s activities in IoT and Edge Computing. His job is to help the community innovate by bringing devices and software together. Frédéric holds an MBA in electronic commerce, a BASc in Computer Science and a BEd, all from Université Laval.