This document provides a comparison of serverless computing platforms across AWS Lambda, Azure Functions, Google Cloud Functions, and IBM Cloud Functions. It covers aspects such as available languages, memory sizes and limits, scaling behavior, built-in triggers, pricing models, and example cost comparisons between serverless and traditional compute instances. The document finds that while all major clouds offer serverless computing, they differ in areas like languages supported, scaling performance, and pricing models, with no single option emerging as unanimously superior across all dimensions.
2. • Raphael Simon
• CTO, RightScale
• Kim Weins
• VP Marketing and Cloud Cost Strategy
Presenters
3. RightScale
Cloud Management Platform
Orchestrate, automate and govern workloads
across all your environments.
VIRTUAL
SERVERS
PUBLIC
CLOUDS
ANY CLOUD
SERVICE
PRIVATE
CLOUDS
BARE METAL
SERVERS
CONTAINER
CLUSTERS
RightScale
Optima
Work collaboratively across the organization
to manage and optimize clouds costs.
Orchestrate
Cloud Workflow
Plugins
Monitoring
Govern
Accounts/Groups
Access/Permissions
Tags
Optimize
Policies
Collaboration
Utilization
RIGHTSCALE
CMP ENGINE
EXTENSIBLE ORCHESTRATION API
Two Solutions from RightScale
7. • Understanding Serverless
• Comparing AWS, Azure, Google and IBM
• Benchmarks and Scalability
• Pricing
Agenda
6
8. “Serverless”: you don’t have to manage servers to deploy and
run applications
• PaaS (Platform as a Service, e.g. Google App Engine)
• BaaS (Backend as a Service, e.g. Firebase)
• FaaS (Function as a Service, e.g. AWS Lambda)
Focus on FaaS
• AWS Lambda
• Azure Functions
• Google Cloud Functions
• IBM Cloud Functions
What do you mean by Serverless?
7
9. ● Messaging
○ Integrate with data stream (Kinesis, Google Pub/Sub, Azure Event
Hubs and Event Grid)
○ IoT, real-time event processing
● Event Handling
○ Integrate with event sources (S3, Google Cloud Storage, DynamoDB,
Azure CosmoDB ...)
○ Real-time file processing (e.g. thumbnail creation) and analysis
● RESTful APIs
○ Integrate with API Gateway (auth, docs, routing)
○ Map endpoints to functions (e.g. one per resource)
Serverless Use Cases
8
10. ● Set of services retrieve bills from clouds and upload to
RightScale owned S3 bucket
● AWS Lambda trigger:
○ Validates bill files are complete and consistent
○ Send message to initiate processing
Example: RightScale Bill Processing
9
RightScale
Bill Pollers
RightScale
Bill Processing
12. ● No “local” persistent state
○ Use other services to store cross-request state
● Limits on execution duration and memory
○ Not suitable for long computations
● Vendor control
○ FaaS all about integration with other services
○ Amount of available compute resources not well defined (except Google)
● Can push logic to client side
○ Client responsible for orchestrating FaaS and BaaS
● Cost
○ Consider usage patterns
Caveats and Limitations
11
14. Serverless Comparison: Overview
AWS Azure Google IBM
Service Name Lambda Functions Cloud Functions (Beta) Cloud Functions
Availability SLA None Consumption Plan:
None
App Service Plan:
99.95%
None (Beta) No information
Languages JavaScript
Java
C#
Python
Go
JavaScript
Java
C#
F#
plus more experimental
JavaScript
Go (unofficial)
JavaScript
Go
Python
Swift
PHP
Docker
Notes
Linux is currently only
available on App
Service Plan
13
Source: RightScaleAs of Mar 28, 2018
15. AWS Azure Google IBM
Service Name Lambda Functions Cloud Functions (Beta) Cloud Functions
Memory sizes 128 to 3008 MB
Automatic
128 to 1536 MB
128 to 2048 MB 128 to 512 MB
CPU options Automatic Automatic 200 MHz to 2.4 GHz Automatic
Disk space for
function
512MB non-persistent Yes. d:local
tmpfs vol
uses memory
No information
Max code size
50 MB compressed
250 MB uncompressed
None
You pay storage cost
100 MB compressed
500 MB uncompressed
48 MB
Max execution time 5 mins
Default is 5 mins
Can change to 10 mins
9 minutes 10 minutes
Concurrent
functions
Default: 1000 per
account/region
(ask for increase)
200 copies of a function
app
1000 per project
(can’t be increased)
Default: 1000 per
namespace
(ask for increase)
Serverless Comparison: Sizes and Limits
14
Source: RightScaleAs of Mar 28, 2018
16. AWS Azure Google IBM
Lambda Functions Cloud Functions (Beta) Cloud Functions
On-demand (over HTTPS)
S3
DynamoDB
Kinesis Data Streams
SNS
Simple Email Service
Cognito
CloudFormation
CloudWatch Logs
CloudWatch Events
CodeCommit
Scheduled Events
AWS Config
Alexa
Lex
API Gateway
IoT Button
CloudFront
Kinesis Data Firehose
Blob Storage
Cosmos DB
Event Grid
Event Hubs
External File
External Table
HTTP
Microsoft Graph (Excel,
OneDrive, Outlook, Events)
Mobile Apps
Notification Hubs
Queue storage
SendGrid
Service Bus
Table storage
Timer
Twilio
Webhooks
HTTP
Cloud Pub/Sub
Cloud Storage
Direct
Others via Pub/Sub
Alarms
Cloudant database
Message Hub
Mobile push
Github
Custom (hooks, polling,
connections)
Serverless: Built-In Triggers
15Source: RightScaleAs of Mar 28, 2018
17. AWS
• Step Functions - workflow to stitch it together
• Lambda @ Edge
• Have Fargate and Aurora Serverless
Azure
• Logic Apps
• Part of “Azure App Service” offering
• Can run on prem (Azure Functions Runtime)
• Can pay based on Consumption plan or VMs (App Service Plan)
• Durable Functions extension (stateful coordination)
Google
• Still in Beta
IBM
• Based on open source - Apache OpenWhisk
• Container-based
• Can run on premise
Special Notes per Cloud
16
19. • Dynamically scales each function up to account limit
• You can set limits for each function on number of concurrent
copies
• Code starts running within “milliseconds” of event
AWS Lambda Scaling
18
20. • Unit of scale is not a function, it’s a
functions host (AKA function app).
• Functions inside a function app all
scale together
• You don’t set memory on functions.
• Max of 200 copies of a function app
• Each function app can process >1
event
• New instances (eg functions host)
can be added only every 10
seconds
• Scaling on HTTPs triggers seems to
have improved a lot between Jan
and Mar
Azure Functions Scaling
19
https://docs.microsoft.com/en-us/azure/azure-functions/functions
-scale#how-the-consumption-plan-works
21. • Scales each function independently (function instances)
• Dynamically scales each function up to account limit
• Function instance environment remains to handle next query
unless Google is scaling down
• Per Google docs, “cold starts” are “expensive”. They happen
• When you deploy your function
• On scaling up
• To replace an existing instance (such as failure not handled properly)
Google Cloud Functions Scaling
20
22. • Scales each function independently (function)
• Dynamically scales each function up to account limit
• Uses a container for each active function
• Per IBM docs, invocations are “instant”
• Openwhisk recycles containers and pre-warms containers
• https://medium.com/openwhisk/squeezing-the-milliseconds-how-to-make-serverless-platform
s-blazing-fast-aea0e9951bd0
IBM Cloud Functions Scaling
21
29. AWS Azure Google IBM
Name of Services Lambda
Functions
(Consumption plan)
Cloud Functions Cloud Functions
Memory sizes 128 to 3008 MB 128 to 1536 MB 128 to 2048 MB 128 to 512 MB
CPU options Automatic Automatic 200 MHz to 2.4 GHz Automatic
Billing increments for
memory
64MB 128MB 5 sizes 3 sizes
Min billed execution
time
100 ms 100 ms 100 ms 100 ms
Billing increments for
execution time
100 ms 1 ms 100 ms 100 ms
Severless: Pricing Factors
Source: RightScaleAs of Mar 28, 2018
30. AWS Azure Google IBM
Name of Services Lambda
Functions
(Consumption plan)
Cloud Functions Cloud Functions
Function Invocations
(per 1M)
$0.20 $0.20 $0.40 N/A
Duration/Memory
(per 1M GB-secs)
$16.67 $16.00 $2.50 $17.00
Duration/CPU
(per 1M GHz-secs)
N/A N/A $10.00 N/A
Network egress
(per GB)
$.09 $.087 $0.12 $.09
Free Invocations
(per month)
1M 1M 2M N/A
Free Duration/Mem
(per month)
400K 400K 400K 400K
Free Duration/CPU
(per month)
N/A N/A 200K N/A
Free network egress
(per month)
Part of overall EC2
free tier of 1 GB
Part of overall free tier of
5 GB
5 GB for Cloud
Functions
None noted for
Cloud Functions
Severless - Prices
Source: RightScaleAs of Mar 28, 2018
31. Scenarios AWS Azure Google IBM
Lambda
Functions
(Consumption plan)
Cloud Functions Cloud Functions
128 MB, 100 ms
100M executions
$40.84 $40.00 $63.13 $21.25
256 MB, 100 ms
100M executions
$61.68 $60.00 $86.25 $42.50
512 MB, 1 sec
10M executions
$85.35 $82.00 $96.50 $85.00
1024 MB, 10 sec
100M executions
$16,690 $16,020 $16,876 $17,000
Serverless: Pricing Scenarios
Source: RightScaleAs of Mar 28, 2018
33. RightScale Example: Your mileage will vary!
32
Scenarios
AWS
Lambda
AWS
Instances (flat)
AWS
Instances (auto scale)
Daily Volume 2.5B function calls 25M API requests 25M API requests
Sizing 128 MB, 100 ms
10 m5.xl
240 instance-hrs
4-10 m5.xlarge
178 instance-hours
Unit cost
$.20 per 1M requests
$16.67 per 1M GB-s
$0.192/hr $0.192/hr
Cost per day $1020.94 $46.08 $34.18
34. Use when:
• Easily decomposable functions
• Highly-variable demand (fast response time needed)
• Low demand
• Overhead of running instances is high (people/mgmt cost)
• Need tight integration to cloud events
Use caution if:
• You don’t want to lock-in to a cloud
• Demand is not variable
When does serverless make cost sense?
33
35. • Free Cloud Comparison Tool
• cloudcomparison.rightscale.com
Contact sales@rightscale.com for more info
Q&A
34