Container Orchestration
Container isolated executable environment created from bundled application, dependencies and runtime that can run on any platform like desktops, VMs, Cloud etc.
Container Orchestrators are tools which creates cluster from group of hosts to make the applications
- fault-tolerant
- scalable on demand
- consume resources optimally
- discover and communicate with other applications
- accessible to external world
- update/rollback without downtime
Example Container Orchestrators
- Docker Swarm
- Kubernetes
- Mesos Marathon
- Amazon ECS
- Hashicorp Nomad
Container Orchestrators can
- make a cluster by bringing multiple hosts together
- schedule containers to run on different hosts
- help containers running on different hosts to communicate with each other
- bind containers with storage
- bind containers of same type into services
- keep resource usage in-check and optimize it when necessary
- allow secure access to applications running inside containers
Container Orchestrators can be deployed anywhere like bare metal, desktops, laptops, VMs, cloud etc.