Container technologies have achieved wide usage and recognition for standardizing software distribution and deployment processes and decoupling these processes from actual software development. With the emergence of microservice architectures and cloud-native applications, container technologies have reshaped the way people develop and deploy software applications. Container orchestration systems address key issues, such as how to manage a large number of containers and the interactions between them. Google Kubernetes and Docker Swarm are two popular examples.
Alibaba Cloud Elastic Container Instance (ECI) provides container groups that have basic container resource scheduling capabilities for container orchestration systems. The container orchestration systems are still required to address service dependencies and interactions among containers. This topic describes the role of container groups in container orchestration and the major interaction methods between container groups and container orchestration systems.
Container groups form a hierarchical architecture with container orchestration systems. Container groups schedule and manage underlying container resources, whereas container orchestration systems manage business workloads in containers of the container groups. With the container groups managing the underlying infrastructure of containers, container orchestration systems do not need to manage individual containers, such as their location and startup. Alibaba Cloud’s mature infrastructure ensures that container resources are available at any time.
Container groups can work with container orchestration systems in either of the following modes:
- ECI only
- ECI with Elastic Compute Service (ECS)
Container orchestration systems can be built entirely based on container groups provided by ECI to take advantage of their fast startup and per-second billing system. In this scenario, all business applications in containers run on the container groups. Container orchestration systems only need to handle container dependencies and interactions to ensure the stable running of your business.
Container orchestration systems can allocate constantly running business workloads to your own servers or ECS instances. This helps to maximize the use of existing resources and to reduce costs. Short-term traffic surges can be handled by container groups provided by ECI, taking advantage of their elastic scaling and rapid deployment. When traffic increases, the container orchestration system can quickly add containers to the container groups to meet the increased demand. When traffic decreases, the container orchestration system quickly releases container groups to reduce costs.