Having worked in this industry for a long time, I am frequently asked: Which is better, AWS or Aliyun? What are the differences between them? What are their pros and cons?
In international markets, AWS stands as the industry benchmark for cloud servers; no one questions why one would choose AWS.
Although AWS’s services in the Chinese market are somewhat restricted, its status as an industry leader cannot be ignored.
Due to China’s unique market conditions, Aliyun is the dominant local provider with data centers both domestically and internationally.
For Chinese users, choosing between AWS and Aliyun has naturally become a necessary consideration.
I have been using AWS for four years, covering both international and Chinese services.
Recently, receiving credit support from Aliyun allowed me to explore its various services.
This finally gave me the opportunity to compare the two [Disclaimer: This comparison focuses only on services within mainland China].
Please feel free to point out any inaccuracies.
In-Depth Analysis
CDN
Aliyun’s standout feature is its CDN functionality, whereas AWS does not offer CDN in China.
However, from the feature list, it appears Aliyun CDN does not support behaviors (perhaps I missed it). If you need to perform operations like cookie/header/TTL/HTTP method manipulation on specific paths, AWS CDN (international) is relatively more robust.
Pricing
Regarding service pricing, let’s take RDS as an example:
0. Storage
Aliyun: 8 RMB/GB/year (Winner!)
AWS China: 10.32 RMB/GB/year
1. Cheapest Comparison (Annual Plan)
Aliyun: rds.mys2.small = 390 RMB, memory = 240 MB, Aliyun mem = 1200M, rds.mys2.standard = 1640 RMB
AWS China: db.t2.micro = 932 RMB, memory = 1G (Winner!)
2. Best Configuration for Production
Aliyun: rds.mys2.xlarge = 9700 RMB, memory 6G
AWS China: db.m3.large = 5681 RMB, memory 7.5G (Winner!)
Thus, for cloud-native applications like RDS, Aliyun’s pricing tends to be higher.
DevOps
In mainland China, I could not find DevOps tools equivalent to CloudFormation or Beanstalk on Aliyun (please correct me if I am wrong).
Third-party DevOps support, such as Ansible/Chef, also lacks native Aliyun integration.
Therefore, implementing global DevOps on Aliyun (automating from IaaS to PaaS) is very difficult.
On AWS, we can write resources like Auto-Scaling, Security Groups, and EC2 into CloudFormation (JSON files), then integrate Chef code to execute global DevOps.
This means infrastructure, runtime, and application deployments are controlled by code, including version management of application-to-environment parameters.
In Aliyun’s scenario, while similar results can be achieved via Aliyun + Docker, managing versioned code is more practical than managing versioned images in actual operations.
EMR
The projects supported by Aliyun are similar to AWS EMR, but integration with access control (RAM) needs improvement.
OSS (Aliyun Object Storage Service) VS AWS S3
When using OSS, you must select a Region when creating a Bucket, which feels contrary to the “Access Anywhere” concept of cloud storage.
The interface does not support uploading files larger than 500MB. Although multi-part upload seems available, it is not exposed in the UI and may require command-line execution.
On the other hand, AWS S3 allows storing files over 1GB directly via the web interface.
A critical feature for deep AWS S3 users is the ability to customize metadata for each S3 object, such as HTTP Headers. For example, when a browser downloads a file from S3, the cache-header determines how long the object remains cached in the browser. This is a significant bandwidth-saving measure for high-traffic websites. Besides HTTP headers, other options like Redirect Location are available. In Aliyun OSS, only HTTP headers can be set, as shown below. Therefore, it would be beneficial if Aliyun could open up more permissions.
AWS S3
One new feature discovered in Aliyun OSS that AWS S3 lacks is built-in Image Styling. Typically, websites generate images beforehand and upload them to the cloud. By uploading source images to the cloud and generating styles on-the-fly before returning the URL, you can act as an origin server, significantly reducing load. This is a great approach.
ICP Filing
On Aliyun, individuals can apply for ICP filing, whereas AWS requires a company entity. Individual ICP filing on Aliyun takes only 2 days, compared to 10 days for AWS corporate applications.
If you want to quickly launch a small site domestically, Aliyun is definitely the right choice.
For corporate projects, if waiting time is not an issue, AWS’s mature architecture is worth considering.
Bandwidth
In China, bandwidth should be a primary consideration for any cloud provider.
Aliyun offers both fixed and pay-as-you-go bandwidth options.
For enterprise-level applications today, 100Mbps is considered basic configuration. Although Aliyun’s pricing for fixed bandwidth above 100Mbps is exorbitant, so we won’t compare that tier.
For pay-as-you-go, Aliyun supports up to 100Mbps, while AWS supports 200Mbps (tested personally, not official figures).
The method involved launching a Windows EC2 instance on AWS and running a speed test, ensuring results were not affected by local hardware issues.
The conclusion is: If you desire bandwidth exceeding 100Mbps without paying huge fees for fixed bandwidth, AWS is likely the only choice in China.
As indicated in the chart above, although AWS’s pay-as-you-go cost per GB is higher than Aliyun’s, it offers several advantages:
1) Maximum bandwidth can reach 200Mbps, whereas Aliyun is limited to 100Mbps.
2) No prepaid deposits required; Aliyun’s pay-as-you-go charges are deducted from prepaid balances.
3) You do not need to allocate bandwidth per machine because AWS bandwidth is shared/common, whereas Aliyun requires specifying the billing method for each machine’s bandwidth.
IP Addresses
AWS’s IP billing model is interesting—free when in use, charged when idle.
You are not charged for IPs you are actively using, but you are charged for IPs reserved but not attached to instances. This prevents hoarding unused IPs.
Additionally, managing IPs on AWS is convenient; a single command can change IPs. Our CTO created a prototype that enables one-click IP switching on AWS.
http://dvpn-test-elasticl-18r9nr6qix2bn-594040837.ap-southeast-1.elb.amazonaws.com/index.php
IP management is one of AWS’s core strengths.
Network Storage
On Aliyun, not every instance type/region supports SSD, whereas AWS SSD is supported across all instance types and regions.
SSD is billed based on IOPS (Input/Output Operations Per Second). Since multiple physical disks are often written to simultaneously in the cloud to avoid service degradation, users can purchase provisioned IOPS to guarantee performance.
AWS includes free IO baseline: currently 3 IO/GB. For 100GB, that equals 300 IO, roughly equivalent to the performance of a 7200 RPM hard drive.
Standard SSD can go up to 3000 IOPS, while PIOPS (Provisioned IOPS SSD) can go up to 20,000. For higher performance, RAID can be configured.
Older instance types (C3) support instant storage (data loss on shutdown) but offer thousands of IO performance (personally tested), equivalent to Aliyun’s local SSD, but provided free with the machine. This benefit extended through the third generation.
The fourth generation is fully EBS-based. One wonders if local SSD will return in the future.
Aliyun SSD = AWS EBS is 1 RMB/month/GB.
AWS Cloud SSD (PIOPS) = $0.125 USD/month/GB + $0.065 USD per provisioned IOPS.
With this calculation, Aliyun is slightly cheaper.
AWS
Aliyun
Other Services
Some services where Aliyun excels due to local market understanding include DDoS protection and performance testing, which they handle excellently.
On AWS, to achieve DDoS protection, you must build the architecture yourself or use third-party tools like Anquanbao. AWS does not offer a stress-testing service.
Third-party Open Source Tools (GitHub)
AWS has the strongest support among cloud providers for third-party tools. Integrations exist for Chef, Ansible, Docker, Deis, etc., along with AWS labs on GitHub.
Currently, I have not found comparable Aliyun-specific integrations. Please advise if you know of any.
Summary
Above is my comparison of Aliyun vs. AWS.
Aliyun is faster for ICP filing but less comprehensive;
AWS ICP filing is slower, but it supports ICP filing for Load Balancers and has no per-machine bandwidth limits, making AWS the inevitable choice for those needing over 100Mbps bandwidth.
For internal security, AWS IAM is also the inevitable choice.
Regarding DDoS protection, due to CDN integration, Aliyun has inherent advantages.
In summary, AWS primarily targets enterprise users, while Aliyun focuses more on individual users in terms of features.