@rupakg rupakganguly.com
Why & What of Serverless
unraveling serverless computing
and why you should give it a closer look
AITP Atlanta Meetup, Atlanta
Rupak Ganguly
May 16th, 2019
Solutions Architect, Docker Inc.
@rupakg
rupakganguly.com
Why & What of Serverless
unraveling serverless computing
and why you should give it a closer look
• The serverless movement
• Evolution of architecture
• Tenets of serverless computing
• Use cases & challenges
• Serverless TCO
• Adoption in the enterprises
We will look at:
Slide 4
Slide 4 text
The Serverless Movement
trends and the hype
Slide 5
Slide 5 text
@rupakg
rupakganguly.com
the serverless movement
Google Trends
searches for ‘serverless’
Slide 6
Slide 6 text
@rupakg
rupakganguly.com
serverless definition
serverless: though servers exists, the developer
does not have to think about them
Slide 7
Slide 7 text
@rupakg
rupakganguly.com
“Serverless usually refers to an architectural pattern
where the server side logic is run in stateless
compute containers that are event-triggered,
ephemeral and fully managed by third party.”
- Martin Fowler of ThoughtWorks
Slide 8
Slide 8 text
evolution
monolithic
architecture
bare-metal servers
tightly coupled components,
deployed as single-unit
data centers
service-oriented
architecture
bare-metal, VMs, IaaS
decoupled components,
deployed as web services
cloud
micro-services
architecture
shift from infrastructure mgmt.
API centric,
single responsibility services
platform-as-a-service
zero admin of infrastructure
serverless
architecture
functions as
unit of deployment
functions-as-a-service
how we got here
Slide 9
Slide 9 text
@rupakg
rupakganguly.com
serverless architecture
shortest time to market
greater developer productivity
lowest total cost of ownership
values
applications run code in FaaS services
and leverage other managed services
Slide 10
Slide 10 text
@rupakg
rupakganguly.com
faas providers
AWS Lambda Azure Functions
Google Cloud Functions IBM Cloud Functions
Slide 11
Slide 11 text
serverless architecture
it’s all about events
Slide 12
Slide 12 text
serverless architecture
it’s all about services
http://blog.tonyfendall.com/2015/12/serverless-architectures-using-aws-lambda/
@rupakg
rupakganguly.com
zero administration
• no servers to maintain
• no OS upgrades, no patches
• renewed role of devops teams
• paradigm shift, no ssh
• no control over infrastructure
Slide 18
Slide 18 text
@rupakg
rupakganguly.com
pay-per-execution
• no paying for idle
• upfront cost savings
• micro-billing, per 100 ms *
• 1 million requests free tier *
• $0.20 per million requests
post free tier *
* AWS Lambda pricing
Slide 19
Slide 19 text
@rupakg
rupakganguly.com
microservices
• promotes single responsibility
principle based services
• no more death stars, monolithic
apps
• varied language support
• small, autonomous, polyglot teams
• agility, quick & frequent
deployments
Slide 20
Slide 20 text
@rupakg
rupakganguly.com
ecosystem
• use provider services
• use of third-party services
• S3, Kinesis, SNS, SQS
• DynamoDB, Firebase, GraphQL
• Cognito, Auth0, Synk, PureSec
• CloudWatch, X-Ray, IOPipe
Slide 21
Slide 21 text
@rupakg
rupakganguly.com
auto-scaling
• auto scaling Lambda
• auto scaling DynamoDB
• based on load, throughput
consumption
• no need for auto-scaling
group policies
• enables high-availability
@rupakg
rupakganguly.com
use cases
• real-time/streaming, batch processing: kinesis -> lambda
• REST APIs, Graph APIs: lambda -> API Gateway endpoint
• event-driven workflows, scheduled tasks, data transforms
what are others building
Slide 25
Slide 25 text
@rupakg
rupakganguly.com
use cases
• web, mobile & IoT
backends
• form processing
• authentication
• devops
automation
• chatbots
• file manipulation
• voice apps (Alexa)
• ETL workloads
• image resizing
• video transcoding
• security audits
• dynamic websites
• ecommerce stores
• web hook listeners
• CRON jobs
• CI/CD pipelines
• log analytics
what are others building
Slide 26
Slide 26 text
@rupakg
rupakganguly.com
challenges
• cold start latency, more
with VPC
• price at high volumes
• developer experience
• provider limits
• fear of vendor lock-in
• application lifecycle
management
• metrics & monitoring
• service discovery
• team collaboration
• standardization
it’s not all rosy
Slide 27
Slide 27 text
@rupakg
rupakganguly.com
security
• Least privileges across resources
• Reduce access to sensitive data, handle exceptions and
validate input
• Avoid embedding secrets, access keys and credentials in
code
• Throttle and define quotas
• Encrypt data on the wire and data stored at rest
• Scrutinize 3rd-party libraries & APIs for vulnerabilities
• Be aware of new input/event sources
guidelines & recommendations
cost of solution
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/
Slide 31
Slide 31 text
@rupakg
rupakganguly.com
cost breakdown
•direct costs:
• pay-per-invocation (no paying for idle)
• Lambda cost, service(s) cost, data transfer cost, API
Gateway cost
•personnel costs:
• building a devops team is not cheap, and involves a huge
learning curve.
• ~ 100,000+ per year per engineer
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/
measurable costs
Slide 32
Slide 32 text
@rupakg
rupakganguly.com
•overhead costs:
• delegate ops responsibilities to your cloud provider
reduced responsibilities for devops team
• frees developers to focus on building business functionality
•opportunity costs:
• ability to iterate faster & business can test ideas faster than
competitors
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/
cost breakdown
non-measurable costs
Slide 33
Slide 33 text
total cost of ownership
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/
Slide 34
Slide 34 text
Adoption
who are using serverless?
Slide 35
Slide 35 text
@rupakg
rupakganguly.com
adoption
serverless in production
Slide 36
Slide 36 text
adoption
the CNCF serverless landscape
https://landscape.cncf.io/format=serverless
Slide 37
Slide 37 text
@rupakg
rupakganguly.com
serverless and containers
are complementary technologies
what about containers?
live side-by-side