SlideShare a Scribd company logo
1 of 5
MicroservicesAnti-patterns
Buzzwordsoftengive contexttoconceptsthatevolvedandneededagood“tag” to facilitate
dialogue.Microservices isanew“tag” that definesareasIhave personallybeendiscoveringand
usingforsome time now. ArticlesandconferencesdescribedsomethingthatI slowlyrealizedIhad
beenevolvinginmyownpersonal experience forthe pastfew years.
What it Was, Was Microservices
Buzzwordsoftengive contexttoconceptsthatevolvedandneededagood“tag” to facilitate
dialogue.Microservicesisanew“tag” that definesareasIhave personallybeendiscoveringand
usingforsome time now. ArticlesandconferencesdescribedsomethingthatI slowlyrealizedIhad
beenevolvinginmyownpersonal experience forthe pastfew years. While industryand
professionaldiscussionsonMicroserviceshave giventhe limelighttothe companieslike Netflix,
Amazon,andGoogle and to the practitionerswhohave done itsuccessfully,Ihave some personal
experience thatcanprovide insighttosuccessful Microservicesimplementation.
The three standardand most commonbusinessdriversforanyarchitecture are:
>ImprovedAgility –The abilitytorespondtothe businessneedsinatimelyfashionsothatthe
businesscangrow
>ImprovedCustomerExperience–Improve the customerexperience sothatcustomerchurn is
reduced
>DecreasedCost– reduce the costto add more products,customersor businesssolutions
In fact,all of us are tryingto do thisin our day-to-daywork.SOA createsabusinessalignedsoftware
frameworkthatenablesthe enterprisetogetthere.Several large software vendorshave emerged
and claimedthattheirsuite of productscan enable the enterprise todeliverSOA.
If you do nothave the rightpeople,culture,andinvestment,SOA will notdeliverthe businessvalue.
Microservicesarchitecture isnotfundamentallydifferentfromSOA,the goalsandobjectivesare the
same but the approach isslightlyrefinedandinfact,IwouldsimplysaythatMicroservicesismere
SOA made scalable.Microservicesenablesapplications/systemsthatdesperatelymustmove away
froma monolithicimplementation,toadistributed,decentralized,servicesplatformservingmany
applications.Microservicesare independentthatembrace agilityandapplicationevolutionasan
enterprise digitallytransform.Microservicessuccessdependsuponthe service independenceand
the service flexibility.
I woulddefine Microservicesas“Anapproach todeliveringSOA bybuildingfine-grainedservicesto
supportbusinesscapabilitiesthatare distributedandorganizedasfunctional domains".Nopattern
isa magicwand or silverbullet.Youshouldconceive andtailorthe patterncorrectlyforan
enterprise.Enterprisesshouldfocusonresolvingthe itemsthatare requiredtosupportthe
architecture tomake an adaptive platform.
A fewenterprisesfailedintheirSOA implementationmiserably–because theydid notfullyanalyze
theirbusinesscapabilitymodel andconsidereddevelopingweb-servicesmeanSOA orbuyingaSOA
suite fromlarge vendorwouldmake themSOA-enabledorthe inabilitytoshow the alignment
betweenSOA andtheirbusinessdriver/goals.
For Example
An example fromexperience mightclarifythispoint.Atone pastjob,the enterprise wasaimingto
improve agility,customerexperience anddrive downcost.We decidedtobuildastandardmulti-
tenantSOA platform.The approachwas setto developfine-grainedservicessothatwe couldmake
changesveryoftenanddeploysmall,manageable changestothe platform.If we didthe same
approach today,we wouldlikelycall itmicroservicesarchitecture.Backthenwe didnothave this
term,but itjustmade sense.
Serviceswere modeledbasedonbusinesscapabilitymodel andthe firstrelease wentwell.They
were XML overJMS syncservicesandprimarilyfocusedondeliveringthe capabilitiesrequiredfor
claimsplatformexposedtoAgents,webandvoice channel application.Itgave usthe abilityto
deployfrequent,small changesandA/Bfeature supportseamlesslyforourapplications.
Whenthe requirementswere incrementallyadded(andtheyalwayswere) itwasveryhardto
release the solutionrapidlybecause of the integrationcomplexitybetweenapplicationsandthe
consumers.Integration,functional testing,andproductionreleaserequiredtightcoordination.As
the businessstartedtoexpandandthe changeswere 10x more frequentthanthe initial release,and
as most of the tasks indeliverylifecyclewere manual,the time tomarketdidnotmeetbusiness
expectation.Soon,none of ourgoalswere metas poorMicroservicesautomationandlifecycle
managementledtodeliveryentropy.
LessonsLearned – Don’tDo These Things,Instead…DoThese OTHERThings
Thisbringsme to share some of the lessonsthatI learnedaspart of my journeysothat youcan keep
an eye onthese itemswhenyouhitthe roadwithMicroservices
1) CohesionChaos
We developedaservice togetthe customerinformationdesignedtopull the customerpolicy
information,personal informationandthe planthattheyenrolledin.Overatime,itstartedtodo
more than gettingthe customerinformation.Asnew requirementscame in,thisservicewent
throughfrequentchangesanddeployments.Itwasunable toscale and meetthe required
availability.Itbecame the proverbial “Bigball of mud”. How didit getthere?For starters,there was
no governance aroundfunctional separationof concern.If aninfluentialconsumeraskingtoput
unrelatedlogicinthisone service toreduce roundtrips,thatfunctiongotslappedonwithout
question. Perhapsagatewayora BPMlayercouldhave avoidedthisscenario,butthere wasnotime
for that…justtime tocrank out anotherbusinessfunctionpoint.
The preventative cure istogovernbusinessfunctionalitiesthatare notrelevanttothe service.
Servicesmustalignclearlytoabusinesscapabilityandshouldnottryto do somethingoutsideof
theirboundary.Functional separationof concernisvital forarchitecture togovernotherwiseitwill
destroythe agility,performance,andscalabilityandendedupinestablishingatightlycoupled
architecture,resultingindeliveryentropyandcohesionchaos.
2) Not takingAutomationSeriously
We didn'thave a strategyfor automateddeploymentandopsmonitoringof services(runtime QoS
metrics).Itobviouslyincreasedoperational expensesandmanual errorsduringdeployment.Several
timesproductiondeploymentscausedoutages due toconfigurationerrors.The serviceswere always
deployedinHA mode andsothe numberof containerswas3x to the total numberof services.The
operationsteamwasunable tohandle the configurationforeachservice manually.Afteracertain
time,opsstartedto complainthatthe architecture wasinefficientastheywere notable tohandle
the increasednumberof containers.
What isthe vaccine forthis?The recipe has multipleingredients. Continuousdeployment,if you
have not done so,isa mustinvestmentanda cultural change that everyenterprise shouldaimfor.
At least,if youdon'thave a wayto automaticallytestanddeploy –do notdo micro-services.
Microservicesare aimingtodrive agility,withthe speedwe needtochange;qualityassurance
involveseachservicehavingautomatedunit,functional,securityandperformance testing.Service
Virtualizationisanotherpowerful conceptwhenwe developservicesthatare integratedwith
servicesoutside of ourcontrol.
3) LayeredServicesArchitecture
One commonmistake people made withSOA weremisunderstandinghow toachieve the re-
usabilityof services.Teamsmostlyfocusedontechnical cohesionratherthanfunctionalregarding
reusability.Forexample,several servicesfunctionedasadata access layer(ORM) to expose tablesas
services;theythoughtitwouldbe highlyreusable.Thiscreatedanartificial physical layermanaged
by a horizontal team,whichcauseddeliverydependency.Anyservice createdshouldbe highly
autonomous – meaningindependentof eachother.
Creatingmultiple,technical,physical layersof serviceswouldonlycause deliverycomplexityand
runtime inefficiency.We endedupinhavingwrapperservices,orchestrationservices,business
servicesanddataservices.These servicemodelsservedtechnical concerns.Individual teamsformed
to manage these layersandendeduphavingbusinesslogicsprawl,nosingleownerfora capability,
lostthe efficiencyandthere wasalwaysablaminggame.
Logical separationof layerswithina service isfine,however,thereshouldnotbe anyoutof process
calls.Try to lookat a service asone atomic businessentity,whichmustimplementeverythingto
achieve the desiredbusinessfunctionality.The self-containedservicesare more autonomousand
scalable thanthe layeredservices.It'sperfecttore-write some commoncode acrossmultiple
services,that'sfine andit'sa good trade-off tokeepthe autonomylevel.The bottomline isthat
don't have servicesseparatedbytechnical concernsinstead theymustbe separatedbasedonthe
businesscapability.The conceptof containerizationisthrivingbecause of thischaracter.
4) RelyingonConsumerSign-off
We hada service consumedbymultipleapplicationsfromthree differentchannelsi.e.agent,the
web,andvoice.Agentchannel wasourprimary,sothe serviceshadtowaitto get theirsign-off
before theycango intoproduction.Itdelayedthe voice andwebapplicationproductionreleases.
What boundthose three channelstogethersotightly?
The service wasnot a looselycoupledwhenitcame tochannel specificfunctionality.Give
independencetoyourservices.Everyservicethatyoudelivermusthave a testsuite,whichshould
coverall the service functionality,security,performance,errorhandling,andconsumptiondriven
testingforeverycurrentandfuture consumer.Thismustbe includedaspart of the buildpipeline for
automatedregressiontesting.
5) Manual ConfigurationsManagement:
As we startedto doa largernumberof services(andthe inevitablesprawl due tolackof service
lifecycle governance manifesteditself) managingthe configurationsforeachservice wentoutof
control.Most of ourproductiondeploymentwasnotsmoothbecause of configurationfailureslike
the bad password,wrongURL, incorrectvalues.Itbecame harderandharder to manage these
manually.If we hadonlyusedapplicationconfigurationmanagementtoolsaspartof a PaaS or
CD…but we didn’t.
6) VersioningAvoidance:
Naively,we thoughtitwouldbe onlyneedone versionof the service.Thenwe startedtoaddmajor,
minorversionstoaccommodate multiple consumersandfrequentchanges.Eventually,every
release hadtobe a majorrelease since the serviceswere relyingonconsumersignoff.Asa result,
the numberof containersincreasedveryfastanditbecame a huge painto manage them.Lack of
runtime governance wasanotheraspectthatcontributedtothisissue.Some enterprisesfoolishlytry
to avoidversioning.Servicesneedtobe architectedassumingthatchange isinevitable. Have a
strategyto manage the forwardcompatible servicechangesandallow yourconsumerstoupgrade
gracefully.Otherwise,itwillleadtohaving consumerstightlyboundtoaservice versionandbreak
whenthere isa change.
The complexitygrowsasthe numberof servicesgrowswhichthe microservicesworldexpects.Have
a versioningstrategythatcanallowthe consumersagraceful migrationandassure providerscan
transparentlydeploychangeswithoutaffectinganyone.Limitthe numberof side-by-sidemajor
versionsinthe productionandgovernthem.
7) Buildingagatewayineveryservice
We didn'thave an APIgatewayandwe didn'thave runtime governance (we didn’tknow whowas
consumingwhatandat whatrate at whattime).We startedto implementend-userauthentication,
throttle,orchestrate,transform, androute etc.ineachservice.Itaddedcomplexitytoeachservice
and we lostconsistencyof implementationfromservice toservice,sowe hadno ideawho
implementedwhatandwhere.Ontopof it,some of our serviceswere builttosatisfyone consumer
non-functional requirements,butnotanother’s.If we hada gateway,applyingsome datafiltering
and enrichmentpatternscouldhave done it.If only.
InvestinAPIManagementsolutionstocentralize,manage andmonitorsome of the non-functional
concernsand whichwouldalsoeliminate the burdenof consumer'smanagingseveral microservices
configurations.APIgatewaycanbe usedorchestrate the cross-functional microservicesthatmay
reduce roundtripsfor webapplications.
Conclusion
The goal of microservicesistosolve the three mostcommonproblemsi.e.improvecustomer
experience, highlyagile tothe newrequirementsanddrive downcostbydeliveringthe business
functionsasfine grainedservices.Thisisnota silverbulletandrequiresadisciplinedplatform,
where deliveringthe servicesinanagile fashionwithhighqualityispossible.Learnfromother’s
mistakes(mine) andavoidthe above listedpatternsinthe architecture anddeliveryprocess.Thisis
the firstbaby stepbefore we caneventalkaboutcontainerization,cloudadoptionetc.Ihope this
article givesyousomethingtothinkaboutforyour enterprise andworktowardsresolvingtheseanti-
patternsbefore youweave themintoyourarchitectures.Mostof the itemswill drive cultural
changeswithinthe organizationandcannotbe done justbyyourself,ensurepartnershipwithyour
executiveandseniorleaders.
Source : infoq.com
Recommendedby:
JonCohn ,CTO, VP IT Architecture
https://www.linkedin.com/in/jonacohn
joncohn@comcast.net
"JonCohn ExtonPA""JonCohn Exton""JonCohnEvolution"

More Related Content

What's hot

Jon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn
 
Best practices
Best practicesBest practices
Best practicesJon Cohn
 
Jon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn
 
Enterprise architecture
Enterprise architectureEnterprise architecture
Enterprise architectureJon Cohn
 
Application Integration Architecture of Excellence - Answering to the Challenges
Application Integration Architecture of Excellence - Answering to the ChallengesApplication Integration Architecture of Excellence - Answering to the Challenges
Application Integration Architecture of Excellence - Answering to the ChallengesHenry Chandra
 
JCN12 HiQ Project Development Environment
JCN12 HiQ Project Development EnvironmentJCN12 HiQ Project Development Environment
JCN12 HiQ Project Development EnvironmentAmbientia
 
Accenture technology-vision-2012-executive-summary
Accenture technology-vision-2012-executive-summaryAccenture technology-vision-2012-executive-summary
Accenture technology-vision-2012-executive-summaryAntonio Sánchez Zaplana
 
London 2012 brochure - Enterprise Content Management
London 2012 brochure - Enterprise Content ManagementLondon 2012 brochure - Enterprise Content Management
London 2012 brochure - Enterprise Content ManagementAtos Benelux and the Nordics
 
Everything as a Service
Everything as a ServiceEverything as a Service
Everything as a ServiceCognizant
 
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organization
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organizationSap hana-enterprise-cloud--bringing-the-revolution-to-your-organization
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organizationPravin Sonawane
 
Digital Businesses Need to Rethink Their Network Strategies
Digital Businesses Need to Rethink Their Network StrategiesDigital Businesses Need to Rethink Their Network Strategies
Digital Businesses Need to Rethink Their Network StrategiesAbhishek Sood
 
PwC Tech Forecast Winter 2009
PwC Tech Forecast Winter 2009PwC Tech Forecast Winter 2009
PwC Tech Forecast Winter 2009Kurt J. Bilafer
 
State of Cloud 2016 - WGroup Industry Report
State of Cloud 2016 - WGroup Industry ReportState of Cloud 2016 - WGroup Industry Report
State of Cloud 2016 - WGroup Industry ReportWGroup
 
ReThink IT - The IT Transformation Playbook
ReThink IT - The IT Transformation PlaybookReThink IT - The IT Transformation Playbook
ReThink IT - The IT Transformation PlaybookWGroup
 
Transforming the services centric tech stack
Transforming the services centric tech stack Transforming the services centric tech stack
Transforming the services centric tech stack Melissa Lewington
 
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...David Linthicum
 
Accenture Tech Vision 2020 - Trend 1
Accenture Tech Vision 2020 - Trend 1Accenture Tech Vision 2020 - Trend 1
Accenture Tech Vision 2020 - Trend 1AbhiShakya8
 

What's hot (20)

Jon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information Technology
 
Best practices
Best practicesBest practices
Best practices
 
Jon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP Predictions
 
Enterprise architecture
Enterprise architectureEnterprise architecture
Enterprise architecture
 
Application Integration Architecture of Excellence - Answering to the Challenges
Application Integration Architecture of Excellence - Answering to the ChallengesApplication Integration Architecture of Excellence - Answering to the Challenges
Application Integration Architecture of Excellence - Answering to the Challenges
 
JCN12 HiQ Project Development Environment
JCN12 HiQ Project Development EnvironmentJCN12 HiQ Project Development Environment
JCN12 HiQ Project Development Environment
 
oracle-total-cloud-2346917
oracle-total-cloud-2346917oracle-total-cloud-2346917
oracle-total-cloud-2346917
 
Reinventing the DNA of the Future Workplace
Reinventing the DNA of the Future WorkplaceReinventing the DNA of the Future Workplace
Reinventing the DNA of the Future Workplace
 
Accenture technology-vision-2012-executive-summary
Accenture technology-vision-2012-executive-summaryAccenture technology-vision-2012-executive-summary
Accenture technology-vision-2012-executive-summary
 
London 2012 brochure - Enterprise Content Management
London 2012 brochure - Enterprise Content ManagementLondon 2012 brochure - Enterprise Content Management
London 2012 brochure - Enterprise Content Management
 
Everything as a Service
Everything as a ServiceEverything as a Service
Everything as a Service
 
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organization
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organizationSap hana-enterprise-cloud--bringing-the-revolution-to-your-organization
Sap hana-enterprise-cloud--bringing-the-revolution-to-your-organization
 
Digital Businesses Need to Rethink Their Network Strategies
Digital Businesses Need to Rethink Their Network StrategiesDigital Businesses Need to Rethink Their Network Strategies
Digital Businesses Need to Rethink Their Network Strategies
 
PwC Tech Forecast Winter 2009
PwC Tech Forecast Winter 2009PwC Tech Forecast Winter 2009
PwC Tech Forecast Winter 2009
 
State of Cloud 2016 - WGroup Industry Report
State of Cloud 2016 - WGroup Industry ReportState of Cloud 2016 - WGroup Industry Report
State of Cloud 2016 - WGroup Industry Report
 
ReThink IT - The IT Transformation Playbook
ReThink IT - The IT Transformation PlaybookReThink IT - The IT Transformation Playbook
ReThink IT - The IT Transformation Playbook
 
Transforming the services centric tech stack
Transforming the services centric tech stack Transforming the services centric tech stack
Transforming the services centric tech stack
 
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...
Leveraging Mashups In The Context Of Critical Business Data, Soa, And Enterpi...
 
Csb(박준성교수 080813)
Csb(박준성교수 080813)Csb(박준성교수 080813)
Csb(박준성교수 080813)
 
Accenture Tech Vision 2020 - Trend 1
Accenture Tech Vision 2020 - Trend 1Accenture Tech Vision 2020 - Trend 1
Accenture Tech Vision 2020 - Trend 1
 

Viewers also liked

Drugless Sport Perofrmance Training tri-fold
Drugless Sport Perofrmance Training tri-foldDrugless Sport Perofrmance Training tri-fold
Drugless Sport Perofrmance Training tri-foldCiara Christoph
 
MARIANA RICO UNIDAD 2
MARIANA RICO UNIDAD 2MARIANA RICO UNIDAD 2
MARIANA RICO UNIDAD 2mariana rico
 
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ cdoecrt
 
Chapter 04 Summary
Chapter 04 SummaryChapter 04 Summary
Chapter 04 Summaryajithsrc
 
264 casuisticas de diferentes areas simulacro examen de nombramiento 2015
264 casuisticas de diferentes areas  simulacro examen de nombramiento 2015264 casuisticas de diferentes areas  simulacro examen de nombramiento 2015
264 casuisticas de diferentes areas simulacro examen de nombramiento 2015Colegio
 
Topic 1 traditional malay kingdoms
Topic 1 traditional malay kingdomsTopic 1 traditional malay kingdoms
Topic 1 traditional malay kingdomsChe Amm
 

Viewers also liked (11)

Drugless Sport Perofrmance Training tri-fold
Drugless Sport Perofrmance Training tri-foldDrugless Sport Perofrmance Training tri-fold
Drugless Sport Perofrmance Training tri-fold
 
cuento "silvia "
 cuento "silvia " cuento "silvia "
cuento "silvia "
 
Simple tips to help car shopper get the
Simple tips to help car shopper get theSimple tips to help car shopper get the
Simple tips to help car shopper get the
 
Soltice
SolticeSoltice
Soltice
 
13A
13A 13A
13A
 
MARIANA RICO UNIDAD 2
MARIANA RICO UNIDAD 2MARIANA RICO UNIDAD 2
MARIANA RICO UNIDAD 2
 
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ
ਲੇਿਣੀ ਕੋਡ - ਇਕ ਜੇਲ੍ਹ ਵਿਸ਼ਵ ਮੈਟਰਿਕਸ ਨੂੰ ਬਾਈਬਲ
 
scrapbook
scrapbookscrapbook
scrapbook
 
Chapter 04 Summary
Chapter 04 SummaryChapter 04 Summary
Chapter 04 Summary
 
264 casuisticas de diferentes areas simulacro examen de nombramiento 2015
264 casuisticas de diferentes areas  simulacro examen de nombramiento 2015264 casuisticas de diferentes areas  simulacro examen de nombramiento 2015
264 casuisticas de diferentes areas simulacro examen de nombramiento 2015
 
Topic 1 traditional malay kingdoms
Topic 1 traditional malay kingdomsTopic 1 traditional malay kingdoms
Topic 1 traditional malay kingdoms
 

Similar to Microservices anti

Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...
Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...
Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...Dana Gardner
 
Soa Taking Theory Into Real World Application
Soa Taking Theory Into Real World ApplicationSoa Taking Theory Into Real World Application
Soa Taking Theory Into Real World ApplicationDavid Linthicum
 
ExperiaSphere: Open-Source Management and Orchestration--Introduction
ExperiaSphere: Open-Source Management and Orchestration--IntroductionExperiaSphere: Open-Source Management and Orchestration--Introduction
ExperiaSphere: Open-Source Management and Orchestration--Introductiontnolle
 
Falcon Security Essay
Falcon Security EssayFalcon Security Essay
Falcon Security EssayJennifer Wood
 
The cloud primer
The cloud primerThe cloud primer
The cloud primerJoe Orlando
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft MicroservicesChase Aucoin
 
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...Dialexa
 
Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MITCaio Candido
 
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...Dana Gardner
 
The top 6 microservices patterns
The top 6 microservices patternsThe top 6 microservices patterns
The top 6 microservices patternsAbhishek Sood
 
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...Dana Gardner
 
5 Surefire Ways To Make Your Soa A Success
5 Surefire Ways To Make Your Soa A Success5 Surefire Ways To Make Your Soa A Success
5 Surefire Ways To Make Your Soa A SuccessDavid Linthicum
 
Customer Bill Of Rights: SaaS
Customer Bill Of Rights: SaaSCustomer Bill Of Rights: SaaS
Customer Bill Of Rights: SaaSR "Ray" Wang
 
Saas Model Competitive Advantage
Saas Model Competitive AdvantageSaas Model Competitive Advantage
Saas Model Competitive AdvantageChaoticFlow
 
The Rise of DAMification
The Rise of DAMificationThe Rise of DAMification
The Rise of DAMificationCognizant
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service MeshAspen Mesh
 
Cloud computing CXO's guide
Cloud computing CXO's guideCloud computing CXO's guide
Cloud computing CXO's guideAspire Systems
 
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...Dana Gardner
 
The value of cloud computing to ITSM
The value of cloud computing to ITSMThe value of cloud computing to ITSM
The value of cloud computing to ITSMPatrick Keogh
 

Similar to Microservices anti (20)

Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...
Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...
Cloud and SaaS Force a Rethinking of Integration and Middleware as Services -...
 
Soa Taking Theory Into Real World Application
Soa Taking Theory Into Real World ApplicationSoa Taking Theory Into Real World Application
Soa Taking Theory Into Real World Application
 
Soa To The Rescue
Soa To The RescueSoa To The Rescue
Soa To The Rescue
 
ExperiaSphere: Open-Source Management and Orchestration--Introduction
ExperiaSphere: Open-Source Management and Orchestration--IntroductionExperiaSphere: Open-Source Management and Orchestration--Introduction
ExperiaSphere: Open-Source Management and Orchestration--Introduction
 
Falcon Security Essay
Falcon Security EssayFalcon Security Essay
Falcon Security Essay
 
The cloud primer
The cloud primerThe cloud primer
The cloud primer
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
Platforms and Microservices - Is There a Middle Ground for Engineers and Tech...
 
Agile Corporation for MIT
Agile Corporation for MITAgile Corporation for MIT
Agile Corporation for MIT
 
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...
How FinTech Innovator Razorpay Uses Open-Source Tracing And Observability to ...
 
The top 6 microservices patterns
The top 6 microservices patternsThe top 6 microservices patterns
The top 6 microservices patterns
 
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...
How Data-Driven Continuous Intelligence Benefits Aid the Development and Mana...
 
5 Surefire Ways To Make Your Soa A Success
5 Surefire Ways To Make Your Soa A Success5 Surefire Ways To Make Your Soa A Success
5 Surefire Ways To Make Your Soa A Success
 
Customer Bill Of Rights: SaaS
Customer Bill Of Rights: SaaSCustomer Bill Of Rights: SaaS
Customer Bill Of Rights: SaaS
 
Saas Model Competitive Advantage
Saas Model Competitive AdvantageSaas Model Competitive Advantage
Saas Model Competitive Advantage
 
The Rise of DAMification
The Rise of DAMificationThe Rise of DAMification
The Rise of DAMification
 
The Complete Guide to Service Mesh
The Complete Guide to Service MeshThe Complete Guide to Service Mesh
The Complete Guide to Service Mesh
 
Cloud computing CXO's guide
Cloud computing CXO's guideCloud computing CXO's guide
Cloud computing CXO's guide
 
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...
T-Mobile Swaps Manual Cloud Provisioning for Services Portal, Gains Lifecycle...
 
The value of cloud computing to ITSM
The value of cloud computing to ITSMThe value of cloud computing to ITSM
The value of cloud computing to ITSM
 

More from Jon Cohn

Jon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn
 
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn
 
Jon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn
 
Jon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn
 
Jon cohn exton pa corporate data architecture
Jon cohn exton pa   corporate data architectureJon cohn exton pa   corporate data architecture
Jon cohn exton pa corporate data architectureJon Cohn
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data ArchitectureJon Cohn
 
Jon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn
 
Jon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn
 
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon Cohn
 
Knowledge management in software architecture
Knowledge management in software architectureKnowledge management in software architecture
Knowledge management in software architectureJon Cohn
 

More from Jon Cohn (10)

Jon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyond
 
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
 
Jon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and Innovation
 
Jon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best Practices
 
Jon cohn exton pa corporate data architecture
Jon cohn exton pa   corporate data architectureJon cohn exton pa   corporate data architecture
Jon cohn exton pa corporate data architecture
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data Architecture
 
Jon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architecture
 
Jon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn Exton PA - Resume
Jon Cohn Exton PA - Resume
 
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
 
Knowledge management in software architecture
Knowledge management in software architectureKnowledge management in software architecture
Knowledge management in software architecture
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

Microservices anti

  • 1. MicroservicesAnti-patterns Buzzwordsoftengive contexttoconceptsthatevolvedandneededagood“tag” to facilitate dialogue.Microservices isanew“tag” that definesareasIhave personallybeendiscoveringand usingforsome time now. ArticlesandconferencesdescribedsomethingthatI slowlyrealizedIhad beenevolvinginmyownpersonal experience forthe pastfew years. What it Was, Was Microservices Buzzwordsoftengive contexttoconceptsthatevolvedandneededagood“tag” to facilitate dialogue.Microservicesisanew“tag” that definesareasIhave personallybeendiscoveringand usingforsome time now. ArticlesandconferencesdescribedsomethingthatI slowlyrealizedIhad beenevolvinginmyownpersonal experience forthe pastfew years. While industryand professionaldiscussionsonMicroserviceshave giventhe limelighttothe companieslike Netflix, Amazon,andGoogle and to the practitionerswhohave done itsuccessfully,Ihave some personal experience thatcanprovide insighttosuccessful Microservicesimplementation. The three standardand most commonbusinessdriversforanyarchitecture are: >ImprovedAgility –The abilitytorespondtothe businessneedsinatimelyfashionsothatthe businesscangrow >ImprovedCustomerExperience–Improve the customerexperience sothatcustomerchurn is reduced >DecreasedCost– reduce the costto add more products,customersor businesssolutions In fact,all of us are tryingto do thisin our day-to-daywork.SOA createsabusinessalignedsoftware frameworkthatenablesthe enterprisetogetthere.Several large software vendorshave emerged and claimedthattheirsuite of productscan enable the enterprise todeliverSOA. If you do nothave the rightpeople,culture,andinvestment,SOA will notdeliverthe businessvalue. Microservicesarchitecture isnotfundamentallydifferentfromSOA,the goalsandobjectivesare the same but the approach isslightlyrefinedandinfact,IwouldsimplysaythatMicroservicesismere SOA made scalable.Microservicesenablesapplications/systemsthatdesperatelymustmove away froma monolithicimplementation,toadistributed,decentralized,servicesplatformservingmany applications.Microservicesare independentthatembrace agilityandapplicationevolutionasan enterprise digitallytransform.Microservicessuccessdependsuponthe service independenceand the service flexibility. I woulddefine Microservicesas“Anapproach todeliveringSOA bybuildingfine-grainedservicesto supportbusinesscapabilitiesthatare distributedandorganizedasfunctional domains".Nopattern isa magicwand or silverbullet.Youshouldconceive andtailorthe patterncorrectlyforan enterprise.Enterprisesshouldfocusonresolvingthe itemsthatare requiredtosupportthe architecture tomake an adaptive platform. A fewenterprisesfailedintheirSOA implementationmiserably–because theydid notfullyanalyze theirbusinesscapabilitymodel andconsidereddevelopingweb-servicesmeanSOA orbuyingaSOA
  • 2. suite fromlarge vendorwouldmake themSOA-enabledorthe inabilitytoshow the alignment betweenSOA andtheirbusinessdriver/goals. For Example An example fromexperience mightclarifythispoint.Atone pastjob,the enterprise wasaimingto improve agility,customerexperience anddrive downcost.We decidedtobuildastandardmulti- tenantSOA platform.The approachwas setto developfine-grainedservicessothatwe couldmake changesveryoftenanddeploysmall,manageable changestothe platform.If we didthe same approach today,we wouldlikelycall itmicroservicesarchitecture.Backthenwe didnothave this term,but itjustmade sense. Serviceswere modeledbasedonbusinesscapabilitymodel andthe firstrelease wentwell.They were XML overJMS syncservicesandprimarilyfocusedondeliveringthe capabilitiesrequiredfor claimsplatformexposedtoAgents,webandvoice channel application.Itgave usthe abilityto deployfrequent,small changesandA/Bfeature supportseamlesslyforourapplications. Whenthe requirementswere incrementallyadded(andtheyalwayswere) itwasveryhardto release the solutionrapidlybecause of the integrationcomplexitybetweenapplicationsandthe consumers.Integration,functional testing,andproductionreleaserequiredtightcoordination.As the businessstartedtoexpandandthe changeswere 10x more frequentthanthe initial release,and as most of the tasks indeliverylifecyclewere manual,the time tomarketdidnotmeetbusiness expectation.Soon,none of ourgoalswere metas poorMicroservicesautomationandlifecycle managementledtodeliveryentropy. LessonsLearned – Don’tDo These Things,Instead…DoThese OTHERThings Thisbringsme to share some of the lessonsthatI learnedaspart of my journeysothat youcan keep an eye onthese itemswhenyouhitthe roadwithMicroservices 1) CohesionChaos We developedaservice togetthe customerinformationdesignedtopull the customerpolicy information,personal informationandthe planthattheyenrolledin.Overatime,itstartedtodo more than gettingthe customerinformation.Asnew requirementscame in,thisservicewent throughfrequentchangesanddeployments.Itwasunable toscale and meetthe required availability.Itbecame the proverbial “Bigball of mud”. How didit getthere?For starters,there was no governance aroundfunctional separationof concern.If aninfluentialconsumeraskingtoput unrelatedlogicinthisone service toreduce roundtrips,thatfunctiongotslappedonwithout question. Perhapsagatewayora BPMlayercouldhave avoidedthisscenario,butthere wasnotime for that…justtime tocrank out anotherbusinessfunctionpoint. The preventative cure istogovernbusinessfunctionalitiesthatare notrelevanttothe service. Servicesmustalignclearlytoabusinesscapabilityandshouldnottryto do somethingoutsideof theirboundary.Functional separationof concernisvital forarchitecture togovernotherwiseitwill destroythe agility,performance,andscalabilityandendedupinestablishingatightlycoupled architecture,resultingindeliveryentropyandcohesionchaos.
  • 3. 2) Not takingAutomationSeriously We didn'thave a strategyfor automateddeploymentandopsmonitoringof services(runtime QoS metrics).Itobviouslyincreasedoperational expensesandmanual errorsduringdeployment.Several timesproductiondeploymentscausedoutages due toconfigurationerrors.The serviceswere always deployedinHA mode andsothe numberof containerswas3x to the total numberof services.The operationsteamwasunable tohandle the configurationforeachservice manually.Afteracertain time,opsstartedto complainthatthe architecture wasinefficientastheywere notable tohandle the increasednumberof containers. What isthe vaccine forthis?The recipe has multipleingredients. Continuousdeployment,if you have not done so,isa mustinvestmentanda cultural change that everyenterprise shouldaimfor. At least,if youdon'thave a wayto automaticallytestanddeploy –do notdo micro-services. Microservicesare aimingtodrive agility,withthe speedwe needtochange;qualityassurance involveseachservicehavingautomatedunit,functional,securityandperformance testing.Service Virtualizationisanotherpowerful conceptwhenwe developservicesthatare integratedwith servicesoutside of ourcontrol. 3) LayeredServicesArchitecture One commonmistake people made withSOA weremisunderstandinghow toachieve the re- usabilityof services.Teamsmostlyfocusedontechnical cohesionratherthanfunctionalregarding reusability.Forexample,several servicesfunctionedasadata access layer(ORM) to expose tablesas services;theythoughtitwouldbe highlyreusable.Thiscreatedanartificial physical layermanaged by a horizontal team,whichcauseddeliverydependency.Anyservice createdshouldbe highly autonomous – meaningindependentof eachother. Creatingmultiple,technical,physical layersof serviceswouldonlycause deliverycomplexityand runtime inefficiency.We endedupinhavingwrapperservices,orchestrationservices,business servicesanddataservices.These servicemodelsservedtechnical concerns.Individual teamsformed to manage these layersandendeduphavingbusinesslogicsprawl,nosingleownerfora capability, lostthe efficiencyandthere wasalwaysablaminggame. Logical separationof layerswithina service isfine,however,thereshouldnotbe anyoutof process calls.Try to lookat a service asone atomic businessentity,whichmustimplementeverythingto achieve the desiredbusinessfunctionality.The self-containedservicesare more autonomousand scalable thanthe layeredservices.It'sperfecttore-write some commoncode acrossmultiple services,that'sfine andit'sa good trade-off tokeepthe autonomylevel.The bottomline isthat don't have servicesseparatedbytechnical concernsinstead theymustbe separatedbasedonthe businesscapability.The conceptof containerizationisthrivingbecause of thischaracter. 4) RelyingonConsumerSign-off We hada service consumedbymultipleapplicationsfromthree differentchannelsi.e.agent,the web,andvoice.Agentchannel wasourprimary,sothe serviceshadtowaitto get theirsign-off before theycango intoproduction.Itdelayedthe voice andwebapplicationproductionreleases. What boundthose three channelstogethersotightly?
  • 4. The service wasnot a looselycoupledwhenitcame tochannel specificfunctionality.Give independencetoyourservices.Everyservicethatyoudelivermusthave a testsuite,whichshould coverall the service functionality,security,performance,errorhandling,andconsumptiondriven testingforeverycurrentandfuture consumer.Thismustbe includedaspart of the buildpipeline for automatedregressiontesting. 5) Manual ConfigurationsManagement: As we startedto doa largernumberof services(andthe inevitablesprawl due tolackof service lifecycle governance manifesteditself) managingthe configurationsforeachservice wentoutof control.Most of ourproductiondeploymentwasnotsmoothbecause of configurationfailureslike the bad password,wrongURL, incorrectvalues.Itbecame harderandharder to manage these manually.If we hadonlyusedapplicationconfigurationmanagementtoolsaspartof a PaaS or CD…but we didn’t. 6) VersioningAvoidance: Naively,we thoughtitwouldbe onlyneedone versionof the service.Thenwe startedtoaddmajor, minorversionstoaccommodate multiple consumersandfrequentchanges.Eventually,every release hadtobe a majorrelease since the serviceswere relyingonconsumersignoff.Asa result, the numberof containersincreasedveryfastanditbecame a huge painto manage them.Lack of runtime governance wasanotheraspectthatcontributedtothisissue.Some enterprisesfoolishlytry to avoidversioning.Servicesneedtobe architectedassumingthatchange isinevitable. Have a strategyto manage the forwardcompatible servicechangesandallow yourconsumerstoupgrade gracefully.Otherwise,itwillleadtohaving consumerstightlyboundtoaservice versionandbreak whenthere isa change. The complexitygrowsasthe numberof servicesgrowswhichthe microservicesworldexpects.Have a versioningstrategythatcanallowthe consumersagraceful migrationandassure providerscan transparentlydeploychangeswithoutaffectinganyone.Limitthe numberof side-by-sidemajor versionsinthe productionandgovernthem. 7) Buildingagatewayineveryservice We didn'thave an APIgatewayandwe didn'thave runtime governance (we didn’tknow whowas consumingwhatandat whatrate at whattime).We startedto implementend-userauthentication, throttle,orchestrate,transform, androute etc.ineachservice.Itaddedcomplexitytoeachservice and we lostconsistencyof implementationfromservice toservice,sowe hadno ideawho implementedwhatandwhere.Ontopof it,some of our serviceswere builttosatisfyone consumer non-functional requirements,butnotanother’s.If we hada gateway,applyingsome datafiltering and enrichmentpatternscouldhave done it.If only. InvestinAPIManagementsolutionstocentralize,manage andmonitorsome of the non-functional concernsand whichwouldalsoeliminate the burdenof consumer'smanagingseveral microservices configurations.APIgatewaycanbe usedorchestrate the cross-functional microservicesthatmay reduce roundtripsfor webapplications.
  • 5. Conclusion The goal of microservicesistosolve the three mostcommonproblemsi.e.improvecustomer experience, highlyagile tothe newrequirementsanddrive downcostbydeliveringthe business functionsasfine grainedservices.Thisisnota silverbulletandrequiresadisciplinedplatform, where deliveringthe servicesinanagile fashionwithhighqualityispossible.Learnfromother’s mistakes(mine) andavoidthe above listedpatternsinthe architecture anddeliveryprocess.Thisis the firstbaby stepbefore we caneventalkaboutcontainerization,cloudadoptionetc.Ihope this article givesyousomethingtothinkaboutforyour enterprise andworktowardsresolvingtheseanti- patternsbefore youweave themintoyourarchitectures.Mostof the itemswill drive cultural changeswithinthe organizationandcannotbe done justbyyourself,ensurepartnershipwithyour executiveandseniorleaders. Source : infoq.com Recommendedby: JonCohn ,CTO, VP IT Architecture https://www.linkedin.com/in/jonacohn joncohn@comcast.net "JonCohn ExtonPA""JonCohn Exton""JonCohnEvolution"