on aws building scalable serverless applicationscloud.thence.io where you can find articles about...
TRANSCRIPT
![Page 1: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/1.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 1/40
Building Scalable Serverless ApplicationsBuilding Scalable Serverless ApplicationsBuilding Scalable Serverless Applicationson AWSon AWSon AWSBy: Kevin S LinBy: Kevin S LinBy: Kevin S Lin
1 / 401 / 401 / 40
![Page 2: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/2.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 2/40
Agenda
Hello, my name is...
Serverless: What is it?
Serverless: Why Care
Serverless: Offerings & Applications
Serverless: Scaling
Takeaways
2 / 40
![Page 3: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/3.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 3/40
founder of cloud.thence, consulting firm that helps companies scale and prevail onAWS
5+ years as developer at AWS with focus on scaling and monitoring
run FolkStories podcast where I have longform conversation with awesome people
3 / 40
![Page 4: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/4.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 4/40
Serverless: What is it?Serverless: What is it?Serverless: What is it?
4 / 404 / 404 / 40
![Page 5: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/5.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 5/40
What Its Not
Courtesy of giphy
having no serversmanaged serverscontainers
5 / 40
![Page 6: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/6.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 6/40
Serverless as a Spectrum
ephermal compute, nothing allocated with no utilization
pay for use
higher abstraction knobs
6 / 40
![Page 7: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/7.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 7/40
Serverless: Why care?Serverless: Why care?Serverless: Why care?
7 / 407 / 407 / 40
![Page 8: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/8.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 8/40
Serverless in Context
8 / 40
![Page 9: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/9.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 9/40
Serverless Benefits
lower costs for most use cases, no $ when no utilization
∞* scale
no provisioning or management
9 / 40
![Page 10: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/10.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 10/40
Serverless OfferingsServerless OfferingsServerless Offerings
10 / 4010 / 4010 / 40
![Page 11: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/11.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 11/40
AWS Lambda: Serverless Compute
Run code without servers
Automatic scaling
Pay only for compute you consume (charged by every 100ms)$0.20 per 1 million requests$0.00001667 for every GB-second of compute1 million requests running 200ms = $0.62 per month
11 / 40
![Page 12: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/12.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 12/40
API Gateway: Serverless REST Endpoint
Create API endpoint without servers
Automatic scaling
Builtin Versioning, Security Controls, and Monitoring
Pay only for API calls made (num requests)$3.5 per million API calls$1 per million websocket messages1 million API calls = $3.5
12 / 40
![Page 13: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/13.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 13/40
DynamoDB Serverless: Serverless NoSQL DB
Create Databases without servers
Automatic scaling
Pay only for database resource consumed (per second basis)$1.25 per million write request units$0.25 per million read request units$0.25 per GB-month (first 25GB free)1 million read & write + 50GB storage = $20.25
13 / 40
![Page 14: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/14.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 14/40
Serverless ApplicationsServerless ApplicationsServerless Applications
14 / 4014 / 4014 / 40
![Page 15: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/15.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 15/40
Web AppWeather Application
Courtesy of aws.amazon.com/serverless
Reference Architecture: https://github.com/aws-samples/lambda-refarch-webapp
15 / 40
![Page 16: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/16.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 16/40
Mobile AppMobile Backend for Social Media App
Courtesy of aws.amazon.com/serverless
Reference Architecture: https://github.com/awslabs/lambda-refarch-mobilebackend/
16 / 40
![Page 17: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/17.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 17/40
Data ProcessingImage Thumbnail Creation
Courtesy of aws.amazon.com/serverless
Reference Architecture: https://github.com/awslabs/lambda-refarch-fileprocessing
17 / 40
![Page 18: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/18.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 18/40
Serverless: ScalingServerless: ScalingServerless: Scaling
18 / 4018 / 4018 / 40
![Page 19: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/19.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 19/40
Challenges
platform
performance
architecture
19 / 40
![Page 20: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/20.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 20/40
Platform LimitationsThey exist
max execution time: 15min
max memory: 3GB
payload: 6MB
concurrent executions: 1000
state persistence: false
non-persistent scratch area: 512 MB
deployment package size (zipped): 50MB
deployment package size (unzipped): 250MB
file descriptors: 1024
execution processors/threads: 1024
20 / 40
![Page 21: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/21.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 21/40
Platform LimitationsIts not me its you
consider if your micro service is doing too much
persistent state not a good assumption in cloud based world
guardrails can be nice
21 / 40
![Page 22: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/22.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 22/40
Platform LimitationsIts Getting Better
execution time: 5min -> 15min
memory: 1GB -> 3GB
deployment package size: Lambda Layers
22 / 40
![Page 23: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/23.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 23/40
Platform LimitationsWorkarounds
concurrent executions: ask for limit increase
max executiont time: API + Workflow pattern
payload: use S3 signed urls (limit of 5TB)
23 / 40
![Page 24: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/24.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 24/40
PerformanceCold Starts
first start penalty
24 / 40
![Page 25: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/25.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 25/40
PerformanceOptimizations
use the right language
don't use VPC
cache expensive things outside of function handler
25 / 40
![Page 26: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/26.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 26/40
PerformanceRight Language
26 / 40
![Page 27: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/27.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 27/40
PerformanceAvoid VPC
27 / 40
![Page 28: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/28.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 28/40
PerformanceAvoid VPC
28 / 40
![Page 29: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/29.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 29/40
PerformanceLambda Execution Contextletlet dbletlet initialized = falseletlet var1, var2, var3
functionfunction initinit() { ifif (initialized) { returnreturn } db = mysql.create(...) var1 = initVar1 // ... initialized = true returnreturn}
module.exports.handler = (event, context, cb) => {
init() // ... other function logic cb(null, results)}
29 / 40
![Page 30: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/30.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 30/40
ArchitectureMonolith vs MicroServices
Courtesy of https://www.weave.works
30 / 40
![Page 31: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/31.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 31/40
ArchitectureInstrumentation/Tracing
AWS X-Ray
trace code through multiple subsystemsautomatically capture http[s] calls, aws sdk calls, etc
traces, segments and annotations
sampling
31 / 40
![Page 32: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/32.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 32/40
ArchitectureInstrumentation/Tracing
Courtesy of AWS X-ray docs 32 / 40
![Page 33: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/33.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 33/40
ArchitectureInstrumentation/Tracing
Courtesy of AWS X-ray docs33 / 40
![Page 34: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/34.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 34/40
ArchitectureInstrumentation/Logging
request idx-amzn-requestid: api gateway requestxray-trace-id
correlation idgenerate in initial request(eg. api gateway)add to all outgoing requestpass along in all services
DEBUGif an issue occurs, you might need to switch to debug logsconsider having special header to enable DEBUG on all downstream serviceshave small percentage of logs always be DEBUG
34 / 40
![Page 35: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/35.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 35/40
ArchitectureEtc
all the servicesone server vs 100 microservices
pricingfixed hourly cost vs cost by use
best practicesdeployment, languages, libraries, frameworks
35 / 40
![Page 36: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/36.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 36/40
Getting Started
strangler pattern
longstanding workloads, still use servers (for now)
use toolsbuiltin: XRay, Cloudwatch Logsframeworks: serverless, SAMservices: IOPipe, Stackery.io
36 / 40
![Page 37: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/37.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 37/40
Mental Model
Compute ModelOnPrem Pets: need to be taken care ofCloud Cattle: swap out when neededServerless Bug: should not exist
37 / 40
![Page 38: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/38.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 38/40
Takeaways
serverless is a spectrum, "serverless" is at the end of the spectrum
serverless is higher abstractions, pay-by-use, and "infinite" scale
serverless requires a deep understanding of platform and performance limitations
serverless is coming
38 / 40
![Page 39: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/39.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 39/4039 / 40
![Page 40: on AWS Building Scalable Serverless Applicationscloud.thence.io where you can find articles about serverless and all things aws related Everything is Broken on April 3rd where I'm](https://reader030.vdocuments.site/reader030/viewer/2022040812/5e55a4d81ae7be5bdd1d8733/html5/thumbnails/40.jpg)
2/28/2019 My Presentation
http://localhost:8000/dist/presentation.html#1 40/40
You might also be interested in...cloud.thence.io where you can find articles about serverless and all things aws related
Everything is Broken on April 3rd where I'm giving a talk focused exclusively on scaling Lambda
[email protected] if you have quesitons or want to talk further
40 / 40