Containers / Edge / IoT / Contributed

How MicroK8s Helps Deployment to the Internet of Things

16 Dec 2019 8:00am, by

Ammar Naqvi
Ammar Naqvi is product manager at Canonical, the publishers of Ubuntu, for MicroK8s. Prior to joining Canonical, Ammar held product management positions at Microsoft, Zoom and Nokia. Ammar is also an advisor to a blockchain startup and teacher at Product School. He holds a Masters in Computer Science and an MBA.

The Internet of Things (IoT) will grow to 5.8 billion enterprise and automotive endpoints by 2020, a 21% increase from this year, Gartner forecasts. Clearly, the IoT is moving from futuristic hype to real-world operations.

However, an elephant in the room always looms over IoT projects: the complexity of developing, managing and updating IoT applications. IoT comes with multiple infrastructure considerations: how to collect data from disparate devices and sensors, transmit it through various networks, process it in the cloud, and integrate it with existing back-end systems.

This complexity, which organizations often underestimate, can delay IoT projects as developers become bogged down in dealing with underlying infrastructure instead of building applications with business value.

A great solution lies is containerization, which has taken the IT world by storm in recent years. By decoupling applications from the compute, storage, and networking environments they run in, containerization enables development teams to deploy software quickly, efficiently, and at scale, and do so anywhere, whether in a private data center, the public cloud, the edge, or a single laptop.

Treating IoT devices like distributed containerized applications can work wonders in allowing developers to focus on applications rather than infrastructure and make life easier for operations teams facing a maelstrom of configuration and update tasks in the IoT.

It’s common knowledge that Kubernetes has rocketed in popularity as the No. 1 orchestration platform for container-based applications, automating the deployment and scaling of these apps and streamlining maintenance chores. However, Kubernetes comes with its own complexity challenges. Simply put, it’s far from simple to use.

So how can an enterprise take advantage of containerization to tackle IoT complexity and not end up with yet more complexity headaches from Kubernetes?

MicroK8s is a powerful, Cloud Native Computing Foundation-certified Kubernetes distribution that does neat tricks for the IoT. A single Kubernetes package with a small disk and memory footprint, MicroK8s initially was built for offline development, prototyping, and testing of Kubernetes apps on a desktop before deployment to the cloud. However, it has become a powerful enterprise tool and grown its chops as an edge computing platform.

One reason for MicroK8s’ facility at the edge is its ability to be delivered as a container-like snap — app packages for desktop, cloud, and IoT that are easy to install and secure with auto-updates — and installed on any one of the 42 Linux distributions that support snaps. This makes MicroK8s ideal for running on the vast variety of hardware that comprises the IoT. It can even fit on a Raspberry Pi, giving developers access to a low-cost board powerful enough to orchestrate workloads at the edge with MicroK8s.

For edge clouds with a handful of servers, MicroK8s lets you cluster Kubernetes installations together so they can form a single cluster and place workloads on one or more of these nodes. In essence, that means you can break the cloud up into mini-clouds and distribute them anywhere to process and manage IoT data.

A second reason is a new feature in MicroK8s designed for edge computing called strict confinement. This ensures complete isolation from the underlying operating system and a tightly secured production-grade Kubernetes environment, all in a small footprint ideal for edge gateways. As a result, MicroK8s add-ons can now be deployed securely at the edge with a single command, in less than a minute.

A third reason is MicroK8s comes packed with potent, production-grade add-ons — such as Istio, Knative, CoreDNS, Prometheus, Jaeger, Linkerd, Cilium, and Helm — that are simple to set up, with just a few lines of commands. These add-ons make MicroK8s a complete enterprise Kubernetes package in a small footprint.

In addition, Kubeflow is available as an add-on to MicroK8s for improved artificial intelligence (AI) and machine learning (ML) capabilities. This is important because AI and ML models are needed to help manage IoT devices and gain insight from the data pouring from all these endpoints.

With MicroK8s, developers can quickly set up, develop, test, deploy and scale AI and ML applications.

With its ability to amplify Kubernetes productivity, and reduce complexity MicroK8s is a uniquely interesting technology for accelerating IoT and edge deployments.

Feature image via Pixabay.

A newsletter digest of the week’s most important stories & analyses.

View / Add Comments

Please stay on topic and be respectful of others. Review our Terms of Use.