architecture evolution - i t.a.k.e. (un) conf...hexagonal architecture • easy adopfon as is...
TRANSCRIPT
![Page 1: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/1.jpg)
ARCHITECTURE EVOLUTION FROMAMORPHOUSMONOLITHAPPLICATIONTOAMODULAR,CLOUDREADYPLATFORMCoraliaPopa–April2020
![Page 2: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/2.jpg)
Agenda
• Themonolith• Layeredarchitecture• ApplicaFonssegregaFon• Servicebasedmodulararchitecture• Switchtodualdeployment:onpremiseandcloud• Finalthoughts
![Page 3: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/3.jpg)
The monolith in numbers
• 5yearsago• 15yearsoldapplicaFonatthatFme• 2yearsreleasecycle• 100+noncollocatedengineers• 3sourcesofcomplexity:integraFonwithanalyFcalinstruments,regulatorycompliance,specificdataprocessingalgorithms
• 2typesofdeployment:workstaFon,network• 3Ferarchitecture:database,businesslogicandpresentaFon• 3pathsleadingtomonolith:codemanagement,deployment,runFme• 50+verFcalslicecomponents
![Page 4: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/4.jpg)
The monolith as a diagram
![Page 5: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/5.jpg)
The monolith as in a list of problems
EXTREMELYLOWSPEEDOFFEATUREDELIVERY
BIGRISKOFREGRESSIONDURING
MAINTENANCE
REDUCEDOPPORTUNITYTOCHANGE
TECHNOLOGIES
PERFORMANCENEVERALLOWEDSCALINGTO
THENEEDEDPARAMETERS
INDUSTRYTRENDSINCOMPATIBILITY
![Page 6: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/6.jpg)
The turning point
![Page 7: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/7.jpg)
Decision point
Incrementalevolu@onthroughrefactoringorBigBangrewrite?
• ImprovedcomponenFzaFonthroughrefactoring• Breakthe“code”monolithbylayeredarchitectureforbusinesslogic
• Gradualreplacementwithrewrite
![Page 8: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/8.jpg)
Layered architecture
![Page 9: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/9.jpg)
Layered architecture - Believes and hopes • bo]omlayerscanbestabilized• be]erunderstandingofchangeimpact• simplercontrolofdependencies• be]ertestabilityofthebusinesslogic• enablethepresentaFontoevolveatdifferentchangepace
• Coreso^wareprinciplespower• Reuse-releaseEquivalence• Common-Reuse• Stable-Dependencies• AcyclicDependencies
![Page 10: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/10.jpg)
First signs of recovery
• Couldreleasetwicewiththesameversionofthebo]omlayers• Therateofchangesonthebo]omlayersondescendenttrend• DevelopmentofnewapplicaFoncouldbestartedontopofthenewlayers
• But…• DemoralizedengineerteamsgiventhemassiveeffortwithnotmuchsaFsfacFon• Hardtodemonstratetothemanagementtheoutcomeofinvestment
![Page 11: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/11.jpg)
Next step in evoluHon - Break down the “runHme monolith”
![Page 12: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/12.jpg)
Decision point
DRYversusLOOSECOUPLINGdilemma• DramaFcandunpopulardecisiontocopyalargeamountofcodejusttostepintherightdirecFon
![Page 13: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/13.jpg)
Benefits • AlmostimpossibletoaddcouplingbetweenapplicaFonapps
• DistribuFonoftheloadindifferentprocesseshelpedinsomeextendwithperformance
• Releasecadencereducedtoaquarteralready,theoriginalobjecFvewasreached
But• Startedtohaveissueskeepingtheinstancesofthelayersinsyncbetweenapps
![Page 14: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/14.jpg)
Next step in evoluHon - Break the deployment monolith
![Page 15: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/15.jpg)
Autonomous service paNern
• coversadomainfuncFonality• loosely-coupledcomponentsfollowinghexagonalarchitecture
• easyadopFonasispopulararchitecture• widesetoftesFngopFons• nostate• clearrulesforgovernance• runninginitsownprocess
![Page 16: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/16.jpg)
Decision point
• CustomCodeorThirdpartyso^ware?Shouldwewelcomethirdpartyso^ware?
• Thirdpartydependenciescanbecontrolledaswell
• Standardsareimportant• Thecorebusinessdomainiswhatwearegoodat
• Everythingelseissomeoneelse’sexperFsearea
• Thereisalibraryoratoolforeverything• Speedupdevelopment
![Page 17: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/17.jpg)
Decision point
• ArewereadytobeaSaaScompany?Shouldwetakea“cloudfirst”approachfornewdevelopment?
• itwasatoughbusinessdecisionmadewithconfidencethattheso^wareteamwillbeabletodeliver• paradigmshi^oftheorganizaFon,asitappliestoalargerscopethanjustthisproductdevelopment
![Page 18: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/18.jpg)
Next step in evoluHon – Cloud & On premise
- “dual”applicaFons- 2PlaformimplementaFons:Cloudand“Onpremise”
![Page 19: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/19.jpg)
Current challenges • Security• ComplexityoftoolslikeKubernetes
• Growskillsinsidedevelopmentteams• Regulatorycomplianceseemsatopicinearlyagesincloud
• ConnecFvitywiththeanalyFcalinstrumentsinthelab
Thisisthepathfortoday,andnewlearningwillcome…
![Page 20: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/20.jpg)
Summary
2016• Rearchitecturedecision
2017• LayerscreaFon
2018• ApplicaFonsegregaFon
• Rewritestart
2019• Plaform&applicaFons
• Quarterlyrelease
2020• Cloud• Scalability
![Page 21: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/21.jpg)
Personal retrospecHve
Theexperiencereallyhelpedmetogrowasso^warearchitect.
Decisionscouldsaveoraddmonthsofworkondevelopment
teams.
SaFsfacFonishugewhenyouseethatwhatyoudesignedisactually
working.
![Page 22: ARCHITECTURE EVOLUTION - I T.A.K.E. (Un) conf...hexagonal architecture • easy adopFon as is popular architecture • wide set of tesFng opFons • no state • clear rules for governance](https://reader033.vdocuments.us/reader033/viewer/2022042712/5f8f1c34fcaa4a5a3265bd30/html5/thumbnails/22.jpg)
QuesHons?