@rupakg rupakganguly.com
Intro to Serverless
basic understanding of serverless computing
and why you should be interested
Jan 15th, 2019 IT Workshop, Atlanta
Rupak Ganguly
@rupakg
rupakganguly.com
Intro to Serverless
basic understanding of serverless computing
and why you should be interested
• Evolution
• Tenets of serverless computing
• Use cases & challenges
• Serverless costs compared
We will look at:
Slide 4
Slide 4 text
Evolution
serverless in context
Slide 5
Slide 5 text
@rupakg
rupakganguly.com
data centers
monolithic architecture
bare-metal servers
tightly coupled components, deployed as single-unit
Slide 6
Slide 6 text
@rupakg
rupakganguly.com
cloud
service-oriented architecture
bare-metal, VMs, IaaS
decoupled components, deployed as web services
Slide 7
Slide 7 text
@rupakg
rupakganguly.com
platform-as-a-service
micro-services architecture
shift away from infrastructure management
API centric, single responsibility services
Slide 8
Slide 8 text
@rupakg
rupakganguly.com
functions-as-a-service
serverless architecture
zero administration of infrastructure
functions as unit of deployment
Slide 9
Slide 9 text
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
serverless architecture
it’s all about events
Slide 11
Slide 11 text
Serverless Computing
myths, benefits and qualities
Slide 12
Slide 12 text
@rupakg
rupakganguly.com
serverless definition
serverless: though servers exists, the developer
does not have to think about them
Slide 13
Slide 13 text
@rupakg
rupakganguly.com
faas providers
AWS Lambda Azure Functions
Google Cloud Functions IBM Cloud Functions
@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 16
Slide 16 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 17
Slide 17 text
@rupakg
rupakganguly.com
microservices
• promotes single responsibility
principle based services
• no more death stars, monolithic
apps
• varied language support
• small, autonomous, polygot teams
• agility, quick & frequent
deployments
Slide 18
Slide 18 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 19
Slide 19 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
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
Slide 23
Slide 23 text
@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 24
Slide 24 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
• web hook
listeners
• CRON jobs
• CI/CD pipelines
• log analytics
what are others building
Slide 25
Slide 25 text
@rupakg
rupakganguly.com
challenges
• cold start latency, more
with VPC
• price at high volumes
• developer experience
• limitations
• fear of vendor lock-in
• application lifecycle
management
• metrics & monitoring
• service discovery
• team collaboration
• standardization
it’s not all rosy
cost of solution
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/
Slide 29
Slide 29 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 30
Slide 30 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 31
Slide 31 text
total cost of ownership
https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/