oop2016 "the business behind microservices: organisational, architectural and operational...

49
The Business Behind Microservices: Organisational, architectural and Operational Challenges Daniel Bryant & Erich Eichinger @danielbryantuk | @oakinger www.opencredo.com

Upload: daniel-bryant

Post on 22-Jan-2018

2.313 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

The Business Behind Microservices:Organisational, architectural and Operational Challenges

DanielBryant&ErichEichinger

@danielbryantuk |@oakinger

www.opencredo.com

Page 2: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

BusinessandPeople==“Fluffiness”?

06/02/2016 @danielbryantuk |@oakinger

Page 3: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

“Micro-fluffiness?”

06/02/2016 @danielbryantuk |@oakinger

Page 4: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

KeyMessages

Thetransitiontoimplementing‘microservices’cannotbecompletedsuccessfullywithtechnologyalone

- Thinkorganisation,architecture,operations-

Werequireaholisticviewpointforchange,butweoftenresist.Challengeyourself,yourteamandyourcompany

06/02/2016 @danielbryantuk |@oakinger

Page 5: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

WhoAreWe?

06/02/2016 @danielbryantuk |@oakinger

DanielBryant(@danielbryantuk)ChiefScientistatOpenCredo

§ Digital/technicaltransformations§ Java,Golang, CI/CD,DevOps§ Maintainerofmuservicesweekly.com

ErichEichinger (@oakinger)LeadConsultantatOpenCredo

§ Digital/technicaltransformations§ Java,Microsoft,SoftwareCraftsmanship,DevOps§ Microservices,cloud,containers

Page 6: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

1. Lets start with a Story... OpENCREDO Went Skiing06/02/2016 @danielbryantuk |@oakinger

Page 7: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

1. Lets start with a Story... OpENCREDO Went Skiing06/02/2016 @danielbryantuk |@oakinger

Page 8: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

OverthelastfewyearsofworkingwithclientsatOpenCredoWehavecometovalue:

products overprojectssmallinter-disciplineteamsoverlargehomogeneouscabalsmultiplecohesiveservicesoverhighlycoupledmonoliths

goal-driventechnicalleadership overcommandandcontrolautomatedcontinuousdeploymentovermanualbigbangs

individualsandinteractions overprocessesandtools

Organisation,Architecture,(Dev)Operations

06/02/2016 @danielbryantuk |@oakinger

Page 9: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

2. Organisation: Conway was telling the truth...06/02/2016 @danielbryantuk |@oakinger

Page 10: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Conway’sLaw

06/02/2016 @danielbryantuk |@oakinger

Page 11: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

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

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

06/02/2016 @danielbryantuk |@oakinger

Page 12: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

PortfolioPlanning• Budgetforcapacity(#NoProjects)

• Predictablesoftwaredevelopment?– Chaseverifiablevalueinstead(KPIs)

• Businesscasessecurefunding…– Switchto“value-driven”projects– “WhatproblemscanwesolvebyX?”

06/02/2016 @danielbryantuk |@oakinger

Page 13: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

AWordofCaution• DividedCompanies

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

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

06/02/2016 @danielbryantuk |@oakinger

Page 14: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Bi-Modal/Tri-ModalIT

06/02/2016 @danielbryantuk |@oakinger

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

SimonWardley blogsextensivelyinthisspace…

Page 15: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Organisational Valuessmallinter-disciplineteams overlargehomogeneouscabals

products overprojects

userimpactovercustomerrequirements

creatingverifiableincrementalvalue overaddingfeatures

incrementaltransformationoverbig-bang“re-org”

06/02/2016 @danielbryantuk |@oakinger

Page 16: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

06/02/2016 @danielbryantuk |@oakinger

Page 17: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

whatmakesyouthinkmicroservices aretheanswer?”

SimonBrown(bit.ly/1n7D0vp)

06/02/2016 @danielbryantuk |@oakinger

Page 18: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

06/02/2016 @danielbryantuk |@oakinger

Page 19: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Architectural/DesignSkills

06/02/2016 @danielbryantuk |@oakinger

stackexchange.comwww.etsy.com

Page 20: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

gilt.com (AreAwesome)

06/02/2016 @danielbryantuk |@oakinger

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

Page 21: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

TrustandEmpathyareVital

06/02/2016 @danielbryantuk |@oakinger

bit.ly/1IWwIGV bit.ly/1IYPMKa

Page 22: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

• Communication(bit.ly/1Ia3u8o)

• Empathy

• ‘Justenough’upfrontdesign

06/02/2016 @danielbryantuk |@oakinger

Page 23: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

MigratingArchitecture• Findseams

bit.ly/1SwHryU

• Measuretoxicityofcode

• Standardisewhatmatters(glue/infra)

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

06/02/2016 @danielbryantuk |@oakinger

Page 24: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Designfor“Replacability”

06/02/2016 @danielbryantuk |@oakinger

JamesLewisbit.ly/1Qy4g2d

GregYoungbit.ly/1l0ir61

Page 25: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Caution:ShinyTechnologyAhead!• Plentyof‘microservice’technology

• Emergingplatformsandframeworks– Principlesandpracticeshoulddrivetooling

• Howtochoose?

06/02/2016 @danielbryantuk |@oakinger

Page 26: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

KeySkill:Evaluation

“Iwillpostponeusingthisshinynewframeworkuntilmypeershavevalidatedtheproposedbenefits

withrigorousscientificexperiments”

- Saidbynoprogrammer…ever

06/02/2016 @danielbryantuk |@oakinger

Page 27: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

MattRaible’s ComparisonMatrix

06/02/2016 @danielbryantuk |@oakinger

Page 28: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

ChooseBoringTechnology

06/02/2016 @danielbryantuk |@oakinger

www.opencredo.com/2016/01/08/the-seven-deadly-sins-of-microservices-redux/

Page 29: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

ArchitecturalValues

multiplecohesiveservices overahighlycoupledmonolith

trustandempathyovercommandandcontrol

autonomousgoal-drivenleadership overchaosandanarchy

implementingsignalsandperformanceindicatorsovermeasuringvanitymetrics

06/02/2016 @danielbryantuk |@oakinger

Page 30: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

4. Operations: Automate everything (except the people)06/02/2016 @danielbryantuk |@oakinger

Page 31: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

• Inanutshell…– DevOps– CI/CD

06/02/2016 @danielbryantuk |@oakinger

Page 32: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

06/02/2016 @danielbryantuk |@oakinger

www.opencredo.com/2015/10/31/javaone-building-a-microservice-development-ecosystem-video

Page 33: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

IntheBeginning…

06/02/2016 @danielbryantuk |@oakinger

Page 34: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

RemindOthersoftheBenefits

06/02/2016 @danielbryantuk |@oakinger

Page 35: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

…andintheMiddle(andthe‘End’)

06/02/2016 @danielbryantuk |@oakinger

Page 36: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

…andintheMiddle(andthe‘End’)

06/02/2016 @danielbryantuk |@oakingerwww.infoq.com/news/2015/06/too-big-to-fail

Page 37: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

FailingtoPrepare,isPreparingto…• Practice– Chaos,Gamedays,DiRT sessions

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

• Engage‘system2’thinking06/02/2016 @danielbryantuk |@oakinger

Page 38: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

• BrendanGregg’sUSEmethodology– checkutilization,saturation,anderrors.

• Symptom-basedMonitoring(Ticketmaster)06/02/2016 @danielbryantuk |@oakinger

Page 39: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

OperationalValuesdesigningforfailure overimplementingextensiveredundancy

independentautomatedcontinuousdeployment overcoordinatedmanualbigbangreleases

programmableinfrastructureovermanually-configuredsnowflakes

Individualsandinteractions overprocessesandbureaucracy

principlesandpractices overtooling

06/02/2016 @danielbryantuk |@oakinger

Page 40: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

5. Change management without Management double-speak06/02/2016 @danielbryantuk |@oakinger

Page 41: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

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

• Leadingchange– Transformationisaprocess– Visualise theissuesandgoals– Communicate,plan,evaluate,learn

06/02/2016 @danielbryantuk |@oakinger

Page 42: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

(Visualising)Flow

06/02/2016 @danielbryantuk |@oakinger

bit.ly/1OePqid

bit.ly/1VZOsIM

Page 43: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

HaveaLittleEmpathy…

06/02/2016 @danielbryantuk |@oakinger

Page 44: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

SomeBedtimeReading…

06/02/2016 @danielbryantuk |@oakinger

Page 45: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Insummary…

06/02/2016 @danielbryantuk |@oakinger

Page 46: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

Organisation,Architecture,Operationsproducts overprojects

smallinter-disciplineteamsoverlargehomogeneouscabals

multiplecohesiveservicesoverhighlycoupledmonolithsgoal-driventechnicalleadership overcommandandcontrol

automatedcontinuousdeploymentovermanualbigbangsindividualsandinteractions overprocessesandtools

06/02/2016 @danielbryantuk |@oakinger

Page 47: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

ABigThanksTo…

06/02/2016 @danielbryantuk |@oakinger

Page 48: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

THANKS... QUESTIONS?

WearehiringinUKandDE!

[email protected]|[email protected]

‘MicroservicesWeekly’(muservicesweekly.com)

www.opencredo.com/blog

06/02/2016 @danielbryantuk |@oakinger

Page 49: OOP2016 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

AdditionalReferences• http://www.infoq.com/presentations/7-sins-microservices

• https://www.opencredo.com/2016/01/08/the-seven-deadly-sins-of-microservices-redux/

• https://www.opencredo.com/2015/11/11/testing-with-microservices/

• https://www.opencredo.com/2015/09/20/working-locally-with-microservices/

• https://www.opencredo.com/2015/06/22/microservices/

• https://dzone.com/guides/cloud-development

• https://www.youtube.com/watch?v=wyZNxB172VI

06/02/2016 @danielbryantuk |@oakinger