architecture evolution - i t.a.k.e. (un) conf...hexagonal architecture • easy adopfon as is...

22
ARCHITECTURE EVOLUTION FROM AMORPHOUS MONOLITH APPLICATION TO A MODULAR, CLOUD READY PLATFORM Coralia Popa – April 2020

Upload: others

Post on 04-Aug-2020

5 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QuesHons?