The growing potential of Alibaba Cloud
Cloudreach Cloud Systems Developer, Omar Tarabai recently delivered his first Alibaba Cloud project. Here, Omar shares some of his experiences using the growing platform and identifies its potential, especially in the Chinese market.
Recently at Cloudreach, we had the opportunity to work with a customer who wanted to use Alibaba Cloud as the platform for their latest software targeted towards consumers in the Chinese market. We have long-standing knowledge and expertise working with AWS, Azure, and GCP and were excited to establish a relationship with Alibaba Cloud in mid-2017 and add it to the list of offerings for our customers. We delivered a solution built exclusively on Alibaba Cloud using Infrastructure as Code (IaC) and, in addition, the whole team passed the Alibaba Cloud Professional certification exam.
Alibaba Cloud (also known as Aliyun, yun meaning cloud in Chinese) is a subsidiary of Alibaba Group. It reports more than 1 million paying customers with an annual revenue run rate of $2.1 billion. It operates in 18 regions with 49 availability zones, of which eight regions and 32 availability zones are in China; with some regions in China having six or seven availability zones. A new London region was announced in September 2018 but is not yet available for use.
For customers operating in Germany, Alibaba partnered with Vodafone to be a reseller there. Vodafone manages and offers technical support for Alibaba’s Frankfurt region. In our experience, the services available through the Vodafone portal are less than the ones offered through the Chinese or international portals. With technical support going through Vodafone and then to Alibaba’s main technical support, this also meant an increase in response time.
The international portal of Alibaba Cloud offers a wide range of services that should be enough for most business needs. Particularly for customers moving from AWS, there are lots of similarities in the services structure and APIs, to the point that we were able to use AWS S3 tools to work with OSS (Object Storage Service, Alibaba’s file storage service) because of shortcomings in OSS’s client-side tools.
Alibaba Cloud pushes more for the use of Subscription-based payment plan which is equitable to server and services reservation commitments in AWS/Azure/GCP. Almost all resources can be paid for upfront for duration in months or years with an option to auto-renew the subscription.
Elastic Compute Service (ECS)
The most notable service offered is the Elastic Compute Service (ECS) which is comparable to AWS EC2. It offers more than 30 type families of instances including burstable, memory-optimized, compute-optimized, GPU and bare metal instance types. You can create OS images for ECS by creating snapshots from a stopped instance or use Hashicorp Packer which is what we opted to do to create images with applications baked in to be used in combination with Elastic Scaling Groups to speed up the starting time of new instances.
Server Load Balancers (SLB) and Elastic Scaling Groups (ESG) have their own separate services from ECS. However, they can be integrated with ECS in a manner similar to AWS EC2.
In comparison with AWS EC2, ECS (along with SLB and ESG) is missing a few features that can make your life easier. For example, ESGs do not support any form of rolling update. To achieve that, we had to implement custom scripts as Terraform provisioners. ESGs do not self-heal on SLB health check failure, only on ESG health failure (which basically means the instance is not running), making self-healing on application failure impossible without implementing it yourself. ECS also doesn’t support features similar to AWS EC2 spot instances, placement groups or systems manager.
AsparaDB refers to the range of data storage services offered by Alibaba Cloud. This includes RDS (MySQL, Microsoft SQL Server, PostgreSQL), MongoDB, Redis, Memcache and a time-based database service that is available only in China. With RDS you can also create databases, users and attach user permissions through the console or API/CLI which is more than what AWS offers in that regard.
For container-based deployments, Alibaba Cloud offers two types of container clusters as part of its Container Service - docker swarm and Kubernetes clusters. Alibaba Cloud takes care of provisioning and managing the master instances for both cluster types.
For the purpose of our project, we implemented a docker swarm cluster running several applications, each with one or more docker containers on them. Applications can be completely defined using a Docker Compose file with Alibaba-specific labels for SLB routing, session stickiness, logging configuration, etc. This worked nicely for our purposes and satisfied our requirements for the backend Docker-based applications.
Infrastructure as Code
At Cloudreach we aim to use Infrastructure as Code wherever possible. For that purpose, Alibaba Cloud offers Resource Orchestration Service (ROS), a service very similar to AWS CloudFormation, that can be used to define Alibaba resources as JSON templates. We opted however to use Terraform which provides a plugin for Alibaba Cloud. During the course of the project we needed to develop additional capabilities that were missing from the Terraform provider, some were developed internally at Cloudreach and others were done by Alibaba’s team in Frankfurt.
- During development, we bumped into timeout issues and downtimes from the APIs which sometimes lasted for up to an hour, this caused unnecessary delays for the project team.
- There are some features and even services that are not supported by the official CLI tool so we had to implement some workarounds using the API or just ended up having to use the web console.
- Each service needs to be activated individually and manually through the web console before it can be used, which adds another list of manual steps to be completed when provisioning a new account.
Technical support was very helpful in resolving issues that we had with the platform. We received excellent support from Alibaba’s team in Frankfurt which even included developing features that we needed in the Terraform provider for Alibaba.
Alibaba Cloud’s growth, in a relatively short period of time, is very impressive and the breadth of services and capabilities on offer should be commended. It still lags behind the three big public cloud providers when it comes to a comprehensive range of offerings and platform stability outside of China. However, for companies wishing to enter the Chinese market, it should definitely be considered and even seen as a complementary addition to an AWS/Azure/GCP cloud strategy. Alibaba’s plans to expand globally should also be followed closely as it is likely that they will look to differentiate themselves in some way.
Submitted by Omar Tarabai, Cloud Systems Developer at Cloudreach