Container Platform

CategoryArchitecture Component

Container Platform is an orchestration engine for automating the process of developing, packaging, deploying and managing system containers. Without such technology, containers would still be distributed and portable but lacking an ability to scale to enterprise needs.


Component Overview


Container Management at Scale

Container Platform adds a management layer to operating system kernel virtualization, such that allows promoting containers through the lifecycle from development to production, and operating them effectively.

Once assembled into a portable package, containers need to be validated, integrated, thoroughly tested and made ready for staging. After having proven their stability and performance, containers can be promoted from staging to production, with an option to safely rollback in case any issues come up.

Container Management, or orchestration layer creates a number of abstractions that represent the operational environment: deployed containerized applications and workloads, their associated network and storage resources, namespaces, etc. In addition, such layer provides the following key functions:

  • Deployment — transition containers from initial to target state at a controlled rate.
  • Replication — maintain multiple container instances encapsulating stateless applications.
  • Job Scheduling — execute sequential or parallel jobs and assign containers to cluster nodes.
  • State Management — maintain identity and ordering of containers encapsulating stateful applications.
  • Cluster Management — control cluster nodes and resources to match the pre-configured target state.
  • Overlay Networking — automatically assign addresses to the containers on the overlay network.
  • Load Balancing — distribute incoming work requests among container instances in the cluster.

One of the key advantages of container orchestration over standalone containers is that system administrator can modify a managed service configuration, including the networks and volumes it is connected to, without the need to manually restart the service. Container Platform will update the configuration, stop the service containers with the out-of-date configuration, and create new ones matching the target configuration.

Some examples of Container Platforms are Docker Swarm, Kubernetes, OpenShift, Marathon and Nomad.

container

Container orchestration is a technique of automating the deployment and operations of multiple containers that implement a business application.

Containers are lightweight operating system virtualization units sharing the same kernel but isolated from each other, bundling their own runtime environment, application, tools, libraries and configuration files.

A service, or micro-service in a Container Platform is an abstraction which defines a logical set of containers and associated system resources, and a policy by which to access them.