Why You Can’t Buy Cloud Native

A presentation at WTF Is Cloud Native Conf in November 2021 in by Holly Cummins

Slide 1

Slide 1

why you can’t buy cloud native Holly Cummins IBM @holly_cummins

Slide 2

Slide 2

#WTFIsCloudNative @holly_cummins #IBM

Slide 3

Slide 3

#WTFIsCloudNative @holly_cummins #IBM

Slide 4

Slide 4

what are we even trying to buy?

Slide 5

Slide 5

what are we even trying to buy?

Slide 6

Slide 6

what are we even trying to buy? Kubernetes

Slide 7

Slide 7

what are we even trying to buy? Kubernetes Micro services

Slide 8

Slide 8

what are we even trying to buy? Born on the Cloud Kubernetes Micro services

Slide 9

Slide 9

what are we even trying to buy? DevOps but make it 2021 Born on the Cloud Kubernetes Micro services

Slide 10

Slide 10

what are we even trying to buy? DevOps 12-factor but make it 2021 Born on the Cloud Kubernetes Micro services

Slide 11

Slide 11

what are we even trying to buy? Just Cloud DevOps 12-factor but make it 2021 Born on the Cloud Kubernetes Micro services

Slide 12

Slide 12

what are we even trying to buy? Just Cloud DevOps 12-factor but make it 2021 Modern and Nice Born on the Cloud Kubernetes Micro services

Slide 13

Slide 13

what are we even trying to buy? Just Cloud DevOps 12-factor but make it 2021 Modern and Nice Born on the Cloud Kubernetes Micro services Idempotent

Slide 14

Slide 14

what are we even trying to buy? Just legacy app but on the cloud Cloud DevOps 12-factor but make it 2021 Modern and Nice Born on the Cloud Kubernetes Micro services Idempotent

Slide 15

Slide 15

what do you all think? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM

Slide 16

Slide 16

Slide 17

Slide 17

have you greenfield monolithed lately? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM

Slide 18

Slide 18

microservices will make me look so good #IBM @holly_cummins

Slide 19

Slide 19

surely no one would … #IBM @holly_cummins

Slide 20

Slide 20

surely no one would … #IBM @holly_cummins

Slide 21

Slide 21

surely no one would … #IBM @holly_cummins oh.

Slide 22

Slide 22

cv-driven development #IBM @holly_cummins

Slide 23

Slide 23

there’s a whole landscape to explore @holly_cummins #IBM

Slide 24

Slide 24

it’s not just a landscape it’s a catalog @holly_cummins #IBM

Slide 25

Slide 25

ooh, which it’s not just a landscape ones shall I have? it’s a catalog @holly_cummins #IBM

Slide 26

Slide 26

ooh, which it’s not just a landscape ones shall I have? it’s a catalog they’re all so shiny @holly_cummins #IBM

Slide 27

Slide 27

what problem are we trying to solve? #IBM @holly_cummins

Slide 28

Slide 28

my problem is there aren’t enough containers yet? @holly_cummins #IBM

Slide 29

Slide 29

my problem is there aren’t enough containers yet? @holly_cummins #IBM

Slide 30

Slide 30

Slide 31

Slide 31

Slide 32

Slide 32

Slide 33

Slide 33

Warning ! May contain Coupling Cloud native spaghetti Distributed monolith

Slide 34

Slide 34

#IBM @holly_cummins

Slide 35

Slide 35

distributed monolith #IBM @holly_cummins

Slide 36

Slide 36

distributed monolith worst of both worlds: no compile-time checking … or guaranteed function execution #IBM @holly_cummins

Slide 37

Slide 37

microservices are not the goal #IBM @holly_cummins

Slide 38

Slide 38

microservices are not the goal they are the means #IBM @holly_cummins

Slide 39

Slide 39

microservices are not the goal they means theyare arethe a means #IBM @holly_cummins

Slide 40

Slide 40

Slide 41

Slide 41

“the cloud native-ness comes from these network connections”

Slide 42

Slide 42

“the cloud native-ness comes from these network connections” (no, it doesn’t!)

Slide 43

Slide 43

reasons not to do microservices small team not planning to release independently don’t want complexity of a service mesh - or worse yet, rolling your own domain model doesn’t split nicely #WTFIsCloudNative @holly_cummins #IBM

Slide 44

Slide 44

Slide 45

Slide 45

Distributed computing fallacies

Slide 46

Slide 46

Distributed computing fallacies 1. The network is reliable; 2. Latency is zero; 3. Bandwidth is infinite; 4. The network is secure; 5. Topology doesn’t change; 6. There is one administrator; 7. Transport cost is zero; 8. The network is homogeneous.

Slide 47

Slide 47

Distributed computing fallacies 1. The network is reliable; 2. Latency is zero; 3. Bandwidth is infinite; 4. The network is secure; 5. Topology doesn’t change; 6. There is one administrator; 7. Transport cost is zero; 8. The network is homogeneous. 9. Distributed means decoupled!

Slide 48

Slide 48

true story “every time we change one microservice, another breaks” #WTFIsCloudNative @holly_cummins #IBM

Slide 49

Slide 49

distributed != decoupled #WTFIsCloudNative @holly_cummins #IBM

Slide 50

Slide 50

how do you know if you’re decoupled? @holly_cummins #IBM

Slide 51

Slide 51

can you deploy independently? v5.1.4 v5.1.4 v5.1.4 v5.1.4

Slide 52

Slide 52

can you deploy independently? v6.2.8 v65.7 v5.1.4 v1.0.5

Slide 53

Slide 53

“we made our pipeline enforce releasing all our microservices at the same time.” #IBM @holly_cummins true story

Slide 54

Slide 54

can you even deploy at all? #IBM @holly_cummins

Slide 55

Slide 55

do you deploy? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM

Slide 56

Slide 56

can you even release at all? #IBM @holly_cummins

Slide 57

Slide 57

a deploy is not a release deferred wiring #WTFIsCloudNative @holly_cummins #IBM

Slide 58

Slide 58

a deploy is not a release feature flags #WTFIsCloudNative @holly_cummins #IBM

Slide 59

Slide 59

a deploy is not a release A/B testing canary deploys #WTFIsCloudNative @holly_cummins #IBM

Slide 60

Slide 60

“we have a CI/CD” #WTFIsCloudNative @holly_cummins #IBM

Slide 61

Slide 61

by the way, you also can’t buy devops #WTFIsCloudNative @holly_cummins #IBM

Slide 62

Slide 62

and you can’t buy a devop #WTFIsCloudNative @holly_cummins #IBM

Slide 63

Slide 63

CI/CD is something you do not a tool you buy #WTFIsCloudNative @holly_cummins #IBM

Slide 64

Slide 64

“i’ll merge my branch into our CI next week” #WTFIsCloudNative @holly_cummins #IBM

Slide 65

Slide 65

“CI/CD … CI/CD … CI/CD … we release every six months … CI/CD …. ” #WTFIsCloudNative @holly_cummins #IBM

Slide 66

Slide 66

continuous. I do not think that word means what you think it means. #WTFIsCloudNative @holly_cummins #IBM

Slide 67

Slide 67

true story “we’re going too slowly. we need to get rid of COBOL and make microservices!” #IBM @holly_cummins

Slide 68

Slide 68

true story “we’re going too slowly. we need to get rid of COBOL and make microservices!” “… but our release board only meets twice a year.” #IBM @holly_cummins

Slide 69

Slide 69

“we can’t actually release a microservice without the release board and all the other microser vices need to be released at the same time and the manual QA cycle and the release checklist and the incantations and the death march and the sacrificing a goat and the spreadsheet and the moon being in the right phase and…” #IBM @holly_cummins

Slide 70

Slide 70

“we can’t ship until we have more con dence in the quality” #IBM fi @holly_cummins

Slide 71

Slide 71

“our tests aren’t automated” @holly_cummins #IBM

Slide 72

Slide 72

“we don’t know if our system works” @holly_cummins #IBM

Slide 73

Slide 73

if you’re going to be spaghetti, at least be tested spaghetti @holly_cummins #IBM

Slide 74

Slide 74

“we can’t release because we don’t seem to be able to actually change things” #IBM @holly_cummins

Slide 75

Slide 75

why change is hard: the enterprise hairball @holly_cummins #IBM

Slide 76

Slide 76

our layer (“business logic”) @holly_cummins #IBM

Slide 77

Slide 77

our layer (“business logic”) @holly_cummins #IBM

Slide 78

Slide 78

front-end layer our layer (“business logic”) @holly_cummins #IBM

Slide 79

Slide 79

front-end layer our layer (“business logic”) database layer @holly_cummins #IBM

Slide 80

Slide 80

front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins #IBM

Slide 81

Slide 81

front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM

Slide 82

Slide 82

front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM

Slide 83

Slide 83

uh… we can’t release our cool new stuff because we’re dependent on a change in the integration layer front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM

Slide 84

Slide 84

uh… we can’t release our cool new stuff because we’re dependent on a change in the integration layer we can’t make progress because we need a change to the database front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM

Slide 85

Slide 85

we can’t make progress because we need a change to the database what are that ^&! *(&!! integration team even doing with their time? front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM uh… we can’t release our cool new stuff because we’re dependent on a change in the integration layer

Slide 86

Slide 86

we can’t make progress because we need a change to the database what are that ^&! *(&!! integration team even doing with their time? front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM uh… we can’t release our cool new stuff because we’re dependent on a change in the integration layer

Slide 87

Slide 87

we can’t make progress because we need a change to the database what are that ^&! *(&!! integration team even doing with their time? front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @holly_cummins oh wait … every change needs a front-end change too #IBM uh… we can’t release our cool new stuff because we’re dependent on a change in the integration layer

Slide 88

Slide 88

a new approach to ops #WTFIsCloudNative @holly_cummins #IBM

Slide 89

Slide 89

SRE #WTFIsCloudNative @holly_cummins #IBM

Slide 90

Slide 90

a new approach to risk #WTFIsCloudNative @holly_cummins #IBM

Slide 91

Slide 91

de-risk through automation, not paperwork #WTFIsCloudNative @holly_cummins #IBM

Slide 92

Slide 92

#WTFIsCloudNative @holly_cummins #IBM

Slide 93

Slide 93

old-style governance isn’t going to work #WTFIsCloudNative @holly_cummins #IBM

Slide 94

Slide 94

“this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM

Slide 95

Slide 95

10 minute provision-time what we sold “this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM

Slide 96

Slide 96

what the client thought they’d got 3 month provisiontime 10 minute provision-time what we sold “this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM

Slide 97

Slide 97

what the client thought they’d got the reason 3 month provisiontime 10 minute provision-time 84-step pre-approval process what we sold “this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM

Slide 98

Slide 98

one thing you can buy @holly_cummins #IBM

Slide 99

Slide 99

one thing you can buy @holly_cummins #IBM

Slide 100

Slide 100

one thing you can buy @holly_cummins #IBM

Slide 101

Slide 101

you may not want all the cloud you bought #WTFIsCloudNative @holly_cummins #IBM

Slide 102

Slide 102

you may not want all the cloud you bought #WTFIsCloudNative @holly_cummins #IBM

Slide 103

Slide 103

true story, unfortunately Hey boss, I created a Kubernetes cluster. Holly @holly_cummins #IBM

Slide 104

Slide 104

true story, unfortunately Hey boss, I created a Kubernetes cluster. I forgot it for 2 months. Holly @holly_cummins #IBM

Slide 105

Slide 105

true story, unfortunately Hey boss, I created a Kubernetes cluster. I forgot it for 2 months. … and it’s £1000 a month. Holly @holly_cummins #IBM

Slide 106

Slide 106

@holly_cummins #IBM

Slide 107

Slide 107

uh… why are our cloud bills so large? what is all this stuff? @holly_cummins mystery #IBM money pit

Slide 108

Slide 108

@holly_cummins #IBM

Slide 109

Slide 109

@holly_cummins #IBM

Slide 110

Slide 110

cost is now an engineering concern @holly_cummins #IBM

Slide 111

Slide 111

FinOps #WTFIsCloudNative @holly_cummins #IBM

Slide 112

Slide 112

getting it right @holly_cummins #IBM

Slide 113

Slide 113

tangibile-ness @holly_cummins #IBM

Slide 114

Slide 114

tangibile-ness cncf-listed products @holly_cummins #IBM

Slide 115

Slide 115

tangibile-ness @holly_cummins cncf-listed products cloud native architecture #IBM

Slide 116

Slide 116

tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations #IBM

Slide 117

Slide 117

tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations cloud native business drivers #IBM

Slide 118

Slide 118

tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations cloud native business drivers #IBM

Slide 119

Slide 119

tangibile-ness cncf-listed products cloud native architecture cloud native operations cloud native business drivers culture @holly_cummins #IBM

Slide 120

Slide 120

® @holly_cummins