Cloud native is about culture, not containers Dr Holly Cummins Worldwide Development Lead IBM Cloud Garage

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 demoralising 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