Upload
daniel-bryant
View
5.719
Download
0
Embed Size (px)
Citation preview
The Business Behind Microservices: OrganisationAL, architectural and Operational Challenges
DanielBryant
www.opencredo.com
AProposal…
ifdoneright,the“(micro)service”approachcanprofoundlyimpactthewaywedelivervaluableso<ware
(Butwesaidthesamethingaboutagile,SOA,DevOps…)
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
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
Architectural/DesignSkills“Ifyoucan'tbuilda[well-structured]monolith,
whatmakesyouthinkmicroservicesaretheanswer?”
SimonBrown(bit.ly/1n7D0vp)
12/11/15 @danielbryantuk
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
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
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
ChangeManagementisEssenLal• Fairprocess(three‘E’s)– Engagement– ExplanaLon– ExpectaLon
• Leadingchange– TransformaLonisaprocess– Communicate,plan,evaluate,learn– Empowermentandempathy
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
THANKS... QUESTIONS?
‘MicroservicesWeekly’(muservicesweekly.com)
www.opencredo.com/blog
www.parleys.com/author/daniel-bryantwww.infoq.com/author/Daniel-Bryant
12/11/15 @danielbryantuk