Discover Edge Devices Intelligently with Akri in Kubernetes-Powered Edges

We are republishing this blog here. Earlier, it was published on RTinsights.

IoT is growing fast, and so too the need for edge computing that enables the processing of information closer to IoT devices. Kubernetes is the proven and disruptive open source technology for operators and developers that addresses operational and technical concerns of managing tons of applications deployed at the edge. Today, we have several Kubernetes distributions like K3S, KubeEdge, or MicroK8S that you can use to get started quickly to deal with edge requirements.

Edge nodes are devices that are of different scale. There are heavy edge servers that sit at one department in case of industrial IoT or in the stores in a retail chain. A light edge server is a small server that is connected to end IoT devices. Heavy and light servers can be a part of a Kubernetes cluster because of the hardware capacities they have. But it is hard for end IoT devices to become part of Kubernetes clusters, which are dedicated to a single function and host small embedded applications to gather data. For example, take sensors or video cameras. It is important that these devices be a part of Kubernetes architecture so that outputs can be obtained via edge or cloud seamlessly.

With the growing number of such edge devices, it becomes harder to manage subsequent edge servers that host Kubernetes clusters. The addition and removal of new devices cause more work to operators. They must find and allocate resources and monitor availability within the architecture. Also, at some point in time, you will need to add more servers to handle more edge devices. Such issues call for better intelligence for edge devices that will handle the presence of edge IoT devices in Kubernetes clusters. Akri does that. It is an open-source project released by Microsoft.

The Akri framework helps expose IoT devices as resources and creates services for each device in Kubernetes clusters. That makes it possible for applications to consume the inputs from the devices. Akri handles the automatic inclusion and removal of IoT devices, as well as the allocation and deallocation of resources to better optimize the clusters. With the power of Akri, it is possible to add as many IoT devices dynamically and inferencing nodes to process data from those devices.  Moreover, you can seamlessly introduce a new server environment when there are more requirements to add edge IoT devices.

Akri supports the handling of network-connected IoT edge devices like IP cameras, controllers, PoS (point of sale) terminals, and devices connected locally through Kubernetes nodes such as USB-connected sensors. It schedules the workloads based on the availability of devices at the Kubernetes cluster. It uses the abstraction layer that is like a Container Network Interface (CNI). But instead of abstracting the underlying network details, it removes the work of finding, utilizing, and monitoring the availability of devices. Thus, drastically reduce the amount of work done by Kubernetes admins and developers.

Akri is based on the Kubernetes device plugin framework, which is used by vendors for static resources allowing them to advertise their resources and monitor them without writing additional codes. Akri extends this framework to edge in an environment that has different sets of devices and various protocols to monitor and communicate with those edge IoT devices.

Akri Architecture

In a typical Kubernetes edge cluster, it adds four components: Akri Controller, Akri Agent (Kubernetes device plugin framework implementation), and two CDRs (Custom Resource Definition) (for configuration and instance). These components work together to find edge IoT devices and schedule workloads among those. The Akri agent can be deployed to each new worker edge node.

In a nutshell,

  • Akri handles the appearance and disappearance of edge IoT devices and schedule workloads in a cluster
  • Akri provides the interface where you provide the configuration using configuration CRDs, and Akri does the rest.
  • Operators are assured of high availability of edge nodes in case other nodes go down.
  • As Akri creates Kubernetes services for each edge IoT device, applications do not need trace state of pods or edge nodes.

You can contribute to the Akri project on Github and join the discussion on their Slack channel.

Conclusion

Using Kubernetes for edge is an exciting development that enormously enables consistency in application policies, end-to-end automation, and faster services deployment and scaling. Akri brings a more simplified approach that allows more control on all parts of the edge-enabled network and makes life easier for Kubernetes admins and developers.

 

 
Share:

Related Posts

6 Challenges In Going Cloud-Native - And The Perfect Solution

6 Challenges In Going Cloud-Native – And The Perfect Solution

Going cloud-native carries with it a number of challenges, but danger, properly harnessed, becomes opportunity. Check out this article to see what obstacles lie in your path – click here!

Share:
Hybrid Digital Infrastructure - An Analysis

Hybrid Digital Infrastructure: An Analysis

Keeping your digital infrastructure completely on-prem or completely cloud-based offers several advantages and disadvantages, but companies have started adopting the hybrid model for more flexibility. We analyze this new trend here – read on for more.

Share:
Cloud Native

What CTOs must know about Infrastructure as a Service

The benefits of IaaS are many, but using that tech correctly requires careful analysis. This article explores the factors that CTOs should be paying attention to.

Share:

[Infographics] What is the state of the Cloud in 2022?

In this infographic, we give an overview of the condition of the Cloud Industry, and take a look at the changes the past few years have caused.

Share:
Blog image - The Future of the Public Cloud

The Future of the Public Cloud

With the public cloud becoming integral to the success of businesses, knowing how it’s changing is vital. Trends, forecasts, and other forms of prediction are important to stay on top. In this infographic, we explore the trends and situations affecting the future of the public cloud. What conclusions can you draw from it?

Share:

Coming together at the Edge — Edge Computing, Networking, and Data Management

Devices are growing smaller and their processing capacity is growing exponentially. Now with cloud and edge technologies taking over bandwidths are getting wider and latencies are getting lower. This article highlights an edge ecosystem that can open up more opportunities for greater computational power.

Share: