Comparing Serverless offerings from Alibaba Cloud and AWS

Michael WittigUpdated 02 May 2019

Last weekend, I had the chance to play around with Alibaba Cloud at the DevOps Meetup in my city. An Alibaba Cloud Solution Architect introduced the platform and was well trained on AWS as well, so he could compare both platforms for us. I also spent some time to figure out the details and finally, I ended up with a detailed comparison of the Serverless offering of both platforms.

Comparing Serverless offerings from Alibaba Cloud and AWS

When I talk about Alibaba Cloud I refer to the international version which misses features compared to the domestic (Chinese) version. Features are translated at a fast pace to close the gap between the domestic and international version.

FaaS Runtimes

AWS and Alibaba Cloud both offer a Function as a Service offering. When we look at the runtime, the platforms differentiate only in support for PHP, .NET Core, and Go.

Language AWS Lambda Alibaba Cloud Function Compute
Java 8 8
Node.js 8.10, 6.10, 4.3 8.9, 6.10
Python 3.6, 2.7 3.6, 2.7
PHP - 7
.NET Core 2.1, 2.0, 1.0.1 -
Go 1.x -

Features

Alibaba Cloud provides a way to use a shared file system in your function which might be interesting to port legacy code. You can also group functions into a service which helps to keep functions (and also configuration) separated. To my surprise, the authorization concept is very similar to AWS, using policy-based access control.

Feature AWS Alibaba Cloud
Max timeout 15 min 10 min
Temporary disk space (/tmp) 512 MB 1024 MB
Metrics some (CloudWatch Metrics) many
Centralized logs CloudWatch Logs Log Service
Fine-grained authorization IAM RAM
Group functions no "Service"
Included libraries AWS SDK Alibaba Cloud SDK and more (list for Node.js, Python, PHP)
Max. code package size (compressed) 50 MB 100 MB
Online IDE rich (Cloud9) minimal
Local deployment tool SAM Fun, fcli
Edge capabilities yes no
VPC support yes yes
Shared file system support no yes
Disable Internet access explicitly (non VPC) no yes
Initializer hook no yes

Triggers and Integrations

Most importantly, a Serverless architecture benefits from a variety of event sources.

Source AWS Alibaba Cloud
On-Demand yes yes
Object Storage S3 OSS
Distributed log Kinesis Data Streams Log service
Log event aggregation Kinesis Data Firehose -
Cronjob CloudWatch Events Time trigger
Webhook Somehow with API Gateway HTTP trigger
REST API API Gateway API Gateway
CDN Edge Lambda@Edge -
NoSQL database DynamoDB streams Table Store1
Pub/Sub SNS MNS
Incoming E-Mail SES -
Queue SQS -
Logs CloudWatch Logs Log service
Git CodeCommit -
Authentication Cognito -
Platform events CloudWatch Events -
Platform governance Config -
Voice assistant Alexa -
Conversational Interfaces Lex -
Infrastructure as Code CloudFormation -
Programmable button IoT Button -

Billing

The same.

Summary

To my surprise, Alibaba Cloud is not that different compared to AWS. Both platforms work in a similar way (which is not the case for GCP or Azure in my opinion). AWS provides more Triggers and Integrations but Alibaba comes with some unique features such as a shared file system and PHP support.

Thanks to Oliver Arafat (Senior Solution Architect Alibaba Cloud) for reviewing this article.

Michael Wittig

Michael Wittig

I’ve been building on AWS since 2012 together with my brother Andreas. We are sharing our insights into all things AWS on cloudonaut and have written the book AWS in Action. Besides that, we’re currently working on bucketAV, HyperEnv for GitHub Actions, and marbot.

Here are the contact options for feedback and questions.

Further reading