why you can’t buy
cloud native Holly Cummins IBM @holly_cummins
Slide 2
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 3
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 4
what are we even trying to buy?
Slide 5
what are we even trying to buy?
Slide 6
what are we even trying to buy? Kubernetes
Slide 7
what are we even trying to buy? Kubernetes Micro services
Slide 8
what are we even trying to buy?
Born on the Cloud
Kubernetes Micro services
Slide 9
what are we even trying to buy? DevOps but make it 2021
Born on the Cloud
Kubernetes Micro services
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
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
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
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
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
what do you all think? https://app.sli.do/event/kcvns9iw #684983
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 16
Slide 17
have you greenfield monolithed lately? https://app.sli.do/event/kcvns9iw #684983
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 18
microservices will make me look so good
#IBM
@holly_cummins
Slide 19
surely no one would …
#IBM
@holly_cummins
Slide 20
surely no one would …
#IBM
@holly_cummins
Slide 21
surely no one would …
#IBM
@holly_cummins
oh.
Slide 22
cv-driven development
#IBM
@holly_cummins
Slide 23
there’s a whole landscape to explore
@holly_cummins
#IBM
Slide 24
it’s not just a landscape it’s a catalog
@holly_cummins
#IBM
Slide 25
ooh, which it’s not just a landscape ones shall I have?
it’s a catalog
@holly_cummins
#IBM
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
what problem are we trying to solve?
#IBM
@holly_cummins
Slide 28
my problem is there aren’t enough containers yet?
@holly_cummins
#IBM
Slide 29
my problem is there aren’t enough containers yet?
@holly_cummins
#IBM
Slide 30
Slide 31
Slide 32
Slide 33
Warning ! May contain Coupling Cloud native spaghetti Distributed monolith
Slide 34
#IBM
@holly_cummins
Slide 35
distributed monolith
#IBM
@holly_cummins
Slide 36
distributed monolith worst of both worlds: no compile-time checking … or guaranteed function execution
#IBM
@holly_cummins
Slide 37
microservices are not the goal #IBM
@holly_cummins
Slide 38
microservices are not the goal they are the means #IBM
@holly_cummins
Slide 39
microservices are not the goal they means theyare arethe a means #IBM
@holly_cummins
Slide 40
Slide 41
“the cloud native-ness comes from these network connections”
Slide 42
“the cloud native-ness comes from these network connections” (no, it doesn’t!)
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 45
Distributed computing fallacies
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
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
true story
“every time we change one microservice, another breaks”
#WTFIsCloudNative
@holly_cummins
#IBM
how do you know if you’re decoupled?
@holly_cummins
#IBM
Slide 51
can you deploy independently?
v5.1.4
v5.1.4 v5.1.4 v5.1.4
Slide 52
can you deploy independently?
v6.2.8
v65.7 v5.1.4 v1.0.5
Slide 53
“we made our pipeline enforce releasing all our microservices at the same time.”
#IBM
@holly_cummins
true story
Slide 54
can you even deploy at all?
#IBM
@holly_cummins
Slide 55
do you deploy? https://app.sli.do/event/kcvns9iw #684983
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 56
can you even release at all?
#IBM
@holly_cummins
Slide 57
a deploy is not a release
deferred wiring #WTFIsCloudNative
@holly_cummins
#IBM
Slide 58
a deploy is not a release
feature flags #WTFIsCloudNative
@holly_cummins
#IBM
Slide 59
a deploy is not a release
A/B testing canary deploys
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 60
“we have a CI/CD”
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 61
by the way, you also can’t buy devops
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 62
and you can’t buy a devop
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 63
CI/CD is something you do not a tool you buy
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 64
“i’ll merge my branch into our CI next week”
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 65
“CI/CD … CI/CD … CI/CD … we release every six months … CI/CD …. ”
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 66
continuous. I do not think that word means what you think it means. #WTFIsCloudNative
@holly_cummins
#IBM
Slide 67
true story
“we’re going too slowly. we need to get rid of COBOL and make microservices!”
#IBM
@holly_cummins
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
“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
“we can’t ship until we have more con dence in the quality”
#IBM fi
@holly_cummins
Slide 71
“our tests aren’t automated”
@holly_cummins
#IBM
Slide 72
“we don’t know if our system works”
@holly_cummins
#IBM
Slide 73
if you’re going to be spaghetti, at least be tested spaghetti
@holly_cummins
#IBM
Slide 74
“we can’t release because we don’t seem to be able to actually change things”
#IBM
@holly_cummins
Slide 75
why change is hard:
the enterprise hairball @holly_cummins
#IBM
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
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
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
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
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
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
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
a new approach to ops
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 89
SRE #WTFIsCloudNative
@holly_cummins
#IBM
Slide 90
a new approach to risk
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 91
de-risk through automation, not paperwork
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 92
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 93
old-style governance isn’t going to work
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 94
“this provisioning software is broken” #WTFIsCloudNative
@holly_cummins
#IBM
Slide 95
10 minute provision-time
what we sold
“this provisioning software is broken”
#WTFIsCloudNative
@holly_cummins
#IBM
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
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
one thing you can buy
@holly_cummins
#IBM
Slide 99
one thing you can buy
@holly_cummins
#IBM
Slide 100
one thing you can buy
@holly_cummins
#IBM
Slide 101
you may not want all the cloud you bought
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 102
you may not want all the cloud you bought
#WTFIsCloudNative
@holly_cummins
#IBM
Slide 103
true story, unfortunately
Hey boss, I created a Kubernetes cluster.
Holly
@holly_cummins
#IBM
Slide 104
true story, unfortunately
Hey boss, I created a Kubernetes cluster. I forgot it for 2 months.
Holly
@holly_cummins
#IBM
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
@holly_cummins
#IBM
Slide 107
uh… why are our cloud bills so large? what is all this stuff?
@holly_cummins
mystery #IBM money pit
Slide 108
@holly_cummins
#IBM
Slide 109
@holly_cummins
#IBM
Slide 110
cost is now an engineering concern
@holly_cummins
#IBM