A presentation at Cloud Native London in in London, UK by Holly Cummins
Cloud native is about culture, not containers Dr Holly Cummins Worldwide Development Lead IBM Cloud Garage
are you in the right talk? #IBMCloudGarage @holly_cummins
Bridget Kromhout
Holly Cummins Bridget Kromhout
Hair matches employer branding Holly Cummins Bridget Kromhout Hair used to match employer branding
#IBMCloudGarage @holly_cummins
Holly #IBMCloudGarage @holly_cummins
45 talks #IBMCloudGarage @holly_cummins
1,995 minutes #IBMCloudGarage @holly_cummins
1 cloud native definition #IBMCloudGarage @holly_cummins
what is cloud native? #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
Credit to @bibryam #IBMCloudGarage @holly_cummins
(a great article, btw) #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
microservices containers d te a tr s e h c r o y ll a ic m a n dy #IBMCloudGarage @holly_cummins
e v i t a n d u o l c “the g n i t u co mp g n o r w s i n o i t a d n u fo … ” . e v i t a n d u o l c t u o ab #IBMCloudGarage @holly_cummins
e v i t a n d u o l c “the g n i t u co mp g n o r w s i n o i t a d n u fo … ” . e v i t a n d u o l c t u o ab #IBMCloudGarage Holly @holly_cummins
#IBMCloudGarage @holly_cummins
build great products faster #IBMCloudGarage @holly_cummins
why? #IBMCloudGarage @holly_cummins
what problem are we trying to solve? #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
CV-driven development. #IBMCloudGarage @holly_cummins
“my CV looks dull” is not a good reason to go cloud native #IBMCloudGarage @holly_cummins
why cloud? #IBMCloudGarage @holly_cummins
cost #IBMCloudGarage @holly_cummins
el a s t i c i t y #IBMCloudGarage @holly_cummins
spee d #IBMCloudGarage @holly_cummins
exotic capabilities #IBMCloudGarage @holly_cummins
why cloud native? #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
12 factors #IBMCloudGarage @holly_cummins
12 factors #IBMCloudGarage how to write a cloud application so you don’t get electrocuted @holly_cummins
#IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
cloud native is not a synonym for ‘microservices’ #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
if ‘cloud native’ has to be a synonym for anything, it would be ‘idempotent’ #IBMCloudGarage @holly_cummins
if ‘cloud native’ has to be a synonym for anything, it would be ‘idempotent’ which definitely needs a synonym #IBMCloudGarage @holly_cummins
o g a e r a s r e n i a t n co #IBMCloudGarage e s a b d o @holly_cummins
it’s not a competition to see how many you can have #IBMCloudGarage o g a e r a s r e n i a t n co e s a b d o @holly_cummins
you do not need intra-app http communication to be cloud native #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
complexity adds expense #IBMCloudGarage @holly_cummins
unnecessary complexity adds unnecessary expense #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
space pencil #IBMCloudGarage @holly_cummins
space pencil $128.89 #IBMCloudGarage @holly_cummins
space pencil $128.89 #IBMCloudGarage space pen @holly_cummins
space pencil $128.89 #IBMCloudGarage space pen $2.39 @holly_cummins
space pencil $128.89 space pen $2.39 +medical bills #IBMCloudGarage @holly_cummins
2010 #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
behaves well on the cloud #IBMCloudGarage @holly_cummins
behaves well on the cloud written for the cloud #IBMCloudGarage @holly_cummins
what is a container? #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
bare metal #IBMCloudGarage @holly_cummins
bare metal #IBMCloudGarage virtual machines @holly_cummins
bare metal #IBMCloudGarage virtual machines containers @holly_cummins
bare metal #IBMCloudGarage virtual machines containers functions @holly_cummins
funtainers #IBMCloudGarage @holly_cummins
function-tainers #IBMCloudGarage @holly_cummins
funtainers #IBMCloudGarage @holly_cummins
Thermos® FUNtainer® #IBMCloudGarage @holly_cummins
funtainers all the fun of containers, but without having to worry about kubernetes #IBMCloudGarage @holly_cummins
this is all how we run our application, not what’s in it #IBMCloudGarage @holly_cummins
speed #IBMCloudGarage @holly_cummins
speed #IBMCloudGarage @holly_cummins
what’s the point of getting the same old stuff to market faster? #IBMCloudGarage @holly_cummins
what’s the point of being able to respond to the market, if you don’t? #IBMCloudGarage @holly_cummins
what’s the point of architecture that can go faster, if you don’t go faster? #IBMCloudGarage @holly_cummins
how to fail at cloud native #IBMCloudGarage @holly_cummins
“each of our microservices has duplicated the same object model … with twenty classes and seventy fields” #IBMCloudGarage @holly_cummins
Microservice #IBMCloudGarage @holly_cummins
Microservice Domain #IBMCloudGarage @holly_cummins
Microservice Domain #IBMCloudGarage @holly_cummins
“every time we change code, something breaks” #IBMCloudGarage @holly_cummins
distributed monolith #IBMCloudGarage @holly_cummins
cloud-native spaghetti is still spaghetti (Image: Cloudy with a Chance of Meatballs.) #IBMCloudGarage @holly_cummins
just because a system runs across 6 containers doesn’t mean it’s decoupled #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
Courtesy NASA/ JPL-Caltech #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
metric units
metric units imperial units
metric units imperial units distributing did not help
microservices need consumer-driven contract tests #IBMCloudGarage @holly_cummins
“our tests aren’t automated” #IBMCloudGarage @holly_cummins
“we don’t know if our code works” #IBMCloudGarage @holly_cummins
systems will behave in unexpected ways #IBMCloudGarage @holly_cummins
documentation can be wrong #IBMCloudGarage @holly_cummins
dependency updates can change behaviour #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
“Had we done end-to-end testing, we believe this error would have been caught.” Arthur Stephenson Chief Investigator #IBMCloudGarage @holly_cummins
“we can’t ship until we have more confidence in the quality” #IBMCloudGarage @holly_cummins
microservices need automated integration tests #IBMCloudGarage @holly_cummins
not a good CI/CD indicator a good CI/CD indicator “we don’t know when the build is broken” #IBMCloudGarage @holly_cummins
a good build radiator #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
“oh yes, that build has been broken for a few weeks…” #IBMCloudGarage @holly_cummins
how to brick a spaceprobe #IBMCloudGarage @holly_cummins
“we couldn’t get the automated checks to work, so we bypassed them” #IBMCloudGarage @holly_cummins
“we’ve scheduled the architecture board review for a month after the project ships” #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
navigators warned something was wrong #IBMCloudGarage @holly_cummins
navigators warned something was wrong they didn’t fill in the right form #IBMCloudGarage @holly_cummins
navigators warned something was wrong they didn’t fill in the right form so nothing was done #IBMCloudGarage @holly_cummins
does the process add value? #IBMCloudGarage @holly_cummins
extreme programming is the right kind of rigour #IBMCloudGarage @holly_cummins
extreme programming is the right kind of rigour test-driven development #IBMCloudGarage @holly_cummins
extreme programming is the right kind of rigour test-driven development pair programming #IBMCloudGarage @holly_cummins
extreme programming is the right kind of rigour test-driven development pair programming optimise for feedback #IBMCloudGarage @holly_cummins
“but it’s in the plan” #IBMCloudGarage @holly_cummins
“but it’s not in the plan” #IBMCloudGarage @holly_cummins
lots of bulkheads
it was too big #IBMCloudGarage @holly_cummins
lookouts saw the iceberg but the ship wasn’t nimble enough to avoid it #IBMCloudGarage @holly_cummins
Hidden Figures #IBMCloudGarage @holly_cummins
#IBMCloudGarage @holly_cummins
“we can’t ship until every feature is complete” #IBMCloudGarage @holly_cummins
how not to drive a car #IBMCloudGarage @holly_cummins
they often couldn’t see the explorer #IBMCloudGarage @holly_cummins
feedback is good business #IBMCloudGarage @holly_cummins
feedback is good engineering #IBMCloudGarage @holly_cummins
an mvp hurts #IBMCloudGarage @holly_cummins
if you’re not embarrassed by your first release it was too late #IBMCloudGarage @holly_cummins
experiments can mean failure #IBMCloudGarage @holly_cummins
experiments mean experiments can meanfailure failure #IBMCloudGarage @holly_cummins
The titanic staircase and lifeboats
users will have weird behaviours #IBMCloudGarage @holly_cummins
optimise for recovery #IBMCloudGarage @holly_cummins
unrecoverable #IBMCloudGarage @holly_cummins
back in ms no data loss manual intervention bricked #IBMCloudGarage fast, but data lost handoffs @holly_cummins
business recoverability #IBMCloudGarage @holly_cummins
remember, users will have weird behaviours #IBMCloudGarage @holly_cummins
speed #IBMCloudGarage @holly_cummins
slow is demoralisin g for teams #IBMCloudGarage @holly_cummins
fast is good business #IBMCloudGarage @holly_cummins
A late change in requirements is a competitive advantage. –Mary Poppendieck #IBMCloudGarage @holly_cummins
more feedback → more accuracy #IBMCloudGarage @holly_cummins
cloud rescued developers from tedium #IBMCloudGarage @holly_cummins
cloud native should feel fun #IBMCloudGarage @holly_cummins
thank you @holly_cummins #IBMCloudGarage
As a developer in IBM’s Cloud Garage, Holly Cummins works with customers who are trying to shift their businesses to the cloud, and to cloud native in particular. Their dream is more effort higher up the value chain, more innovation, and greater adaptability. What they really want is to beat their competitors to market, with something that’s better than their competitors, and then evolve it to beat any new competitors. What’s getting in their way isn’t the technology—wrapping something in a docker container (usually) isn’t that hard. Instead, it’s the structures that have been put in place to manage risk and the relationships between teams that trip companies up.
Holly shares stories of customers struggling to get cloud native and explains how IBM applied its methodology to turn things around. You’ll learn the ideal team size, the ideal microservice size, what skills a team needs, the role of architects, how to know if something is ready to ship, and whose fault everything is (joke).
Here’s what was said about this presentation on social media.
"#cncf and the #CloudNativeLondon program committee are wrong about the definition of what #cloudnative is." - @holly_cummins making some bold statements at the closing keynote! pic.twitter.com/G4CXKaCl0H
— 💎 𝕯𝖊𝖛𝕺𝖕𝖘 𝕯𝖔𝖔𝖒 💀 // #BlackLivesMatter (@devopsdom) September 28, 2018
#CloudNativeLondon closing keynote fun with @holly_cummins pic.twitter.com/V8K1SkEfVk
— Anthony Perot (@anthonyperot) September 28, 2018
#cloudnativelondon @holly_cummins mentioned the Siren of Shame pic.twitter.com/UYKYGjZM6r
— Anthony Perot (@anthonyperot) September 28, 2018
Distributed monolith is still monolith. Closing keynote by @holly_cummins at #CloudNativeLondon https://t.co/ECx2uWCScl
— Rokas (@_rokas_) September 28, 2018
Nice closing thoughts from @holly_cummins #CloudNativeLondon 👏 pic.twitter.com/yxGWEDpbFl
— Ilya Dmitrichenko (@errordeveloper) September 28, 2018
Final keynote of #CloudNativeLondon was @holly_cummins teaching what cloud native really is (or should be). No chance to disagree with her! 😀 pic.twitter.com/yZX4PZp7iJ
— Dirk Jablonski 🇪🇺 (@dirkjablonski) September 28, 2018
Cloud native isn't about micro services, it's about idempotency (and space pens). pic.twitter.com/5moXwEYYeU
— Robert - KHobbits (@KHobbits) September 28, 2018
You are missing the front row during @holly_cummins’ closing keynote for #CloudNativeLondon while she gives a shout out to you 😁 pic.twitter.com/GKLM45Od5t
— Mike Chernev (@MikeChernev) September 28, 2018
"#CloudNative shouldn't be a synonym for #microservices. If it has to be a synonym for anything, it should be 'idempotent' (which needs a synonym)." @holly_cummins closes a fantastic #CloudNativeLondon with a lesson in how CloudNative is all about culture, not #containers ☁️ pic.twitter.com/AZlVTCV6MG
— Soph - skills matter 🤖 (@SophieAtSM) September 28, 2018
— 💎 𝕯𝖊𝖛𝕺𝖕𝖘 𝕯𝖔𝖔𝖒 💀 // #BlackLivesMatter (@devopsdom) September 28, 2018
"Cloud native spaghetti is still spaghetti" and "Not because a service is split across 6 containers it means it is decoupled" @holly_cummins at #CloudNativeLondon pic.twitter.com/X8F36rrZIT
— Jorge Marín (🏡) 🇬🇧 GMT+1 (@chipironcin) September 28, 2018
Final KeyNote #CloudNativeLondon with @holly_cummins - filled with great space analogies, stories and insights! pic.twitter.com/k5XJ3pU9sd
— Nicki Watt (@techiewatt) September 28, 2018