Container orchestration includes the process and tools used to manage a fleet of containers along their life cycles, including how they interoperate and communicate with one another on a broader scale. These processes are often managed by container orchestration platforms.
Learn more about containers
Why is container orchestration beneficial?
Without container orchestration, scaling the use of containers would exponentially increase the amount of work required to manage them. When containers begin to multiply into the thousands within an organisation, managing them can be very time-consuming. As a result, the benefits of efficiency and speed that containers can offer would effectively be canceled out.
Container orchestration has become largely automated to streamline the work required to spin large numbers of containers up and down.
Container orchestration can also help with:
- Standardization, security, and governance that large enterprise organisations will need when implementing container strategies.
- Resource management and stabilization. Get better visibility into and management of how resources are used and allocated.
- Logging and analytics. Visibility and insight can help you get a bird’s-eye view of your application.
- Simpler, smoother scaling for enterprise container environments.
- Improved availability and redundancy.
What do container orchestration platforms do?
Container orchestration platforms can automate the steps of managing a container workload, including:
- Provisioning
- Deployment and scheduling
- Cluster management
- Load balancing and resource allocation to ensure compute resources are optimised
- Security and monitoring to help spin up another container if one fails or replace container images to patch a vulnerability
- Container networking, which allows other containers and services to talk to one another
- Database services and access
An orchestration platform can be told which processes it needs to do and when, taking many tasks off developers’ plates.
What are the most popular container orchestration platforms?
There are many container orchestration platforms to choose from. The one you should select will depend on the requirements of your applications, how versed your team is in containers, your cloud strategy, and the complexities of your security and compliance needs.
Some popular container orchestration platforms include:
- Kubernetes
- Platforms built on top of Kubernetes (e.g., Mirantis Kubernetes Engine, Azure Kubernetes Service, IBM Cloud Kubernetes Service, and Google Kubernetes Engine)
- Amazon Elastic Container Service (ECS)
- Apache Mesos
- Red Hat OpenShift Container Platform
Do container orchestration platforms handle data storage?
When it comes to container storage, the ability to run stateful workloads such as databases weren’t a priority when containers were first introduced. Containers would be spun up, perform their workload, and disappear.
But as the complexity of container workloads increased, so too did the desire for stateful apps, and therefore, persistent data storage. People wanted persistent storage that could continue to be reused and accessed by future container instances once initial workloads were completed.
Rudimentary workarounds appeared, like the ability to expose the filesystem of the host to the container via volumes. But while volume plugins were once the answer, today there are better ways.
Enterprise-grade container-native persistent storage solutions such as Portworx® can be used to deliver data storage to a cluster of containers in Kubernetes. The ability to provision external storage on demand has proven to be a game-changer that opens up the possibilities of containerized apps.
What is Kubernetes?
Kubernetes is one of the most popular container orchestration systems. What makes it so critical to deploying containerized apps at scale? Automation.
When you have thousands of containers or more, managing container sprawl and complexity is much more feasible with a container management platform. Kubernetes streamlines and automates aspects of container orchestration so DevOps teams can seamlessly orchestrate complex container-based architectures. It can even make decisions for you about where workloads should run and move them if they’d run better elsewhere.
Learn more about Kubernetes