A presentation at WTF Is Cloud Native Conf by Holly Cummins
why you can’t buy cloud native Holly Cummins IBM @holly_cummins
#WTFIsCloudNative @holly_cummins #IBM
#WTFIsCloudNative @holly_cummins #IBM
what are we even trying to buy?
what are we even trying to buy?
what are we even trying to buy? Kubernetes
what are we even trying to buy? Kubernetes Micro services
what are we even trying to buy? Born on the Cloud Kubernetes Micro services
what are we even trying to buy? DevOps but make it 2021 Born on the Cloud Kubernetes Micro services
what are we even trying to buy? DevOps 12-factor but make it 2021 Born on the Cloud Kubernetes Micro services
what are we even trying to buy? Just Cloud DevOps 12-factor but make it 2021 Born on the Cloud Kubernetes Micro services
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
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
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
what do you all think? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM
have you greenfield monolithed lately? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM
microservices will make me look so good #IBM @holly_cummins
surely no one would … #IBM @holly_cummins
surely no one would … #IBM @holly_cummins
surely no one would … #IBM @holly_cummins oh.
cv-driven development #IBM @holly_cummins
there’s a whole landscape to explore @holly_cummins #IBM
it’s not just a landscape it’s a catalog @holly_cummins #IBM
ooh, which it’s not just a landscape ones shall I have? it’s a catalog @holly_cummins #IBM
ooh, which it’s not just a landscape ones shall I have? it’s a catalog they’re all so shiny @holly_cummins #IBM
what problem are we trying to solve? #IBM @holly_cummins
my problem is there aren’t enough containers yet? @holly_cummins #IBM
my problem is there aren’t enough containers yet? @holly_cummins #IBM
Warning ! May contain Coupling Cloud native spaghetti Distributed monolith
#IBM @holly_cummins
distributed monolith #IBM @holly_cummins
distributed monolith worst of both worlds: no compile-time checking … or guaranteed function execution #IBM @holly_cummins
microservices are not the goal #IBM @holly_cummins
microservices are not the goal they are the means #IBM @holly_cummins
microservices are not the goal they means theyare arethe a means #IBM @holly_cummins
“the cloud native-ness comes from these network connections”
“the cloud native-ness comes from these network connections” (no, it doesn’t!)
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
Distributed computing fallacies
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.
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!
true story “every time we change one microservice, another breaks” #WTFIsCloudNative @holly_cummins #IBM
distributed != decoupled #WTFIsCloudNative @holly_cummins #IBM
how do you know if you’re decoupled? @holly_cummins #IBM
can you deploy independently? v5.1.4 v5.1.4 v5.1.4 v5.1.4
can you deploy independently? v6.2.8 v65.7 v5.1.4 v1.0.5
“we made our pipeline enforce releasing all our microservices at the same time.” #IBM @holly_cummins true story
can you even deploy at all? #IBM @holly_cummins
do you deploy? https://app.sli.do/event/kcvns9iw #684983 #WTFIsCloudNative @holly_cummins #IBM
can you even release at all? #IBM @holly_cummins
a deploy is not a release deferred wiring #WTFIsCloudNative @holly_cummins #IBM
a deploy is not a release feature flags #WTFIsCloudNative @holly_cummins #IBM
a deploy is not a release A/B testing canary deploys #WTFIsCloudNative @holly_cummins #IBM
“we have a CI/CD” #WTFIsCloudNative @holly_cummins #IBM
by the way, you also can’t buy devops #WTFIsCloudNative @holly_cummins #IBM
and you can’t buy a devop #WTFIsCloudNative @holly_cummins #IBM
CI/CD is something you do not a tool you buy #WTFIsCloudNative @holly_cummins #IBM
“i’ll merge my branch into our CI next week” #WTFIsCloudNative @holly_cummins #IBM
“CI/CD … CI/CD … CI/CD … we release every six months … CI/CD …. ” #WTFIsCloudNative @holly_cummins #IBM
continuous. I do not think that word means what you think it means. #WTFIsCloudNative @holly_cummins #IBM
true story “we’re going too slowly. we need to get rid of COBOL and make microservices!” #IBM @holly_cummins
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
“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
“we can’t ship until we have more con dence in the quality” #IBM fi @holly_cummins
“our tests aren’t automated” @holly_cummins #IBM
“we don’t know if our system works” @holly_cummins #IBM
if you’re going to be spaghetti, at least be tested spaghetti @holly_cummins #IBM
“we can’t release because we don’t seem to be able to actually change things” #IBM @holly_cummins
why change is hard: the enterprise hairball @holly_cummins #IBM
our layer (“business logic”) @holly_cummins #IBM
our layer (“business logic”) @holly_cummins #IBM
front-end layer our layer (“business logic”) @holly_cummins #IBM
front-end layer our layer (“business logic”) database layer @holly_cummins #IBM
front-end layer our layer (“business logic”) integration layer (“panicked sandwich”) database layer @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
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 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 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
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
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
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
a new approach to ops #WTFIsCloudNative @holly_cummins #IBM
SRE #WTFIsCloudNative @holly_cummins #IBM
a new approach to risk #WTFIsCloudNative @holly_cummins #IBM
de-risk through automation, not paperwork #WTFIsCloudNative @holly_cummins #IBM
#WTFIsCloudNative @holly_cummins #IBM
old-style governance isn’t going to work #WTFIsCloudNative @holly_cummins #IBM
“this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM
10 minute provision-time what we sold “this provisioning software is broken” #WTFIsCloudNative @holly_cummins #IBM
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
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
one thing you can buy @holly_cummins #IBM
one thing you can buy @holly_cummins #IBM
one thing you can buy @holly_cummins #IBM
you may not want all the cloud you bought #WTFIsCloudNative @holly_cummins #IBM
you may not want all the cloud you bought #WTFIsCloudNative @holly_cummins #IBM
true story, unfortunately Hey boss, I created a Kubernetes cluster. Holly @holly_cummins #IBM
true story, unfortunately Hey boss, I created a Kubernetes cluster. I forgot it for 2 months. Holly @holly_cummins #IBM
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
@holly_cummins #IBM
uh… why are our cloud bills so large? what is all this stuff? @holly_cummins mystery #IBM money pit
@holly_cummins #IBM
@holly_cummins #IBM
cost is now an engineering concern @holly_cummins #IBM
FinOps #WTFIsCloudNative @holly_cummins #IBM
getting it right @holly_cummins #IBM
tangibile-ness @holly_cummins #IBM
tangibile-ness cncf-listed products @holly_cummins #IBM
tangibile-ness @holly_cummins cncf-listed products cloud native architecture #IBM
tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations #IBM
tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations cloud native business drivers #IBM
tangibile-ness @holly_cummins cncf-listed products cloud native architecture cloud native operations cloud native business drivers #IBM
tangibile-ness cncf-listed products cloud native architecture cloud native operations cloud native business drivers culture @holly_cummins #IBM
® @holly_cummins
The virtual shelves are filled to bursting with cloud native technologies; containers, runtimes, CI pipelines, observability tools. The more an organisation buys, the more cloud native it is, right? And the more network communication an app involves, the more cloud native it is, right? Well, not so much. It turns out cloud native is about how you deliver software, not the tools you use. This talk explains these often-overlooked elements for cloud native success:
Here’s what was said about this presentation on Twitter.
“I’m quite convinced you can’t buy Cloud Native. Which is a shame because shopping makes us feel good.” #WTFIsCloudNative @holly_cummins pic.twitter.com/pCjjOMbGEK
— Charles Humble (@charleshumble) November 4, 2021
“Just because you’re distributed it doesn’t mean you are decoupled. You are decoupled if you can deploy independently. ”#WTFIsCloudNative @holly_cummins pic.twitter.com/QuucslATL2
— Charles Humble (@charleshumble) November 4, 2021
Next level graphics from @holly_cummins And what do you mean you can't buy Cloud Native? #WTFisCloudNative pic.twitter.com/Pe1jvP2PcE
— Greg Southey (@GregSouthey) November 4, 2021
As final thoughts on her talk at #WTFisCloudNative, @holly_cummins put the focus on where we all should spend time and energy to jump and scale on #CloudNative 👍 pic.twitter.com/7MXrUdozUe
— Philippe Ensarguet (@P_Ensarguet) November 4, 2021
At #WTFisCloudNative, @holly_cummins put the spot on the difference between #decoupled and #distributed!
— Philippe Ensarguet (@P_Ensarguet) November 4, 2021
Don't be fooled by the shiny lights if all your services are having the same version! pic.twitter.com/LSAQmeKPQz
Audience Poll with @holly_cummins - What even is cloud native -#WTFisCloudNative. Some great answers here. pic.twitter.com/hyzM8TPqRZ
— Charles Humble (@charleshumble) November 4, 2021
Reasons not to do Microservices#WTFIsCloudNative @holly_cummins pic.twitter.com/wRZHyE6PsR
— Charles Humble (@charleshumble) November 4, 2021
"This makes me sad. Automate your tests. If you are going to build microservices spaghetti at least make it tested spaghetti." #WTFIsCloudNative @holly_cummins pic.twitter.com/LWniVucUnb
— Charles Humble (@charleshumble) November 4, 2021
“At the back of the architecture shop is a dusty old monolith that noone asks for any more. But I think that pendulum is changing which is a good thing.” #WTFIsCloudNative @holly_cummins pic.twitter.com/poAdPIAXfn
— Charles Humble (@charleshumble) November 4, 2021
Tech? Practices? Mindset? Culture?
— Philippe Ensarguet (@P_Ensarguet) November 4, 2021
Are we sure that all this is on the shelf in the local store!
Yes, @holly_cummins, you are right, and we must be cautious that cloud-enabled is not cloud-native!#WTFisCloudNative pic.twitter.com/oV3lOdgEsd
"Cloud native is about how you deliver software, not the tools you use" 👉 I am really eager to listen to @holly_cummins on her session at #WTFisCloudNative, as I also thought that #CloudNative is not an evolution you can buy, but a revolution you have to do! pic.twitter.com/g7VbXxWgPN
— Philippe Ensarguet (@P_Ensarguet) November 4, 2021
Absolutely outstanding talk from @holly_cummins for #WTFIsCloudNative
— Charles Humble (@charleshumble) November 4, 2021
Watch out for the video!
“Why are we going for microservices? Honestly I think it is partly because we care about what people think of us. Red Hat did a survey about Cloud Native drivers and one of them was career progression. We want to be in with the cool crowd.”#WTFIsCloudNative @holly_cummins
— Charles Humble (@charleshumble) November 4, 2021
“You also can’t buy DevOps. And you definitely can’t buy a DevOp although lots of people try.”#WTFIsCloudNative @holly_cummins
— Charles Humble (@charleshumble) November 4, 2021
“Microservices are not a goal. They’re the means. We’re focussing on the wrong problem.”#WTFIsCloudNative @holly_cummins
— Charles Humble (@charleshumble) November 4, 2021
Maybe you can't buy it but you can definitely sell it 😂
— Adam (@adamsand0r) November 4, 2021
@holly_cummins She is live!!! And managing my expectations😊
— Vuyo Mhlotshane😁 (@vuyo_mhlotshane) November 4, 2021
Check her talk out with me here:https://t.co/vW8O8HfyNQ pic.twitter.com/XBgyXRgkic
I'm glad this slide got tweeted 😀
— Holly Cummins (@holly_cummins) November 4, 2021
"Microservices: buy 1, get 8 free."
Microservices
— Serdar Kalaycı 🐞 (@serdarkalayci) November 4, 2021
buy 1 get 8 free
It was a great talk and the slide deck is simply beautiful and hilarious.
The metaphors and images are 🔥🔥🔥 https://t.co/oD8R5QXJW7
— Thomas Betts (@ThomasBetts) November 4, 2021