Skip to content

Container orchestrators

Container - an application-centric method to deliver high-performing, scalable application on any infrastructure. Container image - bundles the application with its runtime, dependencies. Containers can be deployed from a specific image on many platforms, such as: workstations, virtual machines, public cloud etc.

Container orchestrators are tools which group systems together to form clusters where containers' deployment and management is automated at scale while meeting the requirements: - Fault-tolerance - On-demand scalability - Optimal resource usage - Auto-discovery to automatically discover and communicate with each other - Accessibility from the outside world - Seamless updates/rollbacks without any downtime.

Container orchestratration tools - Amazon Elastic Container Service
Amazon Elastic Container Service (ECS) is a hosted service provided by Amazon Web Services (AWS) to run containers at scale on its infrastructure. - Azure Container Instances
Azure Container Instance (ACI) is a basic container orchestration service provided by Microsoft Azure. - Azure Service Fabric
Azure Service Fabric is an open source container orchestrator provided by Microsoft Azure. - Kubernetes
Kubernetes is an open source orchestration tool, originally started by Google, today part of the Cloud Native Computing Foundation (CNCF) project. - Marathon
Marathon is a framework to run containers at scale on Apache Mesos and DC/OS - Nomad
Nomad is the container and workload orchestrator provided by HashiCorp. - Docker Swarm
Docker Swarm is a container orchestrator provided by Docker, Inc. It is part of Docker Engine. Most container orchestrators can:

  • Group hosts together while creating a cluster.
  • Schedule containers to run on hosts in the cluster based on resources availability.
  • Enable containers in a cluster to communicate with each other regardless of the host they are deployed to in the cluster.
  • Bind containers and storage resources.
  • Group sets of similar containers and bind them to load-balancing constructs to simplify access to containerized applications by creating an interface, a level of abstraction between the containers and the client.
  • Manage and optimize resource usage.
  • Allow for implementation of policies to secure access to applications running inside containers.

The managed Kubernetes as-a-Service solution: Amazon Elastic Kubernetes Service (Amazon EKS), Azure Kubernetes Service (AKS), DigitalOcean KubernetesGoogle Kubernetes Engine (GKE), IBM Cloud Kubernetes ServiceOracle Container Engine for Kubernetes, or VMware Tanzu Kubernetes Grid.