micromanchester 2016 "microservices from 30000ft: organisation, architecture and...

47
Microservices from 30,000ft: Organisation, architecture and (Dev)Operations Daniel Bryant @danielbryantuk [email protected] www.opencredo.com

Upload: daniel-bryant

Post on 21-Jan-2018

486 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Microservices from 30,000ft:Organisation, architecture and (Dev)Operations

DanielBryant

@[email protected]

www.opencredo.com

Page 2: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

BusinessandPeople==“Fluffiness”?

05/07/2016 @danielbryantuk

Page 3: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

“Micro-fluffiness?”

05/07/2016 @danielbryantuk

Page 4: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

AProposal…

Ifdoneright,the“(micro)service”approachcanprofoundlyimpactthewaywedelivervaluablesoftware

ButwesaidthesamethingaboutAgile,SOA,DevOps…- Weneedtothinkholistically-

05/07/2016 @danielbryantuk

Page 5: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

1. Lets start with a Story... OpENCREDO Went Skiing05/07/2016 @danielbryantuk

Page 6: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

1. Lets start with a Story... OpENCREDO Went Skiing05/07/2016 @danielbryantuk

Page 7: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Weareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.

Throughthisworkwehavecometovalue:

productsoverprojectssmallinter-disciplineteamsoverlargehomogeneouscabalsmultiplecohesiveservicesoveracomprehensiveapplicationgoal-driventechnicalleadership overcommandandcontrolautomatedcontinuousdeploymentovermanualbigbangs

individualsandinteractionsoverprocessesandtools

Organisation,architecture,(dev)operations

05/07/2016 @danielbryantuk

Page 8: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

@danielbryantuk

• London JavaCommunityAssociate

• AdoptOpenJDK andJSR

• InfoQEditor,DZone MVB,Voxxed

05/07/2016 @danielbryantuk

• ChiefScientistatOpenCredoü Transformingbusinessthroughtechandteamsü Java,Golang,CI/CD,DevOpsü Microservices,cloud,containers

Page 9: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

2. Organisation: Conway was telling the truth...05/07/2016 @danielbryantuk

Page 10: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Conway’sLaw

05/07/2016 @danielbryantuk

Page 11: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Cross-functionalTeams• Spotify (bit.ly/1C46ZKo)– Culture

• Amazon(bit.ly/1F3Dgkm)– Communication

• Gilt(gi.lt/1rgyWvO)– Strategicalignment

05/07/2016 @danielbryantuk

Page 12: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

AWordofCaution• DividedCompanies

– Traditional‘enterprise’organisation– Commandandcontrol, specialised,divisionoflabour– Predictableinstableenvironments– Sixsigma,ESBs,andclassicalSOA

• ConnectedCompanies– Startupsandforward-thinkers– Autonomous, fractal,service-focused– Adaptiveinuncertainenvironments– Agile/lean,REST,andmicroservices

05/07/2016 @danielbryantuk

Page 13: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Bi-Modal/Tri-ModalIT

05/07/2016 @danielbryantuk

blog.gardeviance.org/2015/06/why-agile-lean-and-six-sigma-must-die.html

SimonWardley blogsextensivelyinthisspace…

Page 14: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Organisational Valuessmallinter-disciplineteams overlargehomogeneouscabals

products overprojects

userimpactovercustomerrequirements

creatingverifiableincrementalvalue overaddingfeatures

incrementaltransformationoverbig-bang“re-org”

05/07/2016 @danielbryantuk

Page 15: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

3. Architecture: think Micro, Think Macro, Think LEADERSHIP

05/07/2016 @danielbryantuk

Page 16: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Architectural/DesignSkills“Ifyoucan'tbuilda[well-structured]monolith,

whatmakesyouthinkmicroservices aretheanswer?”

SimonBrown(bit.ly/1n7D0vp)

05/07/2016 @danielbryantuk

Page 17: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

05/07/2016 @danielbryantuk

Page 18: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Architectural/DesignSkills

05/07/2016 @danielbryantuk

stackexchange.comwww.etsy.com

Page 19: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

gilt.com (AreAwesome)

05/07/2016 @danielbryantuk

www.slideshare.net/trenaman/javaone-2015-scaling-micro-services-at-gilt

Page 20: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Architecture,MinustheIvoryTowers• Technicalleadership(bit.ly/1EUwpLl)

• Communication(bit.ly/1Ia3u8o)

• Empathy

• ‘Justenough’upfrontdesign

05/07/2016 @danielbryantuk

Page 21: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

MigratingArchitecture• Findseams

• Measuretoxicityofcode

• Standardisewhatmatters(glue/infra)

• Patterns(bit.ly/1GRch2v)– Bigbang– Changeviacopy/extraction– Strangle

05/07/2016 @danielbryantuk

Page 22: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

DesignforReplacability

05/07/2016 @danielbryantuk

JamesLewisbit.ly/1Qy4g2d

SamNewmanbit.ly/1WijsUX

Page 23: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

WordofCaution:Evaluation

“Iwillpostponeusingthisshinynewframeworkuntilmypeershavevalidatedtheproposedbenefits

withrigorousscientificexperiments”

- Saidbynoprogrammer…ever

05/07/2016 @danielbryantuk

Page 24: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

ArchitecturalValues

multiplecohesiveservices overacomprehensiveapplication

boundedcontextsoverasingledomainmodel

autonomousgoal-drivenleadership overanarchyorcommandandcontrol

implementingsignalsandperformanceindicatorsovermeasuringvanitymetrics

05/07/2016 @danielbryantuk

Page 25: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

4. Operations: Automate everything (except the people)05/07/2016 @danielbryantuk

Page 26: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Microservices…MacroOperations• Microservice Prerequisites(bit.ly/1wIjY58)– Rapidprovisioning– Basicmonitoring– Rapidapplicationdeployment

• Inanutshell…– TechnicalpartofDevOps– CI/CD

05/07/2016 @danielbryantuk

Page 27: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

05/07/2016 @danielbryantukwww.opencredo.com/2015/10/31/javaone-building-a-microservice-development-ecosystem-video

Page 28: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

IntheBeginning…

05/07/2016 @danielbryantuk

Page 29: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

…andintheMiddle(andthe‘End’)

05/07/2016 @danielbryantuk

Page 30: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

…andintheMiddle(andthe‘End’)

05/07/2016 @danielbryantukwww.infoq.com/news/2015/06/too-big-to-fail

Page 31: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

FailingtoPrepare,isPreparingto…• Goodmonitoringandalerting

• Practicefailure(forreal)– Chaos,Gamedays,DiRT sessions

• Accountability– R.A.S.C.I.

05/07/2016 @danielbryantuk

Page 32: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

HelpfulProcesses• BDDuserjourneysacrosssystem(viaAPIs)– …and individualservices– Don’tforget‘ilities’(ZAP,bdd-security,Jmeter)

• BrendanGregg’sUSEmethodology– checkutilization,saturation,anderrors.

• Symptom-basedMonitoring(Ticketmaster)05/07/2016 @danielbryantuk

Page 33: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

OperationalValuesdesigningforfailure overimplementingextensiveredundancy

independentautomatedcontinuousdeployment overcoordinatedmanualbigbangreleases

programmableinfrastructureovermanually-configuredsnowflakes

Individualsandinteractions overprocessesandtools

symptom-drivenmonitoring overfault-reportalerting

05/07/2016 @danielbryantuk

Page 34: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

5. Change management without Management double-speak05/07/2016 @danielbryantuk

Page 35: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

ChangeManagementisEssential• Fairprocess(three‘E’s)– Engagement– Explanation– Expectation

• Leadingchange– Transformationisaprocess– Communicate,plan,evaluate,learn– Empowermentandempathy

05/07/2016 @danielbryantuk

Page 36: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

HaveaLittleEmpathy…

05/07/2016 @danielbryantuk

Page 37: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Aquickcasestudy…

05/07/2016 @danielbryantuk

Page 38: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

www.notonthehighstreet.com

05/07/2016 @sheriffjackson |@danielbryantuk

Page 39: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

05/07/2016 @sheriffjackson |@danielbryantuk

Page 40: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Lesson1:Ifyoudesignaprocess,makesureyouuseit.

05/07/2016 @sheriffjackson |@danielbryantuk

Page 41: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

05/07/2016 @sheriffjackson |@danielbryantuk

Page 42: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

NOTHS2015• Anepicjourneyforallofthebusiness

• Dockerisnowprovingitselfinproduction– Reducedresponsetimeandfootprint

• Packagingapplicationsiseasier– Soisexperimentation…

• IncreasedharmonybetweenDev andOps

05/07/2016 @sheriffjackson |@danielbryantuk

Page 43: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Insummary…

05/07/2016 @danielbryantuk

Page 44: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

Organisation,Architecture,Operationsproducts overprojects

smallinter-disciplineteamsoverlargehomogeneouscabals

multiplecohesiveservicesoveracomprehensiveapplicationgoal-driventechnicalleadership overcommandandcontrol

automatedcontinuousdeploymentovermanualbigbangsindividualsandinteractions overprocessesandtools

05/07/2016 @danielbryantuk

Page 45: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

05/07/2016 @danielbryantukwww.slideshare.net/dbryant_uk/qcon-ny-2016-the-seven-more-deadly-sins-of-microservices

Page 46: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

(More)BedtimeReading

05/07/2016 @danielbryantuk

Page 47: MicroManchester 2016 "Microservices from 30000ft: Organisation, Architecture and (Dev)Operations" with Nic Jackson

THANKS... QUESTIONS?

@[email protected]

‘MicroservicesWeekly’(muservicesweekly.com)

www.opencredo.com/blog

www.parleys.com/author/daniel-bryantwww.infoq.com/author/Daniel-Bryant

05/07/2016 @danielbryantuk