With the help of containers, the number of intelligent 'IOT' devices operating at the far edge of the network (outside of the traditional data centre boundary) is growing exponentially. However, centrally managing and maintaining the software that runs on these devices is particularly hard, demanding some very specific functionality, particularly when the devices run in ‘hostile’ environments.
Portainer is a GUI-based Kubernetes and Docker operating platform that gives you the ability to deploy and manage containerized apps on remote devices in unique ways.
Once you’ve got your app up and running, Portainer will let you:
To get started, all you need to do is install Portainer in your environment, which is a simple process easy if you follow these instructions. Once you’ve got Portainer up and running and your app up and running the process of setting the rules is straightforward
This customer has many hundreds of manufacturing sites distributed globally with each site responsible for one or more elements of their product manufacturing. Each sites has an ‘edge concentrator’ deployed locally, which is either a standalone Docker host, or for larger sites, a collection of hosts. The edge concentrators run the software that manages the IOT devices deployed at each site, which include surveillance video cameras, temperature probes, vibration sensors, humidity sensors as well as software that controls specialist robotic equipment.
The customer wanted a solution that allowed them to deploy their application software to their edge concentrators from a centralized location. They needed to be able to be able to deploy apps even when their edge concentrators are connected over unreliable or high latency network connections and be able to support the management network being unavailable for periods of time. They also needed a way to perform actions on the remote edge concentrators underlying host operating system, such as installing Linux updates.
The customer selected Portainer because of its ‘edge compute’ features, coupled with the Portainer Edge Agent which gives them the remote deployment features they need
To solve the customer’s problem, the Portainer Edge Agent is deployed to all the site-concentrators and a single instance of Portainer is used to control the deployment of software. The Edge Agent ensures sites connected over high latency and/or via unreliable links can be accessed when needed.
The Edge Agent determines:
With Portainer in place, the IT Ops team is able to group edge Devices into ‘edge groups’ and use dynamically assigned tags to programmatically define what gets deployed when, where and how. Edge groups are a mix of simple combinations ‘site 1’, ‘site 2’ and more complex definitions, eg ‘all Devices from all sites in Asia, except those in Laos’. The deployment of applications is based on Docker Compose files, and includes multi-arch images, as some sites are based on ARM architecture and others on Intel’s X86 platform.
The Ops team is also able to leverage Portainer’s ‘Edge Jobs’ feature, which is a centralised cron-scheduler, to deploy jobs to remote edge concentrators. The jobs include regularly running ‘apt-get upgrade’ to check for and install Linux Updates. The jobs also include a regular reboot of the nodes to clean up any memory leaks that may have occurred.
Portainer has become a critical element to the customer’s IOT/Edge deployment and is proving to drive significant productivity gains for the IT team