Cloud Native is about Culture, not Containers

A presentation at Craft Conf in June 2021 in by Holly Cummins

Slide 1

Slide 1

Cloud Native is About Culture, Not Containers (how to not fail at cloud native) Craft Conf Holly Cummins IBM @holly_cummins

Slide 2

Slide 2

© 2019 IBM Corporation #IBM @holly_cummins

Slide 3

Slide 3

what is cloud native? © 2019 IBM Corporation #IBM @holly_cummins

Slide 4

Slide 4

… what is cloud native? Dr Holly © 2019 IBM Corporation #IBM @holly_cummins

Slide 5

Slide 5

… ???? what is cloud native? Dr Holly © 2019 IBM Corporation #IBM @holly_cummins

Slide 6

Slide 6

® @holly_cummins 4

Slide 7

Slide 7

IBM Garage @holly_cummins

Slide 8

Slide 8

Cloud-native is particularly challenging … because confusion. There are very different meanings for the cloud-native term in use already. IBM Garage @holly_cummins

Slide 9

Slide 9

IBM Garage @holly_cummins

Slide 10

Slide 10

born on the cloud IBM Garage @holly_cummins

Slide 11

Slide 11

born on the cloud IBM Garage @holly_cummins

Slide 12

Slide 12

microservices born on the cloud IBM Garage @holly_cummins

Slide 13

Slide 13

born on the cloud IBM Garage microservices @holly_cummins

Slide 14

Slide 14

kubernetes born on the cloud IBM Garage microservices @holly_cummins

Slide 15

Slide 15

born on the cloud IBM Garage microservices kubernetes @holly_cummins

Slide 16

Slide 16

born on the cloud IBM Garage microservices 12factor kubernetes @holly_cummins

Slide 17

Slide 17

born on the cloud IBM Garage microservices kubernetes 12factor @holly_cummins

Slide 18

Slide 18

born on the cloud IBM Garage microservices kubernetes 12factor modern and nice @holly_cummins

Slide 19

Slide 19

born on the cloud microservices kubernetes 12factor modern and nice IBM Garage @holly_cummins

Slide 20

Slide 20

synonym for ‘cloud’ born on the cloud microservices kubernetes 12factor modern and nice IBM Garage @holly_cummins

Slide 21

Slide 21

born on the cloud microservices kubernetes 12factor synonym for ‘cloud’ modern and nice IBM Garage @holly_cummins

Slide 22

Slide 22

?? IBM Garage ?? ?? ?? idempotent ?? ?? @holly_cummins

Slide 23

Slide 23

rerunnable IBM Garage @holly_cummins

Slide 24

Slide 24

done with devops (don’t forget devops) marketing buzzword IBM Garage our legacy app, but now it’s on the cloud microservices, but with smart proxies @holly_cummins

Slide 25

Slide 25

born on the cloud kubernetes microservices IBM Garage 12-factor just ‘cloud’ modern and nice rerunnable @holly_cummins

Slide 26

Slide 26

two years ago, I totally knew what cloud native was © 2019 IBM Corporation #IBM @holly_cummins

Slide 27

Slide 27

born on the cloud kubernetes microservices IBM Garage 12-factor just ‘cloud’ modern and nice rerunnable @holly_cummins

Slide 28

Slide 28

CORRECT! born on the cloud kubernetes microservices IBM Garage 12-factor just ‘cloud’ modern and nice rerunnable @holly_cummins

Slide 29

Slide 29

CORRECT! born on the cloud kubernetes WRONG! microservices IBM Garage 12-factor just ‘cloud’ modern and nice rerunnable @holly_cummins

Slide 30

Slide 30

CORRECT! born on the cloud WRONGER! kubernetes WRONG! microservices IBM Garage 12-factor just ‘cloud’ modern and nice rerunnable @holly_cummins

Slide 31

Slide 31

CORRECT! born on the cloud kubernetes WRONG! microservices IBM Garage just ‘cloud’ WRONGER! CLOSE! 12-factor modern and nice rerunnable @holly_cummins

Slide 32

Slide 32

CORRECT! born on the cloud kubernetes WRONG! microservices IBM Garage just ‘cloud’ WRONGER! CLOSE! 12-factor MAYBE? modern and nice rerunnable @holly_cummins

Slide 33

Slide 33

CORRECT! born on the cloud kubernetes WRONG! microservices IBM Garage just ‘cloud’ WRONGER! WHAT?! CLOSE! 12-factor MAYBE? modern and nice rerunnable @holly_cummins

Slide 34

Slide 34

CORRECT! born on the cloud kubernetes WRONG! microservices IBM Garage just ‘cloud’ WRONGER! WHAT?! CLOSE! 12-factor MAYBE? modern and nice CLOSE! rerunnable @holly_cummins

Slide 35

Slide 35

2019 #IBM @holly_cummins

Slide 36

Slide 36

WRONG! microservices 2019 #IBM @holly_cummins

Slide 37

Slide 37

WRONG! microservices 2019 #IBM @holly_cummins

Slide 38

Slide 38

WRONG! microservices microservices containers dynamically orchestrated 2019 #IBM @holly_cummins

Slide 39

Slide 39

microservices + containers uh oh CNCF IBM Garage @holly_cummins

Slide 40

Slide 40

o g a s r a 2 ye e v i t a n d u o l c “the n o i t a d n u o f g n i co mput is wrong … .” e v i t a n d u o l c t abo u #IBM Dr Holly @holly_cummins

Slide 41

Slide 41

o g a s r a 2 ye e v i t a n d u o l c “the n o i t a d n u o f g n i co mput is wrong … .” e v i t a n d u o l c t abo u #IBM Dr Holly @holly_cummins

Slide 42

Slide 42

g a s r a e y 2 Dr Holly #IBM @holly_cummins

Slide 43

Slide 43

#IBMGarage @holly_cummins

Slide 44

Slide 44

does the CNCF even know what cloud native is? © 2019 IBM Corporation #IBM @holly_cummins

Slide 45

Slide 45

does the CNCF even agree what cloud native is? © 2019 IBM Corporation #IBM @holly_cummins

Slide 46

Slide 46

2019 #IBM @holly_cummins

Slide 47

Slide 47

2020 IBM Garage @holly_cummins

Slide 48

Slide 48

2020 IBM Garage @holly_cummins

Slide 49

Slide 49

IBM Garage @holly_cummins

Slide 50

Slide 50

IBM Garage @holly_cummins

Slide 51

Slide 51

IBM Garage @holly_cummins

Slide 52

Slide 52

IBM Garage @holly_cummins

Slide 53

Slide 53

IBM Garage @holly_cummins

Slide 54

Slide 54

2019 #IBM @holly_cummins

Slide 55

Slide 55

microservices stack containers 2019 #IBM @holly_cummins

Slide 56

Slide 56

2020 IBM Garage @holly_cummins

Slide 57

Slide 57

immutable infrastructure microservices exemplify 2020 IBM Garage @holly_cummins

Slide 58

Slide 58

does the definition of cloud native even matter? © 2019 IBM Corporation #IBM @holly_cummins

Slide 59

Slide 59

what matters: the why? #IBMGarage @holly_cummins

Slide 60

Slide 60

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

Slide 61

Slide 61

#IBM @holly_cummins

Slide 62

Slide 62

build great products faster #IBM @holly_cummins

Slide 63

Slide 63

2020 IBM Garage @holly_cummins

Slide 64

Slide 64

make high-impact changes frequently and predictably with minimal toil 2020 IBM Garage @holly_cummins

Slide 65

Slide 65

how it goes wrong #IBMGarage @holly_cummins

Slide 66

Slide 66

fail the muddy goal

Slide 67

Slide 67

why is the cloud only saving us money, Bob? #IBMGarage @holly_cummins

Slide 68

Slide 68

why are there no microservices in this cloud native app Alice? #IBMGarage @holly_cummins

Slide 69

Slide 69

fail microservices envy

Slide 70

Slide 70

microservices are not the goal #IBMGarage @holly_cummins

Slide 71

Slide 71

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

Slide 72

Slide 72

microservices are not the goal they are a means #IBMGarage @holly_cummins

Slide 73

Slide 73

se a b od o g a e r a s r e n i a t con © 2019 IBM Corporation #IBM @holly_cummins

Slide 74

Slide 74

it’s not a competition to see how many you can have se a b od o g a e r a s r e n i a t con © 2019 IBM Corporation #IBM @holly_cummins

Slide 75

Slide 75

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

Slide 76

Slide 76

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

Slide 77

Slide 77

distributed monolith #IBMGarage @holly_cummins

Slide 78

Slide 78

distributed monolith but without compile-time checking … or guaranteed function execution #IBMGarage @holly_cummins

Slide 79

Slide 79

fail cloud-native spaghetti

Slide 80

Slide 80

“every time we change one microservice, another breaks” #IBMGarage @holly_cummins

Slide 81

Slide 81

distributed != decoupled © 2019 IBM Corporation #IBM @holly_cummins

Slide 82

Slide 82

“each of our microservices has duplicated the same object model … with twenty classes and seventy fields” © 2019 IBM Corporation #IBM @holly_cummins

Slide 83

Slide 83

Microservice © 2019 IBM Corporation #IBM @holly_cummins

Slide 84

Slide 84

Microservice Domain © 2019 IBM Corporation #IBM @holly_cummins

Slide 85

Slide 85

Microservice Domain © 2019 IBM Corporation #IBM @holly_cummins

Slide 86

Slide 86

© 2019 IBM Corporation #IBM @holly_cummins

Slide 87

Slide 87

Courtesy NASA/ JPL-Caltech © 2019 IBM Corporation #IBM @holly_cummins

Slide 88

Slide 88

© 2019 IBM Corporation #IBM @holly_cummins

Slide 89

Slide 89

© 2019 IBM Corporation #IBM @holly_cummins

Slide 90

Slide 90

Slide 91

Slide 91

metric units

Slide 92

Slide 92

metric units imperial units

Slide 93

Slide 93

metric units imperial units distributing did not help

Slide 94

Slide 94

microservices need consumer-driven contract tests © 2019 IBM Corporation #IBM @holly_cummins

Slide 95

Slide 95

microservices need automated consumer-driven contract tests © 2019 IBM Corporation #IBM @holly_cummins

Slide 96

Slide 96

fail the ‘someday’ automation

Slide 97

Slide 97

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

Slide 98

Slide 98

“we don’t know if our code works” © 2019 IBM Corporation #IBM @holly_cummins

Slide 99

Slide 99

“we don’t know if our code works” © 2019 IBM Corporation #IBM @holly_cummins

Slide 100

Slide 100

fail the not-actuallycontinuous continuous integration and continuous deployment

Slide 101

Slide 101

“we have a CI/CD” #IBMGarage @holly_cummins

Slide 102

Slide 102

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

Slide 103

Slide 103

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

Slide 104

Slide 104

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

Slide 105

Slide 105

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

Slide 106

Slide 106

“we can’t actually release this.” #IBMGarage @holly_cummins

Slide 107

Slide 107

why? #IBMGarage @holly_cummins

Slide 108

Slide 108

what’s stopping more frequent deploys? #IBMGarage @holly_cummins

Slide 109

Slide 109

“we can’t release this microservice… we deploy all our microservices at the same time.” #IBMGarage @holly_cummins

Slide 110

Slide 110

what’s the point of architecture that can go faster, if you don’t go faster? #IBM @holly_cummins

Slide 111

Slide 111

how not to drive a car © 2019 IBM Corporation #IBM @holly_cummins

Slide 112

Slide 112

feedback is good engineering © 2019 IBM Corporation #IBM @holly_cummins

Slide 113

Slide 113

feedback is good business © 2019 IBM Corporation #IBM @holly_cummins

Slide 114

Slide 114

deferred wiring #IBMGarage @holly_cummins

Slide 115

Slide 115

feature flags #IBMGarage @holly_cummins

Slide 116

Slide 116

A/B testing canary deploys #IBMGarage @holly_cummins

Slide 117

Slide 117

fail the lockeddown totally rigid inflexible un-cloudy cloud

Slide 118

Slide 118

“this provisioning software is broken” #IBMGarage @holly_cummins

Slide 119

Slide 119

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

Slide 120

Slide 120

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

Slide 121

Slide 121

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

Slide 122

Slide 122

#IBMGarage @holly_cummins

Slide 123

Slide 123

#IBMGarage @holly_cummins

Slide 124

Slide 124

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

Slide 125

Slide 125

FinOps #IBMGarage @holly_cummins

Slide 126

Slide 126

AIOps #IBMGarage @holly_cummins

Slide 127

Slide 127

ways to succeed at cloud native © 2019 IBM Corporation #IBM @holly_cummins

Slide 128

Slide 128

© 2019 IBM Corporation #IBM @holly_cummins

Slide 129

Slide 129

cloud native architecture … © 2019 IBM Corporation #IBM @holly_cummins

Slide 130

Slide 130

cloud native architecture … and © 2019 IBM Corporation #IBM @holly_cummins

Slide 131

Slide 131

cloud native architecture … and cloud native operations © 2019 IBM Corporation #IBM @holly_cummins

Slide 132

Slide 132

align business and IT © 2019 IBM Corporation #IBM @holly_cummins

Slide 133

Slide 133

devops © 2019 IBM Corporation #IBM @holly_cummins

Slide 134

Slide 134

optimise for feedback © 2019 IBM Corporation #IBM @holly_cummins

Slide 135

Slide 135

be clear on what you’re trying to achieve © 2019 IBM Corporation #IBM @holly_cummins

Slide 136

Slide 136

collaborate with experts co-creation is brilliant © 2019 IBM Corporation #IBM @holly_cummins

Slide 137

Slide 137

® @holly_cummins 84