Container Orchestration Discussion
Docker Compose is useful for simple unit testing in development mode.
To run Docker containers in production, container orchestration is needed.
What benefits does orchestration provide?
- Starting and stopping services
- Health check and dependency management
- Auto scaling a container to multiple nodes
- Service discovery (without awareness of the number of nodes running)
Orchestration Options
These details may be out of date. I have not explored these options in a while.
- Docker Swarm
- This is a paid service of Docker
- At one time, Swarm was going to be deprecated. It may have been un-deprecated at some time in 2020.
- Kubernetes
- Created by Google, now open-source
- An open source standard implemented by multiple vendors
- More complex and more powerful than docker-compose
- Amazon EKS - AWS implementation of Kubernetes
- Amazon ECS
- Amazon implementation of containerization resembling other AWS services
- Deploy applications on Amazon ECS using Docker Compose