Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Hosted-services / AWS

Alibaba Cloud Container Service vs. Amazon EC2 Container Service vs. Azure Container Service

2.00/5 (1 vote)
2 Jan 2018CPOL5 min read 4.6K  
Many organizations look for a container management tool, or a Container-as-a-Service(CaaS) solution like Alibaba Cloud Container Service

Alibaba Cloud provides a comprehensive suite of global cloud computing services to help power and grow your business. Create an account today and get $300 in new user free credit.


Containers have increasingly become the preferred way to run applications at scale in the cloud. Yet when running applications in production, organizations leave nothing to chance. They want to build the most reliable and efficient infrastructure possible—And most of all, they want to be able to manage that infrastructure with ease. That’s when many organizations look for a container management tool, or a Container-as-a-Service (CaaS) solution like Alibaba Cloud Container Service.

The Case for CaaS

Four years since it broke on the scene, Docker is still a new technology compared to virtual machines (VMs). Containers require a completely new toolset. Unlike consolidated tools to manage monitoring, security, and configuration management, the Docker toolchain is more fragmented. It consists of many single-purpose tools that are integrated together to provide a holistic service. Many of these tools are open source and are designed to work in an ecosystem rather than on their own. Running and managing Docker on your own is easy at the start, but soon, it’s easy to get overwhelmed with the number of moving parts and components to be integrated and kept up-to-date. When making a transition from the relatively static world of VMs to the dynamic setup of containers, you don’t want to sacrifice ease of use. This is where a CaaS platform comes in. It gives you more control by letting you manage containers from a single pane of glass. Since the CaaS solution is fully managed by the vendor, you can simply use it without worrying about maintenance. The biggest advantage of using a CaaS solution is that it lets you focus on building your app and adding new features, and takes away the infrastructure woes that often stall software development.

When you start the process of choosing the CaaS solution that’s right for you, the options are numerous and can become overwhelming. But when taking a look at how each solution is architected, and the approaches taken towards managing containers, the strengths and weaknesses of each solution become clear. Let’s look at some of the most popular CaaS offerings and see how they compare with Alibaba Cloud Container Service.

AWS EC2 Container Service (ECS)

AWS ECS is a popular CaaS solution. According to a recent survey, it has about 32% adoption among companies that run containers in production. The survey goes on to say that most ECS users are experimenting with multiple solutions. Currently, 46% of ECS users also use Kubernetes, and 35% of them use Swarm alongside ECS. These numbers show how early we are in the evolution of container solutions, and how open users are to trying multiple solutions until they find the one that’s right for them.

ECS runs Docker containers on top of EC2 instances, and installs an ECS agent within every active container instance. The ECS agent handles execution of tasks within the container instance. It uses AWS ECR as its default container registry, but can also use Docker Hub as its registry.

The biggest reason you’d want to choose ECS as your CaaS solution is if the majority of your infrastructure runs in AWS, and you just want to test the waters with containers. However, once you start running production workloads, ECS can get quirky.

The biggest drawback with ECS is that it doesn’t provide native support for Kubernetes. Instead, ECS leverages third-party distributions from Kops, or CoreOS Tectonic. While this works, it sacrifices developer productivity by adding more complexity to the stack. This may change soon with AWS recently joining the CNCF, but as of now, it is a dilemma for both ECS and its users.

Azure Container Service (AKS)

Azure has some things in common with ECS, like running containers on top of Azure virtual machines, and not charging for the AKS service and only for Azure resources like compute and storage. AKS, however, is ahead of ECS because of its better integration with Kubernetes. Azure uses open source, upstream Kubernetes distribution, and simplifies the management and maintenance of master and agent nodes. It provides automatic upgrades and is easy to get started, requiring just three commands to standup a new Kubernetes cluster. These features are new additions to Azure, as it has just begun to focus on providing Kubernetes as a service.

Alibaba Cloud Container Service

Alibaba Cloud Container Service brings the best of CaaS into a single compelling solution. Alibaba Container Service is similar to the previous two in that it also runs containers on top of its Elastic Compute Service instances, and charges only for the resources used, not for the container service itself.

Alibaba Cloud Container Service supports both Swarm and Kubernetes, and has very good integration with Kubernetes. It supports upstream Kubernetes distributions, and as a member of the Cloud-native Computing Foundation (CNCF), Alibaba is closely involved with the evolution of Kubernetes.

It’s a no-brainer to try Alibaba Cloud Container Service—There is a free trial with a free trial with a $300 credit, which is more than enough to try one of your apps in production for a couple of weeks.

In conclusion, the market for CaaS solutions is wide open, with the core technologies just taking shape, and users desperately looking for ways to easily get started and simplify the management of Docker containers. While there are many CaaS solutions available, you’re better off choosing one that supports both Swarm and Kubernetes, and uses open source distributions of these tools so you’re not locked into the vendor’s implementation of Swarm or Kubernetes. Alibaba Cloud Container Service is uniquely positioned to meet this need as container usage continues to grow.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)