Container orchestration
Izuma Edge offers an open, standards-based and interoperable mechanism to securely and efficiently package, deploy and manage IoT applications from the cloud to distributed edge devices securely and efficiently.
Linux container-based systems such as Docker have become a standard way to package and ship applications for reproducibility and portability. They are a natural fit for gateway-based devices. Among existing server-side cluster management and application deployment frameworks, Kubernetes is the most popular system. An IoT-optimized Kubernetes or container runtime is the clearest path forward for edge computing. Due to the extensibility and modularity of Kubernetes, you can achieve most edge-related customization without changing the core orchestration engine, and maintain API compatibility. There are also several features, such as fault tolerance, extensibility and open ecosystem, in the Kubernetes internal architecture that make it highly suitable for Izuma Edge.
Izuma Edge provides a subset of standard Kubernetes features and edge extensions:
- Deploying containerized applications to gateways (Pods, or groups of containers with the instructions needed to run them and any shared resources).
- Orchestrating a deployment of applications to every gateway as a utility for each gateway (DaemonSets, which automate running a Pod on multiple Nodes).
- Configuration data management (ConfigMaps, plaintext key-value pairs of nonconfidential information).
- Secret management (Confidential information, such as tokens or login details, stored in encrypted key-value pairs).
- Gateway local data storage (Persistent Volumes and Persistent Volume Claims, storage that remains past the life of the Pod, and resources set aside for that storage).
- Offline application support.
To read about using network policies to securely separate containers, please see the security documentation.