All opinions shared here are my own and not those of my employer.
Recently I have received and been testing the new Jetson Mate from Seeed Studio. Having been immersed in Edge Computing for the last decade, I get a first-hand view of trends from the field. Frequently, the observations of market changes represent fundamental shifts which have great impact across the industry.
Based on my experimentation with the Jetson Mate, I am pretty excited at the potential for next-generation Edge Computing designs to make use of Kubernetes to help build resilient, self-healing systems that can run under harsh conditions and handle extreme workloads with ease. I believe that edge clusters, similar to Jetson Mate, represent a new and better way of building solutions at the edge.
In today’s article, I am going to write about an important fundamental shift that I am seeing happening at the edge:
The popularity of containers and Kubernetes combined with steeply declining costs for COTS modules is having a profound impact on how hardware systems are being designed at the edge
Before I talk about how Kubernetes is causing significant changes to edge hardware, a little history lesson on how embedded systems used to be designed.
Embedded systems designers used to focus on combining components together on a common base board and then having those components (sensors, I/O, Wi-Fi etc) talk with one another directly. This approach made a lot of sense when you were dealing with a single processor talking to it’s own dedicated peripherals.
Here is an example below of a common system.
However, as the costs of individual computers has fallen, designers are increasingly able to pack many small computers together, each dedicated to managing a specific sub-system of an edge solution. More often than not, we are seeing “COTS” (Commercial Off The Shelf) modules showing up at the edge rather than purpose built industrial computers of yore. You can read my article on this topic here to understand it further.
As a result of these shifts, designers are now building what can only be called “Networks In A Box,” where each module is assigned a unique IP addresses and the local cluster is managed via Kubernetes. This has many advantages, and represents a fundamental shift in mindset.
This results in configurations such as the Seeed Jetson Mate, which packs four Jetson NX modules into a box.
These new types of systems are a perfect fit for light-weight Kubernetes installations such as K3S, and can now begin to host “High Availability” Clusters capable of self-management, load balancing and self-healing. Another advantage is that many modules can share the same I/O, allowing common peripherals to be shared across many modules in a box.
Self Healing Systems / High Availability Kubernetes
If you aren’t familiar, “High Availability” Kubernetes is a configuration where you offer three systems that can automatically self-heal if one or two of them fail. I believe that clusters such as Jetson Mate, Turing Pi and others can and should be architected to achieve this behavior.
Paving the way for heterogeneous clusters
To date, most designs have focused on building racks of the same type of module (such as the Turing Pi). However, I am already seeing early signs of what comes next: Designers want to mix and match modules. Some modules for motor control, some for networking, some for AI – All in the same box, all managed by K3S, all with their own IP addresses.
I imagine a design which combines two Jetson NX devices running two separate AI workloads paired with another, low-cost maker board running as the “Master node.” Any of the nodes can also run as Master and restore the others if needed.
It is time to stop thinking about edge systems as individual computers but as networks of computers packaged into edge boxes. I recommend experimenting with High Availability clusters at the edge for all future edge designs, this is the future!