EdgeOps Fundamentals: What is EdgeOps?
The Eclipse Foundation launched its Edge Native working group in December 2019. Since then, I have been working with its members to drive our strategy and vision forward. At the time, we decided to build a code-first working group aiming to streamline production Edge deployments through EdgeOps. This is still true today.
When we say we are a code-first working group, we mean that our focus is on open-source code projects. Yes, architectures and blueprints are interesting, but we will always root the ones we publish in the first-hand experience gained from solving specific problems stemming from large-scale production deployments. It is easy enough to connect a few nodes in a lab; deploying hundreds of nodes at remote sites is something else. And to tackle the issues related to edge infrastructure at scale, you need EdgeOps.
So, what is EdgeOps? It is simply an adaptation of DevOps for the Edge. DevOps, which brings together an organization’s development and operations teams, transformed how we build, test, and deploy software. DevOps aims to shorten a system’s development life cycle (SDLC) through continuous delivery without impacting quality.
While DevOps and EdgeOps are relatively close to each other, there are a few key differences between them. This means Edge developers have specific requirements that EdgeOps-compliant platforms need to address. Let’s review a few of them.
1. Edge developers need special tools and libraries
Edge developers use the same integrated development environments (IDEs) and programming languages as their Cloud counterparts but need tools and libraries supporting Edge applications. In particular, they need to interact with hardware, such as actuators and motor controllers, which is edge-specific and requires the use of specialized field protocols and field bus technologies.
2. Heterogeneous hardware
The overwhelming majority of Cloud servers rely on the 64-bit instruction set implemented by Intel and AMD. Processors leveraging Arm’s 64-bit architecture are more common but still rare. At the Edge, the Arm instruction set is dominant, and processors based on the RISC-V architecture are increasingly popular. 32-bit systems are still widespread; of course, 8-bit and 16-bit microcontrollers are also at the core of many deployments. Moreover, developers need to work with specialized hardware such as field-programmable gate arrays (FPGAs), Artificial Intelligence (AI) accelerators, and vision processing units (VPUs). Each of those requires specific software components.
3. Software packaging and deployment
While containers are the preferred option, edge developers must deal with microcontroller binaries, virtual machines, and serverless functions. In most cases, it is not desirable to fetch those artifacts directly from the Cloud, meaning that artifact repositories need to be distributed. This entails additional security measures and custom configurations, of course.
4. Deliberate update staging
Many edge applications are mission-critical, meaning that software bugs and failures can have serious consequences, including the loss of human lives. Given this, updates can only happen at precise times of the day or if other nodes can take over the workload in the interim. Naturally, this favors incremental rollout strategies. Edge Computing platforms also need to automatically roll back failed nodes to their last known good state in case of problems. Of course, edge deployments are managed and secured remotely through network connections that are often unreliable and offer limited bandwidth. This has implications for Edge Computing platforms.
5. Edge-specific capabilities
EdgeOps professionals must deal with several edge-specific issues, such as video camera rotation, maximum tolerable network latency, and compatible processor architectures. EdgeOps platforms need to take those issues into account.
In my next post, I will explore what IT challenges edge computing can help you solve and the implications this has onEdgeOps.
If you wish to learn more about EdgeOps, please look at our full white paper on the topic.
All Edge of Things contributors belong to Eclipse Foundation member organizations or are Foundation staff.