mucon 2015 "the business behind microservices: organisational, architectural, operational...

45
The Business Behind Microservices: OrganisationAL, architectural and Operational Challenges Daniel Bryant @danielbryantuk [email protected] www.opencredo.com

Upload: daniel-bryant

Post on 23-Jan-2018

5.719 views

Category:

Technology


0 download

TRANSCRIPT

The Business Behind Microservices: OrganisationAL, architectural and Operational Challenges

DanielBryant

@[email protected]

www.opencredo.com

BusinessandPeople==“Fluffiness”?

12/11/15 @danielbryantuk

“Micro-fluffiness?”

12/11/15 @danielbryantuk

AProposal…

ifdoneright,the“(micro)service”approachcanprofoundlyimpactthewaywedelivervaluableso<ware

(Butwesaidthesamethingaboutagile,SOA,DevOps…)

12/11/15 @danielbryantuk

1. Lets start with a Story... OpENCREDO Went Skiing 12/11/15 @danielbryantuk

1. Lets start with a Story... OpENCREDO Went Skiing

12/11/15 @danielbryantuk

WeareuncoveringbeDerwaysofdevelopingso<warebydoingitandhelpingothersdoit.

Throughthisworkwehavecometovalue:

productsoverprojectssmallinter-disciplineteamsoverlargehomogeneouscabalsmul1plecohesiveservicesoveracomprehensiveapplicaLongoal-driventechnicalleadershipovercommandandcontrolautomatedcon1nuousdeploymentovermanualbigbangs

individualsandinterac1onsoverprocessesandtools…

ge6ngrealsh*tdoneovercreaLngmanifestosthatwillulLmatelybemisinterpreted

12/11/15 @danielbryantuk

WeareuncoveringbeDerwaysofdevelopingso<warebydoingitandhelpingothersdoit.

Throughthisworkwehavecometovalue:

productsoverprojectssmallinter-disciplineteamsoverlargehomogeneouscabalsmul1plecohesiveservicesoveracomprehensiveapplicaLongoal-driventechnicalleadershipovercommandandcontrolautomatedcon1nuousdeploymentovermanualbigbangs

individualsandinterac1onsoverprocessesandtools

OrganisaLon,architecture,(dev)operaLons

12/11/15 @danielbryantuk

WhoAmI?

•  LondonJavaCommunityAssociate

•  AdoptOpenJDKandJSR

•  InfoQEditor,DZoneMVB,Voxxed

12/11/15 @danielbryantuk

•  ChiefScienLstatOpenCredoü  Digital/technicaltransformaLons

ü  Java,Golang,CI/CD,DevOpsü  Microservices,cloud,containersü  Maintainerofmuservicesweekly.com

2. Organisation: Conway was telling the truth... 12/11/15 @danielbryantuk

Conway’sLaw

12/11/15 @danielbryantuk

Cross-funcLonalTeams•  SpoLfy(bit.ly/1C46ZKo)–  Culture

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

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

12/11/15 @danielbryantuk

PorfolioPlanning•  Budgetforcapacity(#NoProjects)

•  Predictablesoiwaredevelopment?–  Chaseverifiablevalueinstead(KPIs)

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

12/11/15 @danielbryantuk

AWordofCauLon•  DividedCompanies

–  TradiLonal‘enterprise’organisaLon–  Commandandcontrol,specialised,divisionoflabour–  Predictableinstableenvironments–  Sixsigma,ESBs,andclassicalSOA

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

12/11/15 @danielbryantuk

Bi-Modal/Tri-ModalIT

12/11/15 @danielbryantuk

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

SimonWardleyblogsextensivelyinthisspace…

OrganisaLonalValuessmallinter-disciplineteamsoverlargehomogeneouscabals

productsoverprojects

userimpactovercustomerrequirements

crea1ngverifiableincrementalvalueoveraddingfeatures

incrementaltransforma1onoverbig-bang“re-org”

12/11/15 @danielbryantuk

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

12/11/15 @danielbryantuk

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

whatmakesyouthinkmicroservicesaretheanswer?”

SimonBrown(bit.ly/1n7D0vp)

12/11/15 @danielbryantuk

12/11/15 @danielbryantuk

Architectural/DesignSkills

12/11/15 @danielbryantuk

stackexchange.comwww.etsy.com

gilt.com(AreAwesome)

12/11/15 @danielbryantuk

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

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

•  CommunicaLon(bit.ly/1Ia3u8o)•  Empathy

•  ‘Justenough’upfrontdesign

12/11/15 @danielbryantuk

MigraLngArchitecture•  Findseams

•  Measuretoxicityofcode

•  Standardisewhatmarers(glue/infra)

•  Parerns(bit.ly/1GRch2v)–  Bigbang–  Changeviacopy/extracLon–  Strangle

12/11/15 @danielbryantuk

Replacement/Message(Data)Flows

12/11/15 @danielbryantuk

JamesLewisbit.ly/1Qy4g2d

SamNewmanbit.ly/1WijsUX

WordofCauLon:EvaluaLon

“Iwillpostponeusingthisshinynewframeworkun6lmypeershavevalidatedtheproposedbenefits

withrigorousscien6ficexperiments”

-Saidbynoprogrammer…ever

12/11/15 @danielbryantuk

ArchitecturalValues

mul1plecohesiveservicesoveracomprehensiveapplicaLon

boundedcontextsoverasingledomainmodel

autonomousgoal-drivenleadershipoveranarchyorcommandandcontrol

implemen1ngsignalsandperformanceindicatorsovermeasuringvanitymetrics

12/11/15 @danielbryantuk

4. Operations: Automate everything (except the people) 12/11/15 @danielbryantuk

Microservices…MacroOperaLons•  MicroservicePrerequisites(bit.ly/1wIjY58)–  Rapidprovisioning–  Basicmonitoring–  RapidapplicaLondeployment

•  Inanutshell…–  TechnicalpartofDevOps–  CI/CD

12/11/15 @danielbryantuk

12/11/15 @danielbryantuk

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

IntheBeginning…

12/11/15 @danielbryantuk

AutomaLngJobsAway?

12/11/15 @danielbryantuk

…andintheMiddle(andthe‘End’)

12/11/15 @danielbryantuk

…andintheMiddle(andthe‘End’)

12/11/15 @danielbryantukwww.infoq.com/news/2015/06/too-big-to-fail

FailingtoPrepare,isPreparingto…•  PracLce–  Chaos,Gamedays,DiRTsessions

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

•  Engagesystem2thinking12/11/15 @danielbryantuk

HelpfulProcesses•  BDDuserjourneysacrosssystem(viaAPIs)– …andindividualservices– Don’tforget‘iliLes’(ZAP,Jmeter)

•  BrendanGregg’sUSEmethodology–  checkuLlizaLon,saturaLon,anderrors.

•  Symptom-basedMonitoring(Ticketmaster)12/11/15 @danielbryantuk

OperaLonalValuesdesigningforfailureoverimplemenLngextensiveredundancy

independentautomatedcon1nuousdeploymentovercoordinatedmanual

bigbangreleases

programmableinfrastructureovermanually-configuredsnowflakes

Individualsandinterac1onsoverprocessesandtools

symptom-drivenmonitoringoverfault-reportalerLng

12/11/15 @danielbryantuk

5. Change management without Management double-speak 12/11/15 @danielbryantuk

ChangeManagementisEssenLal•  Fairprocess(three‘E’s)–  Engagement–  ExplanaLon–  ExpectaLon

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

12/11/15 @danielbryantuk

HaveaLirleEmpathy…

12/11/15 @danielbryantuk

SomeBedLmeReading…

12/11/15 @danielbryantuk

Insummary…

12/11/15 @danielbryantuk

OrganisaLon,Architecture,OperaLonsproductsoverprojects

smallinter-disciplineteamsoverlargehomogeneouscabals

mul1plecohesiveservicesoveracomprehensiveapplicaLongoal-driventechnicalleadershipovercommandandcontrol

automatedcon1nuousdeploymentovermanualbigbangs

individualsandinterac1onsoverprocessesandtools

12/11/15 @danielbryantuk

ThinkHolisLcally

ifdoneright,the“(micro)service”approachcanprofoundlyimpactthewaywedelivervaluableso<ware

(Let’slearnfromagile,SOA,DevOps…)

12/11/15 @danielbryantuk

ABigThanksTo…

12/11/15 @danielbryantuk

THANKS... QUESTIONS?

@[email protected]

‘MicroservicesWeekly’(muservicesweekly.com)

www.opencredo.com/blog

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

12/11/15 @danielbryantuk