7. Understand
Application
lifecycle
Christian Posta âBe as serverless as you can, but not more than thatâ
https://blog.christianposta.com/serverless/its-not-about-microservices-vs-serverless/ Vadym Kazulkin, @VKazulkin
8. Explore phase
⢠Quickly validate
hypotheses
⢠Rapidly experiment
⢠Run experiments as
cheaply as possible
Image: burst.shopify.com/photos/a-look-across-the-landscape-with-view-of-the-sea
Serverless is a perfect fit
Vadym Kazulkin, @VKazulkin
9. Exploit phase
⢠Built something that does
provide customer value
⢠Build it on scale
⢠Build a profitable product
around it
Image: Robert Scoble via Flickr
partly serverless and partly not
serverless architecture
Vadym Kazulkin, @VKazulkin
10. Application lifecycle
⢠How much of my stack should I own
to be able to deliver business value?
⢠Outsource SLA, regulatory
compliance, price, and roadmap to
my service provider?
Vadym Kazulkin, @VKazulkin
11. Existing
applications
⢠You canât magically move
that all off to service
providers
⢠You can try to modernize
parts of them
Vadym Kazulkin, @VKazulkin
12. Strangler
Pattern
⢠Add a proxy (API
Gateway or Application
Loadbalancer), which
sits between the legacy
application and the user
⢠Add new services and
link it to the proxy
Marin Fowler âStrangerFigApplicationâ
https://martinfowler.com/bliki/StranglerFigApplication.html Vadym Kazulkin, @VKazulkin
13. FinDev Concept
Activity-based costing on a
digital operation-by-operation
basis
⢠Figure out features which deliver
business value comparing to their
cost
Aleksander Simovic & Mark Schwarz âFinDev and Serverless Microeconomics: Part 1â
https://aws.amazon.com/de/blogs/enterprise-strategy/findev-and-serverless-microeconomics-part-1/ Vadym Kazulkin, @VKazulkin
14. 1. Application lifecycle
2. Workloads
3. Platform limitations
4. Cost at scale
5. Operational constraints imposed by other dependencies
6. Organizational knowledge
Vadym Kazulkin, @VKazulkin
17. Understand your workloads
⢠Do we need to access specialized
hardware ?
⢠GPU access required?
⢠Another RAM/CPU ratio?
⢠Do we need constantly high
performance?
⢠Response time below 100 ms
(e.g. bidding or gaming platforms)
âA Berkeley View on Serverless Computingâ https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.html Vadym Kazulkin, @VKazulkin
18. Understand your workloads
⢠Do we need high throughput ?
⢠Lambdaâs network bandwidth is limited
(an order of magnitude lower than a
single modern SSD) shared between all
functions packed on the same VM
⢠Do functions need to communicate with
each other?
⢠functions are not directly network
accessible, they must communicate via
an intermediary service
âA Berkeley View on Serverless Computingâ https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.html
Vadym Kazulkin, @VKazulkin
19. 1. Application lifecycle
2. Workloads
3. Platform limitations
4. Cost at scale
5. Operational constraints imposed by other dependencies
6. Organizational knowledge
Vadym Kazulkin, @VKazulkin
21. Donât be scared
of cold starts
To avoid cold starts them
completely, you have to :
⢠Overpay
⢠Overprovision
Cold starts donât really
matter if the you make
the call asynchronously
Vadym Kazulkin, @VKazulkin
22. Understand platform
limitations
⢠Cold start
⢠Lambda with and without VPC for
each runtime
⢠Invocation duration/timeouts
⢠Lambda 15min
⢠API Gateway integration 29sec
⢠Max Memory
⢠Lambda 3GB
Vadym Kazulkin, @VKazulkin
23. Understand platform
limitations
⢠Max concurrent invocations
⢠1000-3000 parallel executions for
all Lambdas in each AWS account
⢠Scaling thresholds
⢠Dynamo DB provisioned and on-
demand capacities
Vadym Kazulkin, @VKazulkin
24. 1. Application lifecycle
2. Workloads
3. Platform limitations
4. Cost at scale
5. Operational constraints imposed by other dependencies
6. Organizational knowledge
Vadym Kazulkin, @VKazulkin
25. The reality isâŚ
Lambda is often just a
small percentage
of your total cost
Vadym Kazulkin, @VKazulkin
28. Provisioned vs
On-Demand
⢠Use On-Demand for
spiky workloads
⢠Use Provisioned for
constantly high
workload
Vadym Kazulkin, @VKazulkin
29. Understand your cost at
scale
⢠Lambda
⢠API Gateway
⢠Dynamo DB capacity choices
⢠Remote API calls
⢠Logging costs
⢠Monitoring costs
Vadym Kazulkin, @VKazulkin
30. 1. Application lifecycle
2. Workloads
3. Platform limitations
4. Cost at scale
5. Operational constraints imposed by other dependencies
6. Organizational knowledge
Vadym Kazulkin, @VKazulkin
31. Understand the operational constraints
imposed by other dependencies
⢠Language runtime choice
⢠Can be forced by some dependencies to
other libraries
Yan Cui âNot so FaaSâ https://blog.binaris.com/not-so-faas/ Vadym Kazulkin, @VKazulkin
32. 1. Application lifecycle
2. Workloads
3. Platform limitations
4. Cost at scale
5. Operational constraints imposed by other dependencies
6. Organizational knowledge
Vadym Kazulkin, @VKazulkin
34. Tom McLaughlin Talk:
What do we do when
the server goes away?
⢠Monitoring & Alerting
⢠Chaos Engineering & Game Days
⢠Infrastructure as Code & Testing
⢠Help understand constraints
of AWS services & choose the right
one
Tom McLaughlin âWhat do we do when the server goes awayâ
https://speakerdeck.com/tmclaugh/serverless-devops-what-do-we-do-when-the-server-goes-away
Vadym Kazulkin, @VKazulkin
35. Event Sources
⢠SQS and SNS are
charged for requests
⢠Kinesis charges for
shard hours & PUT
requests
Image: https://blog.binaris.com/lambda-pricing-pitfalls/ Vadym Kazulkin, @VKazulkin
36. Event Sources
⢠Cost for Kinesis grows
with slower rate
⢠Attractive at to
operate at scale
Image: https://blog.binaris.com/lambda-pricing-pitfalls/
Vadym Kazulkin, @VKazulkin
40. Berkeley View on
Serverless Computing
âA Berkeley View on Serverless Computingâ https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.html Vadym Kazulkin, @VKazulkin
41. Berkeley View on
Serverless Computing
⢠Provide low latency and high IOPS
Serverless Ephemeral Storage
⢠Provide Serverless Durable Storage
⢠Improve Networking and Performance
⢠Improve Security
⢠Accommodate cost-performance
âA Berkeley View on Serverless Computingâ https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.html Vadym Kazulkin, @VKazulkin
42. Predictions
⢠More available runtimes (e.g. GraalVM)
⢠Platform limitations will be weakened or
disappear
Image: Marco Verch via Flickr (Creative Commons 2.0)
https://www.flickr.com/photos/30478819@N08/26528539689/ Vadym Kazulkin, @VKazulkin
43. Picture from SRV409 session in AWS re:Invent 2018 https://www.youtube.com/watch?v=QdzV04T_kec Vadym Kazulkin, @VKazulkin
44. Picture from SRV409 session in AWS re:Invent 2018 https://www.youtube.com/watch?v=QdzV04T_kec Vadym Kazulkin, @VKazulkin
45. Predictions
⢠More available runtimes (e.g. GraalVM)
⢠Platform limitations will be weakened or
disappear
⢠New use cases of serverless (Big Data,
ML/AI)
⢠Access to specialized hardware
⢠Companies gaining advantages from the
FinDev approach
Image: Marco Verch via Flickr (Creative Commons 2.0)
https://www.flickr.com/photos/30478819@N08/26528539689/ Vadym Kazulkin, @VKazulkin