micromanchester 2016 "microservices from 30000ft: organisation, architecture and...
TRANSCRIPT
Microservices from 30,000ft:Organisation, architecture and (Dev)Operations
DanielBryant
www.opencredo.com
BusinessandPeople==“Fluffiness”?
05/07/2016 @danielbryantuk
“Micro-fluffiness?”
05/07/2016 @danielbryantuk
AProposal…
Ifdoneright,the“(micro)service”approachcanprofoundlyimpactthewaywedelivervaluablesoftware
ButwesaidthesamethingaboutAgile,SOA,DevOps…- Weneedtothinkholistically-
05/07/2016 @danielbryantuk
1. Lets start with a Story... OpENCREDO Went Skiing05/07/2016 @danielbryantuk
1. Lets start with a Story... OpENCREDO Went Skiing05/07/2016 @danielbryantuk
Weareuncoveringbetterwaysofdevelopingsoftwarebydoingitandhelpingothersdoit.
Throughthisworkwehavecometovalue:
productsoverprojectssmallinter-disciplineteamsoverlargehomogeneouscabalsmultiplecohesiveservicesoveracomprehensiveapplicationgoal-driventechnicalleadership overcommandandcontrolautomatedcontinuousdeploymentovermanualbigbangs
individualsandinteractionsoverprocessesandtools
Organisation,architecture,(dev)operations
05/07/2016 @danielbryantuk
@danielbryantuk
• London JavaCommunityAssociate
• AdoptOpenJDK andJSR
• InfoQEditor,DZone MVB,Voxxed
05/07/2016 @danielbryantuk
• ChiefScientistatOpenCredoü Transformingbusinessthroughtechandteamsü Java,Golang,CI/CD,DevOpsü Microservices,cloud,containers
2. Organisation: Conway was telling the truth...05/07/2016 @danielbryantuk
Conway’sLaw
05/07/2016 @danielbryantuk
Cross-functionalTeams• Spotify (bit.ly/1C46ZKo)– Culture
• Amazon(bit.ly/1F3Dgkm)– Communication
• Gilt(gi.lt/1rgyWvO)– Strategicalignment
05/07/2016 @danielbryantuk
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
Bi-Modal/Tri-ModalIT
05/07/2016 @danielbryantuk
blog.gardeviance.org/2015/06/why-agile-lean-and-six-sigma-must-die.html
SimonWardley blogsextensivelyinthisspace…
Organisational Valuessmallinter-disciplineteams overlargehomogeneouscabals
products overprojects
userimpactovercustomerrequirements
creatingverifiableincrementalvalue overaddingfeatures
incrementaltransformationoverbig-bang“re-org”
05/07/2016 @danielbryantuk
3. Architecture: think Micro, Think Macro, Think LEADERSHIP
05/07/2016 @danielbryantuk
Architectural/DesignSkills“Ifyoucan'tbuilda[well-structured]monolith,
whatmakesyouthinkmicroservices aretheanswer?”
SimonBrown(bit.ly/1n7D0vp)
05/07/2016 @danielbryantuk
05/07/2016 @danielbryantuk
Architectural/DesignSkills
05/07/2016 @danielbryantuk
stackexchange.comwww.etsy.com
gilt.com (AreAwesome)
05/07/2016 @danielbryantuk
www.slideshare.net/trenaman/javaone-2015-scaling-micro-services-at-gilt
Architecture,MinustheIvoryTowers• Technicalleadership(bit.ly/1EUwpLl)
• Communication(bit.ly/1Ia3u8o)
• Empathy
• ‘Justenough’upfrontdesign
05/07/2016 @danielbryantuk
MigratingArchitecture• Findseams
• Measuretoxicityofcode
• Standardisewhatmatters(glue/infra)
• Patterns(bit.ly/1GRch2v)– Bigbang– Changeviacopy/extraction– Strangle
05/07/2016 @danielbryantuk
DesignforReplacability
05/07/2016 @danielbryantuk
JamesLewisbit.ly/1Qy4g2d
SamNewmanbit.ly/1WijsUX
WordofCaution:Evaluation
“Iwillpostponeusingthisshinynewframeworkuntilmypeershavevalidatedtheproposedbenefits
withrigorousscientificexperiments”
- Saidbynoprogrammer…ever
05/07/2016 @danielbryantuk
ArchitecturalValues
multiplecohesiveservices overacomprehensiveapplication
boundedcontextsoverasingledomainmodel
autonomousgoal-drivenleadership overanarchyorcommandandcontrol
implementingsignalsandperformanceindicatorsovermeasuringvanitymetrics
05/07/2016 @danielbryantuk
4. Operations: Automate everything (except the people)05/07/2016 @danielbryantuk
Microservices…MacroOperations• Microservice Prerequisites(bit.ly/1wIjY58)– Rapidprovisioning– Basicmonitoring– Rapidapplicationdeployment
• Inanutshell…– TechnicalpartofDevOps– CI/CD
05/07/2016 @danielbryantuk
05/07/2016 @danielbryantukwww.opencredo.com/2015/10/31/javaone-building-a-microservice-development-ecosystem-video
IntheBeginning…
05/07/2016 @danielbryantuk
…andintheMiddle(andthe‘End’)
05/07/2016 @danielbryantuk
…andintheMiddle(andthe‘End’)
05/07/2016 @danielbryantukwww.infoq.com/news/2015/06/too-big-to-fail
FailingtoPrepare,isPreparingto…• Goodmonitoringandalerting
• Practicefailure(forreal)– Chaos,Gamedays,DiRT sessions
• Accountability– R.A.S.C.I.
05/07/2016 @danielbryantuk
HelpfulProcesses• BDDuserjourneysacrosssystem(viaAPIs)– …and individualservices– Don’tforget‘ilities’(ZAP,bdd-security,Jmeter)
• BrendanGregg’sUSEmethodology– checkutilization,saturation,anderrors.
• Symptom-basedMonitoring(Ticketmaster)05/07/2016 @danielbryantuk
OperationalValuesdesigningforfailure overimplementingextensiveredundancy
independentautomatedcontinuousdeployment overcoordinatedmanualbigbangreleases
programmableinfrastructureovermanually-configuredsnowflakes
Individualsandinteractions overprocessesandtools
symptom-drivenmonitoring overfault-reportalerting
05/07/2016 @danielbryantuk
5. Change management without Management double-speak05/07/2016 @danielbryantuk
ChangeManagementisEssential• Fairprocess(three‘E’s)– Engagement– Explanation– Expectation
• Leadingchange– Transformationisaprocess– Communicate,plan,evaluate,learn– Empowermentandempathy
05/07/2016 @danielbryantuk
HaveaLittleEmpathy…
05/07/2016 @danielbryantuk
Aquickcasestudy…
05/07/2016 @danielbryantuk
www.notonthehighstreet.com
05/07/2016 @sheriffjackson |@danielbryantuk
05/07/2016 @sheriffjackson |@danielbryantuk
Lesson1:Ifyoudesignaprocess,makesureyouuseit.
05/07/2016 @sheriffjackson |@danielbryantuk
05/07/2016 @sheriffjackson |@danielbryantuk
NOTHS2015• Anepicjourneyforallofthebusiness
• Dockerisnowprovingitselfinproduction– Reducedresponsetimeandfootprint
• Packagingapplicationsiseasier– Soisexperimentation…
• IncreasedharmonybetweenDev andOps
05/07/2016 @sheriffjackson |@danielbryantuk
Insummary…
05/07/2016 @danielbryantuk
Organisation,Architecture,Operationsproducts overprojects
smallinter-disciplineteamsoverlargehomogeneouscabals
multiplecohesiveservicesoveracomprehensiveapplicationgoal-driventechnicalleadership overcommandandcontrol
automatedcontinuousdeploymentovermanualbigbangsindividualsandinteractions overprocessesandtools
05/07/2016 @danielbryantuk
05/07/2016 @danielbryantukwww.slideshare.net/dbryant_uk/qcon-ny-2016-the-seven-more-deadly-sins-of-microservices
(More)BedtimeReading
05/07/2016 @danielbryantuk
THANKS... QUESTIONS?
‘MicroservicesWeekly’(muservicesweekly.com)
www.opencredo.com/blog
www.parleys.com/author/daniel-bryantwww.infoq.com/author/Daniel-Bryant
05/07/2016 @danielbryantuk