Slide 1

Slide 1 text

SERVERLESS -
 BEST PRACTICES & LESSONS LEARNED NIKO KÖBLER (@DASNIKO)

Slide 2

Slide 2 text

ABOUT ME ▸ Freelance Consultant/Architect/Developer/Trainer @ www.n-k.de ▸ Technical Advisor for Software & Support Media Group ▸ Doing stuff with & without computers, writing Software, ~ 20 yrs ▸ Co-Lead of JUG DA (https://www.jug-da.de / @JUG_DA) ▸ Speaker at international Tech Conferences ▸ Author of „Serverless Computing in AWS Cloud“
 serverlessbuch.de ▸ Twitter: @dasniko

Slide 3

Slide 3 text

SERVERLESS COMPUTE MANIFESTO ▸Functions are the unit of deployment and scaling. ▸No machines, VMs or containers visible in the programming model or elsewhere. ▸Permanent storage lives elsewhere. (Functions are stateless!) ▸Scales per request: User cannot over- or under-provision capacity. ▸Never pay for idle (no cold servers/containers or their costs). ▸Implicitly fault-tolerant because functions can run anywhere. ▸BYOC - Bring Your Own Code. ▸Metrics and logging are a universal Right.

Slide 4

Slide 4 text

SERVERLESS IS NOT FAAS ON CONTAINERS!

Slide 5

Slide 5 text

SERVERLESS AWS BUILDING BLOCKS

Slide 6

Slide 6 text

PAAS SERVERLESS IS AN EVOLUTION OF PAAS!

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

USE CASES

Slide 9

Slide 9 text

USE CASE: SERVERLESS WEB ARCHITECTURE

Slide 10

Slide 10 text

USE CASE: SERVERLESS STREAM PROCESSING

Slide 11

Slide 11 text

USE CASE: SERVERLESS ANALYTICS

Slide 12

Slide 12 text

https://medium.com/@tjholowaychuk/dos-and-don-ts-of-aws-lambda-7dfcab7ad115

Slide 13

Slide 13 text

USE CASE: SERVERLESS MAP/REDUCE

Slide 14

Slide 14 text

MEANWHILE OTHERS… From: http://theburningmonk.com/2017/04/aws-lambda-3-pro-tips-for-working-with-kinesis-streams/ !

Slide 15

Slide 15 text

ENVIRONMENT NO FREEDOM OF CHOICE AT
 RUNTIME & LANGUAGE ENVIRONMENTS (BOUND TO WHAT PROVIDER OFFERS)

Slide 16

Slide 16 text

PROGRAMMING MODEL CACHING CONTAINERS OBJECTS

Slide 17

Slide 17 text

PROGRAMMING MODEL STARTING (AND HANDLING!) OF OWN PROCESSES

Slide 18

Slide 18 text

PROGRAMMING MODEL JAVASCRIPT CALL STACK & EVENT LOOP context.callbackWaitsForEmptyEventLoop

Slide 19

Slide 19 text

ERROR HANDLING DEAD LETTER QUEUES

Slide 20

Slide 20 text

AWS X-RAY

Slide 21

Slide 21 text

AWS X-RAY

Slide 22

Slide 22 text

TIME IS YOUR ENEMY!

Slide 23

Slide 23 text

TIMEOUT LIMITS DEFAULT TIMEOUT MAX TIMEOUT

Slide 24

Slide 24 text

EXECUTION-TIME MEMORY SETTINGS (RAM) HAVE IMPACTS ON CPU- & NETWORK-PERFORMANCE

Slide 25

Slide 25 text

""" FUNCTION: 1 EXECUTION / HOUR 512 MB, 10 SEC. MONTHLY EXECUTION COUNT: 720 MONTHLY GB-SEC.: 3.600

Slide 26

Slide 26 text

""" FUNCTION: 1 EXECUTION / HOUR 1536 MB, 2 SEC. MONTHLY EXECUTION COUNT: 720 MONTHLY GB-SEC.: 2.160

Slide 27

Slide 27 text

COLD START
 LATENCY

Slide 28

Slide 28 text

REDUCE LATENCY (AND COSTS) CLOUDWATCH EVENTS TO PRE-WARM FUNCTIONS

Slide 29

Slide 29 text

""" FUNCTION: 1 EXECUTION / HOUR 1024 MB, 5 SEC. MONTHLY EXECUTION COUNT: 720 MONTHLY GB-SEC.: 3.600

Slide 30

Slide 30 text

""" FUNCTION: 12 EXECUTIONS / HOUR 512 MB, 100 MS. MONTHLY EXECUTION COUNT: 8.640 MONTHLY GB-SEC.: 432

Slide 31

Slide 31 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 32

Slide 32 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 33

Slide 33 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 34

Slide 34 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 35

Slide 35 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 36

Slide 36 text

https://hackernoon.com/im-afraid-you-re-thinking-about-aws-lambda-cold-starts-all-wrong-7d907f278a4f

Slide 37

Slide 37 text

https://github.com/alexcasalboni/aws-lambda-power-tuning
 https://serverless.com/blog/aws-lambda-power-tuning/

Slide 38

Slide 38 text

""" USE A SERVERLESS/LAMBDA CALCULATOR E.G. SERVERLESSCALC.COM

Slide 39

Slide 39 text

AWS LIMITS KNOW THE LIMITS! (E.G. MAX CONCURRENT INVOCATIONS,
 PAYLOAD-SIZE, MEMORY-SETTINGS, ETC.) KNOW HOW TO INCREASE THE LIMITS!

Slide 40

Slide 40 text

NETWORK & SECURITY VPC - VIRTUAL PRIVATE CLOUD Be careful! VPC requires Elastic Network Interfaces (ENIs). ENIs add some seconds(!!) to the cold start!

Slide 41

Slide 41 text

API GATEWAY SECURITY AUTHENTICATION, AUTHORIZATION API-KEYS, USAGE PLANS, THROTTLING, ETC.

Slide 42

Slide 42 text

TESTING DON’T! # LOCAL (UNIT) VS. CLOUD (INTEGRATION) AWS SAM Local, LocalStack

Slide 43

Slide 43 text

BUILD & DEPLOYMENT (from: https://aws.amazon.com/codepipeline) AWS CODEPIPELINE Automated continuous integration and continuous delivery release workflow

Slide 44

Slide 44 text

DEVOPS SERVERLESS IS NOT NO-OPS! NO OPS COST != NO COST OF OWNERSHIP! YOU ARE STILL RESPONSIBLE FOR THE (END) RESULTS KEEP DEVOPS IN MIND!

Slide 45

Slide 45 text

MIGRATION TO SERVERLESS ‣ IDENTIFY THE PROBLEM ‣ TRAIN THE EXISTING TEAM ‣ CREATE A PROOF-OF-CONCEPT TO VERIFY THE PROBLEM IS SOLVED ‣ OPTIMIZE THE SOLUTION TO TAKE ADVANTAGE OF THE CLOUD ‣ AUTOMATE YOUR CONTINUOUS INTEGRATION/CONTINUOUS DEPLOYMENT PIPELINE ‣ AUTOMATE YOUR TESTING

Slide 46

Slide 46 text

MIGRATION TO SERVERLESS 30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/

Slide 47

Slide 47 text

30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/ MIGRATION TO SERVERLESS

Slide 48

Slide 48 text

30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/ MIGRATION TO SERVERLESS

Slide 49

Slide 49 text

30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/ MIGRATION TO SERVERLESS

Slide 50

Slide 50 text

30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/ MIGRATION TO SERVERLESS

Slide 51

Slide 51 text

30 QUESTIONS TO ASK A SERVERLESS FANBOY HTTP://WWW.IHEAVY.COM/2017/03/13/30-QUESTIONS-TO-ASK-A-SERVERLESS-FANBOY/ MIGRATION TO SERVERLESS

Slide 52

Slide 52 text

https://d1.awsstatic.com/whitepapers/serverless-architectures-with-aws-lambda.pdf

Slide 53

Slide 53 text

THANK YOU. ANY QUESTIONS? Slides: bit.ly/sls-ll Niko Köbler | www.n-k.de | [email protected] | @dasniko SERVERLESS - BEST PRACTICES & LESSONS LEARNED