SERVERLESS COMPARISON:
AWS VS AZURE VS GOOGLE VS IBM
• Raphael Simon
• CTO, RightScale
• Kim Weins
• VP Marketing and Cloud Cost Strategy
Presenters
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
Organizations Use Multiple Clouds
3
Public Cloud Adoption
4
Serverless Adoption is Growing
5
• Understanding Serverless
• Comparing AWS, Azure, Google and IBM
• Benchmarks and Scalability
• Pricing
Agenda
6
“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
● 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
● 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
Serverless Architecture
10
Client API
Gateway
DBaaS
BaaS
FaaS
...
Events
Function C
(Event Handler)
Function A
Function A
Function A
Function B
Function B
Function B
● 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
COMPARING
SERVERLESS COMPUTE
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
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
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
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
COMPARING
SCALING
• 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
• 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
• 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
• 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
CPU Benchmark (512 MB)
22
CPU Benchmark (1024 MB)
23
Total Time to Complete Benchmark
24
Impact of 2x memory
on time to complete:
AWS: -45%
Google: -36%
Azure: N/A
HTTP Trigger Scaling: Gradual Ramp
25
Source: https://www.azurefromthetrenches.com/azure-functions-significant-improvements-in-http-trigger-scaling/
Thanks to James @azuretrenches
HTTP Trigger Scaling: Rapid Ramp
26
Source: https://www.azurefromthetrenches.com/azure-functions-significant-improvements-in-http-trigger-scaling/
Thanks to James @azuretrenches
COMPARING
PRICING
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
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
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
Example:
Serverless vs. Instances/VMs
31
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
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
• Free Cloud Comparison Tool
• cloudcomparison.rightscale.com
Contact sales@rightscale.com for more info
Q&A
34

Serverless Comparison: AWS vs Azure vs Google vs IBM

  • 1.
    SERVERLESS COMPARISON: AWS VSAZURE VS GOOGLE VS IBM
  • 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
  • 4.
  • 5.
  • 6.
  • 7.
    • Understanding Serverless •Comparing AWS, Azure, Google and IBM • Benchmarks and Scalability • Pricing Agenda 6
  • 8.
    “Serverless”: you don’thave 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 ○ Integratewith 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 ofservices 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
  • 11.
    Serverless Architecture 10 Client API Gateway DBaaS BaaS FaaS ... Events FunctionC (Event Handler) Function A Function A Function A Function B Function B Function B
  • 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
  • 13.
  • 14.
    Serverless Comparison: Overview AWSAzure 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 GoogleIBM 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 GoogleIBM 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
  • 18.
  • 19.
    • Dynamically scaleseach 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 ofscale 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 eachfunction 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 eachfunction 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
  • 23.
  • 24.
  • 25.
    Total Time toComplete Benchmark 24 Impact of 2x memory on time to complete: AWS: -45% Google: -36% Azure: N/A
  • 26.
    HTTP Trigger Scaling:Gradual Ramp 25 Source: https://www.azurefromthetrenches.com/azure-functions-significant-improvements-in-http-trigger-scaling/ Thanks to James @azuretrenches
  • 27.
    HTTP Trigger Scaling:Rapid Ramp 26 Source: https://www.azurefromthetrenches.com/azure-functions-significant-improvements-in-http-trigger-scaling/ Thanks to James @azuretrenches
  • 28.
  • 29.
    AWS Azure GoogleIBM 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 GoogleIBM 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 AzureGoogle 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
  • 32.
  • 33.
    RightScale Example: Yourmileage 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: • Easilydecomposable 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 CloudComparison Tool • cloudcomparison.rightscale.com Contact sales@rightscale.com for more info Q&A 34