Cloud Native is About Culture, Not Containers (how to not fail at cloud native) Austin Copenhagen Dubai London Madrid Melbourne Munich Milan New York Holly Cummins IBM Garage @holly_cummins Nice Raleigh San Francisco São Paulo Singapore Tokyo Toronto

what is cloud native? #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

Credit to @bibryam #IBM #IBMGarage @holly_cummins

(a great article, btw) #IBM #IBMGarage @holly_cummins

(a great article, btw) #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

microservices containers dynamically orchestrated #IBM #IBMGarage @holly_cummins

; o t go #IBM e v i t a n d u o l c e h “t co mputing g n o r w s i n o i t a fo un d … .” e v i t a n d u o l abo ut c #IBMGarage @holly_cummins

; o t go #IBM e v i t a n d u o l c e h “t co mputing g n o r w s i n o i t a fo un d … .” e v i t a n d u o l abo ut c #IBMGarage Holly @holly_cummins

#IBM #IBMGarage @holly_cummins

build great products faster #IBM #IBMGarage @holly_cummins

why? #IBMGarage @holly_cummins

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

#IBM #IBMGarage @holly_cummins

CV-driven development. #IBM #IBMGarage @holly_cummins

“my CV looks dull” is not a good reason to go cloud native #IBM #IBMGarage @holly_cummins

why cloud? #IBM #IBMGarage @holly_cummins

cost #IBM #IBMGarage @holly_cummins

el a s t i c i t y #IBM #IBMGarage @holly_cummins

spee d #IBM #IBMGarage @holly_cummins

exotic capabilities #IBM #IBMGarage @holly_cummins

why cloud native? #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

12 factors #IBM #IBMGarage @holly_cummins

12 factors #IBM how to write a cloud application so you don’t get electrocuted #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

cloud native is not a synonym for ‘microservices’ #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

if ‘cloud native’ has to be a synonym for anything, it would be ‘idempotent’ #IBM #IBMGarage @holly_cummins

if ‘cloud native’ has to be a synonym for anything, it would be ‘idempotent’ which definitely needs a synonym #IBM #IBMGarage @holly_cummins

e s a b od o g a rs are e n i a t con #IBM #IBMGarage @holly_cummins

it’s not a competition to see how many you can have #IBM e s a b od o g a rs are e n i a t con #IBMGarage @holly_cummins

you do not need intra-app http communication to be cloud native #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

complexity adds expense #IBM #IBMGarage @holly_cummins

unnecessary complexity adds unnecessary expense #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

space pencil #IBM #IBMGarage @holly_cummins

space pencil $128.89 #IBM #IBMGarage @holly_cummins

space pencil $128.89 #IBM #IBMGarage space pen @holly_cummins

space pencil $128.89 #IBM #IBMGarage space pen $2.39 @holly_cummins

space pencil $128.89 space pen $2.39 +medical bills #IBM #IBMGarage @holly_cummins

accidental complexity #IBM essential complexity #IBMGarage @holly_cummins

accidental complexity essential complexity “this will impress my boss” complexity #IBM #IBMGarage @holly_cummins

2010 the dawn of cloud native #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

behaves well on the cloud #IBM #IBMGarage @holly_cummins

behaves well on the cloud written for the cloud #IBM #IBMGarage @holly_cummins

this is all how we run our application, not what’s in it #IBM #IBMGarage @holly_cummins

speed #IBM #IBMGarage @holly_cummins

speed #IBM #IBMGarage @holly_cummins

what’s the point of getting the same old stuff to market faster? #IBM #IBMGarage @holly_cummins

what’s the point of being able to respond to the market, if you don’t? #IBM #IBMGarage @holly_cummins

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

how to fail at cloud native #IBMGarage @holly_cummins

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

Microservice #IBM #IBMGarage @holly_cummins

Microservice Domain #IBM #IBMGarage @holly_cummins

Microservice Domain #IBM #IBMGarage @holly_cummins

“every time we change code, something breaks” #IBM #IBMGarage @holly_cummins

distributed monolith #IBM #IBMGarage @holly_cummins

cloud-native spaghetti is still spaghetti (Image: Cloudy with a Chance of Meatballs.) #IBM #IBMGarage @holly_cummins

just because a system runs across 6 containers doesn’t mean it’s decoupled #IBM #IBMGarage @holly_cummins

distributed != decoupled #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

Courtesy NASA/ JPL-Caltech #IBM #IBMGarage @holly_cummins

© 2019 IBM Corporation #IBMGarage @holly_cummins

© 2019 IBM Corporation #IBMGarage @holly_cummins

metric units

metric units imperial units

metric units imperial units distributing did not help

microservices need consumer-driven contract tests #IBM #IBMGarage @holly_cummins

“our tests aren’t automated” #IBM #IBMGarage @holly_cummins

“we don’t know if our code works” #IBM #IBMGarage @holly_cummins

systems will behave in unexpected ways #IBM #IBMGarage @holly_cummins

documentation can be wrong #IBM #IBMGarage @holly_cummins

dependency updates can change behaviour #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

“Had we done end-to-end testing, we believe this error would have been caught.” Arthur Stephenson Chief Investigator #IBM #IBMGarage @holly_cummins

“we can’t ship until we have more confidence in the quality” #IBM #IBMGarage @holly_cummins

microservices need automated integration tests #IBM #IBMGarage @holly_cummins

not a good CI/CD indicator a good CI/CD indicator “we don’t know when the build is broken” #IBM #IBMGarage @holly_cummins

a good build radiator #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

“oh yes, that build has been broken for a few weeks…” #IBM #IBMGarage @holly_cummins

how to brick a spaceprobe #IBM #IBMGarage @holly_cummins

“we couldn’t get the automated checks to work, so we bypassed them” #IBM #IBMGarage @holly_cummins

“we’ve scheduled the architecture board review for a month after the project ships” #IBM #IBMGarage @holly_cummins

#IBM #IBMGarage @holly_cummins

navigators warned something was wrong #IBM #IBMGarage @holly_cummins

navigators warned something was wrong they didn’t fill in the right form #IBM #IBMGarage @holly_cummins

navigators warned something was wrong they didn’t fill in the right form so nothing was done #IBM #IBMGarage @holly_cummins

does the process add value? #IBM #IBMGarage @holly_cummins

extreme programming is the right kind of rigour #IBM #IBMGarage @holly_cummins

extreme programming is the right kind of rigour test-driven development #IBM #IBMGarage @holly_cummins

extreme programming is the right kind of rigour test-driven development pair programming #IBM #IBMGarage @holly_cummins

extreme programming is the right kind of rigour test-driven development pair programming optimise for feedback #IBM #IBMGarage @holly_cummins

“but it’s in the plan” #IBM #IBMGarage @holly_cummins

“but it’s not in the plan” #IBM #IBMGarage @holly_cummins

lots of bulkheads

it was too big #IBM #IBMGarage @holly_cummins

lookouts saw the iceberg but the ship wasn’t nimble enough to avoid it #IBM #IBMGarage @holly_cummins

NASA Langley 1961 #IBM #IBMGarage @holly_cummins

IBM 7090 (large!) #IBM #IBMGarage NASA Langley 1961 @holly_cummins

door (normal-sized) #IBM IBM 7090 (large!) #IBMGarage NASA Langley 1961 @holly_cummins

door (normal-sized) #IBM IBM 7090 (large!) #IBMGarage NASA Langley 1961 @holly_cummins

plans are always wrong success is in how you respond #IBM #IBMGarage @holly_cummins

“we can’t ship until every feature is complete” #IBM #IBMGarage @holly_cummins

how not to drive a car #IBM #IBMGarage @holly_cummins

they often couldn’t see the explorer #IBM #IBMGarage @holly_cummins

feedback is good business #IBM #IBMGarage @holly_cummins

feedback is good engineering #IBM #IBMGarage @holly_cummins

an mvp hurts #IBM #IBMGarage @holly_cummins

if you’re not embarrassed by your first release it was too late #IBM #IBMGarage @holly_cummins

experiments can mean failure #IBM #IBMGarage @holly_cummins

experiments can meanfailure failure experiments mean #IBM #IBMGarage @holly_cummins

The titanic staircase and lifeboats

users will have weird behaviours #IBM #IBMGarage @holly_cummins

optimise for recovery #IBM #IBMGarage @holly_cummins

unrecoverable #IBM #IBMGarage @holly_cummins

back in ms no data loss manual intervention bricked #IBM fast, but data lost handoffs #IBMGarage @holly_cummins

business recoverability #IBM #IBMGarage @holly_cummins

remember, users will have weird behaviours #IBM #IBMGarage @holly_cummins

speed #IBM #IBMGarage @holly_cummins

slow is demoralising for teams #IBM #IBMGarage @holly_cummins

fast is good business #IBM #IBMGarage @holly_cummins

A late change in requirements is a competitive advantage. –Mary Poppendieck #IBM #IBMGarage @holly_cummins

more feedback → more accuracy #IBM #IBMGarage @holly_cummins

cloud rescued developers from tedium and toil #IBM #IBMGarage @holly_cummins

cloud native should feel fun #IBM #IBMGarage @holly_cummins

100

® @holly_cummins https://www.ibm.com/legal/us/en/copytrade.shtml 101