Container orchestration versus Docker
For a self-contained development environment, it’s pretty easy to use a tool like Docker to launch a container and start working. This approach works to a limited extent on production systems, but it doesn’t take full advantage of containers.
In fact, if you’re containerizing an existing complex stack, separating functions into containers and keeping them on the same machine might be a good transition state. A fully containerized application stack is much easier to split into orchestration systems piece by piece. The basic job of a container orchestrator is to manage the state of containers to respond to incoming workloads. This includes many things such as load balancing and scaling, networking, storage, scheduling, deployment, and more.
We use orchestrators in a production-ready application, especially if the application is based on microservices and a complex distributed system deployed across more than one container...