Building resilient serverless workloads: Navigating through failures

JimmyDahlqvist 22 views 35 slides Sep 19, 2024
Slide 1
Slide 1 of 35
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35

About This Presentation

My talk "Building resilient serverless workloads:
Navigating through failures"
from AWS Community Day DACH


Slide Content

Building resilient serverless workloads: Navigating through failures JIMMY DAHLQVIST | 2024-09-17

Building resilient serverless workloads: Navigating through failures JIMMY DAHLQVIST | 2024-09-17

Thank You!

JIMMY DAHLQVIST Head of AWS @ Sigma Technology Cloud Founder of serverless- handbook.com AWS Serverless Hero ☁️ User Group Leader ☁️ AWS Ambassador   § Hello, I'm

Resources https://serverless-handbook.com Architecture patterns Solutions Workshops

Agenda What is serverless and resiliency Architecting resilient system – Good practices Summary What did you learn?

What is serverless? Automatic and flexible scaling No capacity planning High Availability Pay-for-use billing

What is resiliency? The ability for a software solution to handle the impact of problems, and recover from turbulent conditions, when other parts in the system fails.

“Everything fails all the time Dr. Werner Vogels , CTO, Amazon.com

Understand AWS Services Everything has a limit Understand how services work under the hood

Resiliency testing (in prod- ish ) Chaos Engineering Amazon Fault Injector Service Start in QA Don’t forget about data

Web application

Do we need an immediate response?

Storage-First

Storage-First Data-centric design Durability and availability Scalable System Design Asynchronous processing

Storage-First Things to consider Architectural complexity Eventual consistency Design for idempotency Risk of over-optimization

Queue Load Leveling

Queue load leveling System stability Handle unexpected spikes Protect downstream resources

Decoupling

Decoupling

Retries Selfish Exponential backoff Users can make it worse

Retries with backoff and jitter No Jitter With Jitter Image: Amazon Architecture blog (https:// tinyurl.com /y48t2v4h)

DLQ

DLQ

Circuit breaker

Circuit breaker Half Open

Circuit breaker Avoid cascading failures Protect system resources Risk of early circuit break Good observability required

Put it all together

Notification Service Payment Service

What we talked about Design for failure Buffer and store messages first Process asynchronously Level the load Retry on failures Break if integrations are not healthy

Quiz with me!

@jimmydahlqvist dahlqvistjimmy https://serverless- handbook.com https:// jimmydqv.com THANK YOU

@jimmydahlqvist dahlqvistjimmy https://serverless- handbook.com https:// jimmydqv.com PLEASE FILL IN THE SESSION SURVEY

PLEASE FILL IN THE SESSION SURVEY
Tags