Alibaba Cloud Container Service is a fully managed cloud container management service that enables you to efficiently run and manage Docker applications on a distributed cluster of Alibaba Cloud ECS instances. It replaces the need to install, operate and scale your container cluster infrastructure. Being a fully-managed service, Container Service helps you to focus on your applications rather than managing container infrastructure.
Supports one-click creation of container clusters
Enables orchestration of applications using Docker Compose templates
Facilitates graphical user interfaces and OpenAPIs
Offers configurable access to ECS servers running containers
Lets you customize security groups and VPC subnet rules
Launches containers on your ECS instances and ensures a high level of isolation
Compatible with standard Docker APIs and the Docker ecosystem
Supports seamless migration of applications to dockerized cloud platforms
Interoperates with APIs for third-party scheduled task delivery and system integration
Supports multiple hybrid cloud scenarios
Able to start massive containers in seconds
Supports different workloads including web/mobile, HPC, event-driven, etc
Lets you in seconds easily launch as many Docker containers as needed
Alibaba Cloud Container Service can be integrated with Server Load Balancer, VPC, and other cloud services, allowing you to manage container applications from the console or Docker APIs. The product maintains application availability by enabling you to scale your containers up or down as per your application's capacity requirements. This allows you to distribute traffic across your containers using Server Load Balancer. The product also offers orchestration, monitoring and self-healing of containerized applications.
You can launch as many containers as needed based on your business requirements. This streamlines your IT infrastructure and frees up time to focus on designing, building, and running containerized applications. Contain Service also allows you to view detailed container cluster information so that you can create or delete Docker containers as needed.
Effortless Cluster Management
Lets you create or delete a cluster in a region based on your needs
Allows you to select either classic network or specific VPC environment as per your business requirements
Multiple Server Hosting Modes
Allows you to dynamically scale ECS instances in a specified cluster
Lets you register an existing ECS instance to a specified cluster
One-stop Container Lifecycle Management
Network: Intercommunication between containers across different hosts with domain names defined by container name or hostname
Storage: Supports volume management
Self-Healing: In case a container goes down, the cluster launches a new one in its place
Monitoring: Facilitates monitoring of Docker containers and VMs
Scheduling: Supports cross-zone scheduling of highly available and automatic rescheduling from failure nodes
Routing: Supports forwarding of Layer 4 and Layer 7 requests and their binding to backend containers
Sub-account: Provides authorization management for the cluster
Compatible with Standard Docker APIs
Compatible with standard Docker Swarm and Docker Compose
Supports seamless migration of on-premises container applications to Alibaba Cloud
Flexible Scheduling Policies
Simplifies application delivery from development to production
Supports service affinity and automatic scaling of containers
Supports high availability and auto-recovery across zones
Offers open APIs for cluster and application management which can be easily integrated with CI/CD systems present on either on-premises or off-premises
Supports multiple application delivery models including rolling update, blue-green, etc., to ensure that the application remains up-to-date without any risks
Currently, Container Service is free of charge. Resources used in collaboration with Container Server (including Server Load Balancer and ECS) are charged separately.
ECS instances or Server Load Balancer instances automatically created from the Container Service or manually added are billed by their respective prices.
Below are a few application scenarios of Container Service.
1. High Traffic Websites
For websites which have a high volume of traffic and experience sudden short-term spikes, Alibaba Cloud Container Service provides auto-scaling of Docker applications in integration with Server Load Balancer which efficiently manages traffic peaks and maintains a consistent user experience.
ECS instances + Server Load Balancer instance to the container cluster + ApsaraDB for data storage
You can use WordPress or other container images to deploy a web application in one single click.
2. Creation of a Continuously Integrated System
As soon as a new application is launched in the market, there are a lot of steps involved in deploying the app from your codebase to the production site resulting in high overhead costs.
In such scenarios, Alibaba Cloud Container Service implements CI/CD pipeline which significantly cuts down cost as well as reduces time-to-market. This helps companies to accelerate application development, automate deployment and leads to a more stable product.
Steps to implement CI/CD pipeline:
1.Create a Docker repository of the automatic build in Alibaba Cloud Container Registry Service, and associate the source control management systems to GitHub or Alibaba Cloud Code.
2.Once code is committed, Container Registry Service will get triggered and build the Docker image automatically.
3.After creating an image, call back the API of the Container Service to update the container application.
3. Microservice architecture
1.Split a monolithic application into several microservices, and package microservices with Docker images.
2.Use Docker Compose to describe the configurations and dependencies of services.
3.Deploy applications with the selected Compose template.
Split an existing complex system into several microservices, and use one image to manage one microservice. Use the Docker Compose template to describe the dependency between services and their configurations.
Then select the orchestration template you created to create an application.
You can seamlessly manage Alibaba Cloud Container Service using developer resources including APIs and SDKs.
Using Container Service through Management Console
Alibaba Cloud management console provides an intuitive web-based user interface, which enables you to manage clusters of ECS instances and container applications. Using this console, you can deploy container application with Docker image or Docker Compose, and also operate application with logging, monitoring, etc.
You can refer to this simple Quick Start Guide to get step-by-step instruction on how to manage your containerized applications with just a few clicks.
Container Service API Reference
You can use APIs to create or manage container clusters and containerized applications. Here is the API Guide for Alibaba Cloud Container Service having a full list of available APIs.
These resources will help you understand how Alibaba Cloud Container Service works.
Below are the links to the documentation including APIs, SDKs, and other resources.
1. What kind of containers does Container Service support?
Currently, the Container Service supports only Docker containers.
2. How can I manage an application with microservice architecture through Alibaba Cloud Container Service?
In microservice architecture, applications are divided into different microservices. Each microservice acts as a process, connected to and deployed as a group of containers with the same Docker images and configurations. These containers constitute a "service" in the Container Service, and services constitute an "application" in the Container Service. To manage your applications through the Container Service, you first need to create an "application" from an image or an orchestration template. If the application is created from an image, the application is composed of one service. If it is created from an orchestration template, it is composed of a set of services specified by the orchestration template.
3. Why do I need to divide an application into different components when using Container Service?
The "application" is a management concept for the Container Service that is created from an image or an orchestration template. We recommend that you divide a complicated application into different components, so that the components can be deployed, updated and scaled more easily. Each component is composed of a group of containers with the same images and configurations called a "service" in the Container Service.
4. Does Container Service support external Docker image?
The Container Service has no restrictions on the Docker image if it is accessible on your server.
5. How does Container Service isolate the containers of different users?
The cluster and ECS instances are dedicated and not shared among users. For network isolation, the containers applications can be protected with Security Group in the classic network or private network in VPC environment.