27
Joint work with Erik Wittern and Waldemar Hummer Josef Spillner AWS Lambda and #serverless. What’s all the fuzz about? Philipp Leitner [email protected] @xLeitix

AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Joint work with Erik Wittern and Waldemar Hummer Josef Spillner

AWS Lambda and #serverless. What’s all the fuzz about?

Philipp Leitner

[email protected]

@xLeitix

Page 2: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !2

https://icet-lab.eu

@IcetLab

We are hiring a postdoc!!

Page 3: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !3

Function-as-a-Service?

Page 4: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !4

Function-as-a-Service? Serverless?

Page 5: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !5

Source: https://aws.amazon.com/lambda/

Page 6: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !6

Source: https://aws.amazon.com/lambda/

Page 7: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !7

Source: https://aws.amazon.com/lambda/

Page 8: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !8

Source: https://aws.amazon.com/lambda/

Page 9: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !9

Source: https://github.com/aws-samples/lambda-refarch-streamprocessing

An Example: Real-Time Tweet Processing

Page 10: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !10

Internally

Container Runtime

Events(e.g., client

requests, system events,

triggers…)

User/tenant datastore

Execution datastore

e e e…

Execution QueueResult data

Function Controller

Function datastore

Function source code

Function container

<fn>

Event Controller

Load balancer

Authentication

Rule engine

Authorization Function container

<fn>Function container

<fn>

Source: loosely based on IBM’s OpenWhisk architecture

Page 11: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !11

No state

Page 12: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !12

No state

Hard cap on max. execution time

Page 13: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !13

No state

Hard cap on max. execution time

Extreme tail latency

Page 14: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !14

Page 15: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !15

Methodology

Interviews (n = 12)

Analysis of Grey Literature (n = 50)

Web Survey (n = 182)

Page 16: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !16

Main Findings

Compositional Application Model

“Microservices on steroids”

Page 17: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !17

Source: https://github.com/aws-samples/lambda-refarch-streamprocessing

Recall: Real-Time Tweet Processing

Page 18: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !18

Compositional Application Model

Page 19: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !19

Main Findings

Compositional Application Model

Use Cases

Page 20: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !20

Main Findings

User-Facing

27 (2

9%)

Backend

29 (3

1%)

Both38 (40%)

But: many challenges in user-facing apps

Page 21: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !21

Use Cases - Backend

Page 22: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !22

Main Findings

Compositional Application Model

Use Cases Challenges

Page 23: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !23

Challenges

Page 24: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !24

The Future (as we see it)

“Faster horses” Different Servicesvs

(end user view) (provider view)

Page 25: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !25

The Future (as we see it)

Different Services

“Function-as-a-Service as the assembly language of the cloud”

Page 26: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !26

The Future (as we see it)

Different Services

“Function-as-a-Service as the assembly language of the cloud”

Page 27: AWS Lambda and #serverless. · Source: loosely based on IBM’s OpenWhisk architecture. Chalmers !11 No state. Chalmers !12 No state Hard cap on max. execution time. Chalmers !13

Chalmers !27

Learn More

https://peerj.com/preprints/27005/