Confusion in the land of the serverless Sam Newman Building - - PowerPoint PPT Presentation

confusion in the land of the serverless
SMART_READER_LITE
LIVE PREVIEW

Confusion in the land of the serverless Sam Newman Building - - PowerPoint PPT Presentation

Confusion in the land of the serverless Sam Newman Building Microservices DESIGNING FINE - GRAINED SYSTEMS Sam Newman #gotoams @samnewman Sam Newman & Associates #gotoams @samnewman #gotoams @samnewman #gotoams @samnewman


slide-1
SLIDE 1

Confusion in the land

  • f the serverless

Sam Newman

slide-2
SLIDE 2

@samnewman

#gotoams

Sam Newman

Building Microservices

DESIGNING FINE-GRAINED SYSTEMS
slide-3
SLIDE 3

@samnewman

#gotoams

Sam Newman & Associates

slide-4
SLIDE 4

@samnewman

#gotoams

slide-5
SLIDE 5

@samnewman

#gotoams https://www.flickr.com/photos/joshuamckenty/2297179486/

slide-6
SLIDE 6

@samnewman

#gotoams

slide-7
SLIDE 7

@samnewman

#gotoams

slide-8
SLIDE 8

https://www.flickr.com/photos/143601516@N03/28346073830/

slide-9
SLIDE 9

@samnewman

#gotoams

slide-10
SLIDE 10
slide-11
SLIDE 11

@samnewman

#gotoams

#serverless

slide-12
SLIDE 12

@samnewman

#gotoams

slide-13
SLIDE 13
slide-14
SLIDE 14

@samnewman

#gotoams http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/

slide-15
SLIDE 15

@samnewman

#gotoams http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/

The phrase “serverless” doesn’t mean servers are no longer

  • involved. It simply means that developers no longer have to

think that much about them. Computing resources get used as services without having to manage around physical capacities

  • r limits.
slide-16
SLIDE 16

@samnewman

#gotoams

lambda launched in 2014

slide-17
SLIDE 17

@samnewman

#gotoams

Platform

slide-18
SLIDE 18

@samnewman

#gotoams

Platform

WOW!

slide-19
SLIDE 19

@samnewman

#gotoams

Platform

Yay, serverless! WOW!

slide-20
SLIDE 20

@samnewman

#gotoams

Platform

Yay, serverless! S

  • a

b s t r a c t WOW!

slide-21
SLIDE 21

@samnewman

#gotoams

Platform

Yay, serverless! S

  • a

b s t r a c t Much PAYG WOW!

slide-22
SLIDE 22

@samnewman

#gotoams

Server Server Server Server Platform

Yay, serverless! S

  • a

b s t r a c t Much PAYG WOW!

slide-23
SLIDE 23

@samnewman

#gotoams

Server Server Server Server Platform

Yay, serverless! S

  • a

b s t r a c t Much PAYG WOW!

Wat?

slide-24
SLIDE 24

@samnewman

#gotoams

slide-25
SLIDE 25

@samnewman

#gotoams

https://martinfowler.com/articles/serverless.html

slide-26
SLIDE 26

@samnewman

#gotoams

Mike Roberts’ Definition Of Serverless

slide-27
SLIDE 27

@samnewman

#gotoams

  • 1. No management of server hosts or

server processes

Mike Roberts’ Definition Of Serverless

slide-28
SLIDE 28

@samnewman

#gotoams

  • 1. No management of server hosts or

server processes

  • 2. Self auto-scale and auto-provision based
  • n load

Mike Roberts’ Definition Of Serverless

slide-29
SLIDE 29

@samnewman

#gotoams

  • 1. No management of server hosts or

server processes

  • 2. Self auto-scale and auto-provision based
  • n load
  • 3. Costs based on precise usage

Mike Roberts’ Definition Of Serverless

slide-30
SLIDE 30

@samnewman

#gotoams

  • 1. No management of server hosts or

server processes

  • 2. Self auto-scale and auto-provision based
  • n load
  • 3. Costs based on precise usage
  • 4. Performance capabilities defined in terms
  • ther than host size/count

Mike Roberts’ Definition Of Serverless

slide-31
SLIDE 31

@samnewman

#gotoams

  • 1. No management of server hosts or

server processes

  • 2. Self auto-scale and auto-provision based
  • n load
  • 3. Costs based on precise usage
  • 4. Performance capabilities defined in terms
  • ther than host size/count
  • 5. Implicit high availability

Mike Roberts’ Definition Of Serverless

slide-32
SLIDE 32

@samnewman

#gotoams

slide-33
SLIDE 33

@samnewman

#gotoams

slide-34
SLIDE 34

@samnewman

#gotoams

FAAS

slide-35
SLIDE 35

@samnewman

#gotoams

FAAS

slide-36
SLIDE 36

@samnewman

#gotoams

FAAS BAAS

slide-37
SLIDE 37

@samnewman

#gotoams

slide-38
SLIDE 38

@samnewman

#gotoams

slide-39
SLIDE 39

@samnewman

#gotoams

slide-40
SLIDE 40

@samnewman

#gotoams

slide-41
SLIDE 41

@samnewman

#gotoams

slide-42
SLIDE 42

@samnewman

#gotoams

slide-43
SLIDE 43

@samnewman

#gotoams

IAAS

slide-44
SLIDE 44

@samnewman

#gotoams

IAAS CAAS

slide-45
SLIDE 45

@samnewman

#gotoams

IAAS CAAS PAAS

slide-46
SLIDE 46

@samnewman

#gotoams

IAAS CAAS FAAS PAAS BAAS

slide-47
SLIDE 47

@samnewman

#gotoams

IAAS CAAS FAAS PAAS BAAS

Serverless?

slide-48
SLIDE 48

@samnewman

#gotoams

IAAS CAAS FAAS PAAS BAAS

Serverless?

slide-49
SLIDE 49

@samnewman

#gotoams

IAAS CAAS FAAS PAAS BAAS

Serverless?

slide-50
SLIDE 50

@samnewman

#gotoams

BASS? BASS?

slide-51
SLIDE 51

@samnewman

#gotoams

*AAS

slide-52
SLIDE 52

@samnewman

#gotoams

https://twitter.com/kelseyhightower/status/856272003963039744

slide-53
SLIDE 53

@samnewman

#gotoams http://readwrite.com/2012/10/15/why-the-future-of-software-and-apps-is-serverless/

The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them.

slide-54
SLIDE 54

@samnewman

#gotoams

https://twitter.com/bibryam/status/1007284710136000513

slide-55
SLIDE 55

@samnewman

#gotoams

Undifferentiated Heavy Lifting

slide-56
SLIDE 56

@samnewman

#gotoams https://www.flickr.com/photos/ibm_media/33838065805/

slide-57
SLIDE 57

@samnewman

“Developers turn caffeine into abstractions”

  • Brian Marick, possibly
slide-58
SLIDE 58

@samnewman

Machine Code

slide-59
SLIDE 59

@samnewman

Machine Code Assembly Code

slide-60
SLIDE 60

@samnewman

Machine Code Assembly Code Application Code

slide-61
SLIDE 61

@samnewman

#gotoams

Resiliency

slide-62
SLIDE 62

@samnewman

#gotoams

slide-63
SLIDE 63

@samnewman

#gotoams

slide-64
SLIDE 64

@samnewman

#gotoams

Risk

slide-65
SLIDE 65

@samnewman

#gotoams

Risk Market Data

slide-66
SLIDE 66

@samnewman

#gotoams

Risk Market Data

DB

slide-67
SLIDE 67

@samnewman

#gotoams

https://www.flickr.com/photos/dennissylvesterhurd/4722435652/

slide-68
SLIDE 68

@samnewman

#gotoams

Risk Market Data

DB

slide-69
SLIDE 69

@samnewman

#gotoams

Risk Market Data

DB

slide-70
SLIDE 70

@samnewman

#gotoams

slide-71
SLIDE 71

@samnewman

#gotoams

DB

slide-72
SLIDE 72

@samnewman

#gotoams

DB

Connection Pool

slide-73
SLIDE 73

@samnewman

#gotoams

DB

Connection Pool

slide-74
SLIDE 74

@samnewman

#gotoams

DB

Connection Pool

slide-75
SLIDE 75

@samnewman

#gotoams

DB

Connection Pool

Connection pools throttle load

slide-76
SLIDE 76

@samnewman

#gotoams

DB

Connection Pool

Connection pools throttle load And allow for load shedding

slide-77
SLIDE 77

@samnewman

#gotoams

DB

slide-78
SLIDE 78

@samnewman

#gotoams

DB

slide-79
SLIDE 79

@samnewman

#gotoams

DB

slide-80
SLIDE 80

@samnewman

#gotoams

DB

slide-81
SLIDE 81

@samnewman

#gotoams

DB

slide-82
SLIDE 82

@samnewman

#gotoams

slide-83
SLIDE 83

@samnewman

#gotoams

slide-84
SLIDE 84

@samnewman

#gotoams

slide-85
SLIDE 85

@samnewman

#gotoams

slide-86
SLIDE 86

@samnewman

#gotoams

But what about hybrid apps?

slide-87
SLIDE 87

@samnewman

#gotoams

slide-88
SLIDE 88

@samnewman

#gotoams

https://www.flickr.com/photos/vax-o-matic/2545657717/

slide-89
SLIDE 89

@samnewman

#gotoams

Risk

Circuit Breaker

slide-90
SLIDE 90

@samnewman

#gotoams

Risk

Circuit Breaker

slide-91
SLIDE 91

@samnewman

#gotoams

Risk

Circuit Breaker

slide-92
SLIDE 92

@samnewman

#gotoams

Risk

Circuit Breaker

slide-93
SLIDE 93

@samnewman

#gotoams

Risk

Circuit Breaker

slide-94
SLIDE 94

@samnewman

#gotoams

Risk

Circuit Breaker

slide-95
SLIDE 95

@samnewman

#gotoams

Risk

Circuit Breaker

slide-96
SLIDE 96

@samnewman

#gotoams

Circuit breakers rely on maintaining per-client state across requests

Risk

Circuit Breaker

slide-97
SLIDE 97

@samnewman

#gotoams

Risk Market Data

slide-98
SLIDE 98

@samnewman

#gotoams

Risk Market Data Throttling & Load shedding middleware?

slide-99
SLIDE 99

@samnewman

#gotoams

slide-100
SLIDE 100

@samnewman

#gotoams

Security

slide-101
SLIDE 101

@samnewman

#gotoams

slide-102
SLIDE 102

@samnewman

#gotoams

Friends don’t let friends run untrusted code in containers

slide-103
SLIDE 103

@samnewman

#gotoams

slide-104
SLIDE 104

@samnewman

#gotoams

slide-105
SLIDE 105

@samnewman

#gotoams

slide-106
SLIDE 106

@samnewman

#gotoams

If your function isn’t running, it’s not there…

slide-107
SLIDE 107

@samnewman

#gotoams

If your function isn’t running, it’s not there… …and you’re running in a sandbox anyway…

slide-108
SLIDE 108

@samnewman

#gotoams

If your function isn’t running, it’s not there… …and you’re running in a sandbox anyway… Kinda

slide-109
SLIDE 109

@samnewman

#gotoams

Lock-in?

slide-110
SLIDE 110

@samnewman

#gotoams

https://www.flickr.com/photos/fallsroad/14244241233/

slide-111
SLIDE 111

@samnewman

#gotoams

slide-112
SLIDE 112

@samnewman

#gotoams

Don’t think lock-in, think migration cost

slide-113
SLIDE 113

@samnewman

#gotoams

Cost of migration

slide-114
SLIDE 114

@samnewman

#gotoams

Cost of migration

slide-115
SLIDE 115

@samnewman

#gotoams

Cost of migration Blob storage

slide-116
SLIDE 116

@samnewman

#gotoams

Cost of migration Compute Blob storage

slide-117
SLIDE 117

@samnewman

#gotoams

Cost of migration Compute Blob storage Load balancers

slide-118
SLIDE 118

@samnewman

#gotoams

Cost of migration Compute Blob storage Load balancers FAAS

slide-119
SLIDE 119

@samnewman

#gotoams

Cost of migration Compute Blob storage Load balancers FAAS BAAS

slide-120
SLIDE 120

@samnewman

#gotoams

Pay now or pay later

slide-121
SLIDE 121

@samnewman

#gotoams

Mixing vendors?

slide-122
SLIDE 122

@samnewman

#gotoams

slide-123
SLIDE 123

@samnewman

#gotoams

https://github.com/openfaas/faas

slide-124
SLIDE 124

@samnewman

#gotoams

https://github.com/openfaas/faas-netes

slide-125
SLIDE 125

@samnewman

#gotoams

https://github.com/fission/fission

slide-126
SLIDE 126

@samnewman

#gotoams

http://openwhisk.incubator.apache.org

slide-127
SLIDE 127

@samnewman

#gotoams

https://github.com/open-lambda/open-lambda

slide-128
SLIDE 128

@samnewman

#gotoams

https://www.flickr.com/photos/reavel/2496345250/

slide-129
SLIDE 129

@samnewman

#gotoams

Agile

slide-130
SLIDE 130

@samnewman

#gotoams

DevOps Agile

slide-131
SLIDE 131

@samnewman

#gotoams

Microservices DevOps Agile

slide-132
SLIDE 132

@samnewman

#gotoams

I can’t use that, it’s not #serverless!

slide-133
SLIDE 133

@samnewman

#gotoams

“There is No Future with Fewer Servers”

  • Luke Kanies
slide-134
SLIDE 134

@samnewman

#gotoams

slide-135
SLIDE 135

@samnewman

#gotoams

It’s just abstractions…

slide-136
SLIDE 136

@samnewman

#gotoams

It’s just abstractions… …all the way down

slide-137
SLIDE 137

@samnewman

#gotoams

http://samnewman.io @samnewman Thank You!