Slide 1

Slide 1 text

Evolutionary Serverless Architecture From hackathon to product - marbot.io

Slide 2

Slide 2 text

HELLO! I am Michael Wittig cloudonaut.io and AWS in Action (Manning) [email protected] - @hellomichibye 2

Slide 3

Slide 3 text

3 From hackathon...

Slide 4

Slide 4 text

4 ...to product

Slide 5

Slide 5 text

5 ▰ Incremental change ▰ Fitness functions ▰ Appropriate coupling

Slide 6

Slide 6 text

Hi, marbot here! I’m a Slack bot supporting your DevOps team to detect and solve incidents on AWS. 6

Slide 7

Slide 7 text

Why marbot? ▰ smart escalation algorithm minimizes distraction and response time ▰ configures AWS monitoring for you ▰ fun and easy to use chatbot ▰ contextual help to resolve AWS incidents 7

Slide 8

Slide 8 text

8

Slide 9

Slide 9 text

Fitness function ƒ: X→figure of merit 9

Slide 10

Slide 10 text

Key fitness functions ▰ Never lose alerts ▰ End user latency < 200 ms ▰ Code coverage > 80 % ▰ Monitoring coverage > 90 % ▰ Managed over self-managed 10

Slide 11

Slide 11 text

Architecture 11

Slide 12

Slide 12 text

12 Diagrams powered by:

Slide 13

Slide 13 text

Key fitness functions ▰ ● Never lose alerts ▰ ● End user latency < 200 ms ▰ ● Code coverage > 80 % ▰ ● Monitoring coverage > 90 % ▰ ● Managed over self-managed 13

Slide 14

Slide 14 text

14

Slide 15

Slide 15 text

Key fitness functions ▰ ● Never lose alerts ▰ ● End user latency < 200 ms ▰ ● Code coverage > 80 % ▰ ● Monitoring coverage > 90 % ▰ ● Managed over self-managed 15

Slide 16

Slide 16 text

16

Slide 17

Slide 17 text

Key fitness functions ▰ ● Never lose alerts ▰ ● End user latency < 200 ms ▰ ● Code coverage > 80 % ▰ ● Monitoring coverage > 90 % ▰ ● Managed over self-managed 17

Slide 18

Slide 18 text

Summary 18

Slide 19

Slide 19 text

Start as simple as possible ▰ Automate deployment ▰ Use small managed building blocks ▰ Add monitoring/tracking everywhere ▰ Don’t optimize 19

Slide 20

Slide 20 text

Evolve the architecture over time ▰ Analyze monitoring/tracking data ▰ Optimize where necessary ▰ Decouple (e.g. with Step Functions) 20

Slide 21

Slide 21 text

Other learnings ▰ Step functions are awesome timers ▰ User interaction with step functions is ugly ▰ Idempotent state transitions ▰ Remote calls need retry logic 21

Slide 22

Slide 22 text

CREDITS Special thanks to all the people who made and released these awesome resources for free: ▰ Presentation template by SlidesCarnival ▰ Photographs by PEXELS 22

Slide 23

Slide 23 text

23 Good Bye! Checkout marbot.io cloudonaut.io, and AWS in Action [email protected] - @hellomichibye