Top Banner
World ® ’1 6 Microservices Built for Digital Consumption Lou Powell – Founding Partner – Vanick Digital DO3X23V DEVOPS
28

Microservices Built for Digital Consumption

Apr 16, 2017

Download

Technology

CA Technologies
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Microservices Built for Digital Consumption

World®’16

MicroservicesBuiltforDigitalConsumptionLouPowell– FoundingPartner– Vanick Digital

DO3X23V

DEVOPS

Page 2: Microservices Built for Digital Consumption

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

Page 3: Microservices Built for Digital Consumption

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

TheMicroservice patternhasbeenaroundforover10years,butthedigitalrevolutionhaselevatedthevisibilityandvalueofthispattern.InthissessionwewillcoverdesignpatternsandconsiderationsforbuildingMicroservices thatallowyourorganizationtofuelhighlyperformantdigitalexperiences.

LouPowell

Vanick DigitalFoundingPartner

Page 4: Microservices Built for Digital Consumption

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Abstract

TherecentinterestinMicroservices hasbeenspurredprimarilybybusinessdemandtodelivertechnologysolutionsthatsolveDigitalproblemsfaster.

So,asyoubuildyourMicroservices,hereareafewdesignconsiderationsthatyoucanapplythatwillensurethatyoursolutionmeetsdigitalexpectations.

LouPowell

VanickDigitalFoundingPartner

“Themarriageofsomereallygreatclientappswithsomereallygreatcloudservicesisincrediblypowerful"

-SteveJobs2007@D3PriortotheiPhoneLaunch

Page 5: Microservices Built for Digital Consumption

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

5DesignPrinciples

1. FaçadeorBfFs ServiceLayer

2. Cacheability

3. Performance

4. ABAC

5. ReduceFriction

forDigitalFriendlyMicroservices

Page 6: Microservices Built for Digital Consumption

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

FaçadeLayerorBack-endforFront-end

(BfF)

Page 7: Microservices Built for Digital Consumption

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

FaçadePattern

§ The facadepattern (or façadepattern)isa softwaredesignpattern commonlyusedwith object-orientedprogramming.Thenameisbyanalogytoan architecturalfacade.

Page 8: Microservices Built for Digital Consumption

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Backends forFrontends(BfF)

TheBFFistightlycoupledtoaspecificuserexperience,andwilltypicallybemaintainedbythesameteamastheuserinterface,therebymakingiteasiertodefineandadapttheAPIastheUIrequires,whilealsosimplifyingprocessofliningupreleaseofboththeclientandserver components.

Source:http://samnewman.io/patterns/architectural/bff/

Page 9: Microservices Built for Digital Consumption

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DigitalArchitectureLayers

Omnichannel

Platforms

APIs

CoreServices&Microservice

Page 10: Microservices Built for Digital Consumption

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Overtime,Hootsuitehasclassifiedtheirmicroservicesintothreecategories:dataservicesthatencapsulatekeybusinessentitiesandensurescalability,functionalservicesthatcombinedataserviceswithbusinesslogictoexecutecorebusinesslogic,andfaçadeservicesthatdecoupleconsumercontractsfromcorefunctionallogic.

HootSuite

Page 11: Microservices Built for Digital Consumption

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ThekeydriverforthisredesignedAPIisthefactthattherearearangeofdifferencesacrossthe800+devicetypesthatwesupport.MostAPIs(includingtheRESTAPIthatNetflixhasbeenusingsince2008)treatthesedevicesthesame,inagenericway,tomaketheserver-sideimplementationsmoreefficient.Andthereisgoodreasonforthisapproach.ProvidinganOSFAAPIallowstheAPIteamtomaintainasolidcontractwithawiderangeofAPIconsumersbecausetheAPIteamissettingtherulesforeveryonetofollow.

Whileeffective,theproblemwiththeOSFAapproachisthat itsemphasisistomakeitconvenientfortheAPIprovider,nottheAPIconsumer.Accordingly,OSFAisignoringthedifferencesofthesedevices;thedifferencesthatallowustomoreoptimallytakeadvantageoftherichfeaturesofferedoneach.

Netflix

Page 12: Microservices Built for Digital Consumption

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

FaçadeorBfF Serivces

FaçadesorBfF

Microservices

Page 13: Microservices Built for Digital Consumption

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ConsumerFocusedThisservicelayerisconstructedbasedonthespecificusecasesoftheconsumer,makingconsumptionandadoptionoftheservicesimplerandmoresuccessful.

BenefitsofFaçadeorBfF Services

SimplifyCoreServicesBypushingthespecificconsumptionneedsoftheconsumersup,youwillbeabletomaintainasimple,comprehensible,generalpurposecoreservice.

ExpectedTransienceThislayerisintendedforfragmentation,iterationandinnovation.Changeisgood,aslongasadoptionfollows.

HelpsManageRiskTheabilitytoquicklysurfaceanewendpointswithoutdisruptingexistingendpointsbasedonriskwillallowforprogramvelocity.

Page 14: Microservices Built for Digital Consumption

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

BuiltforCacheability

Cache

Page 15: Microservices Built for Digital Consumption

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

UnderstandingWhyWeCache

§ ReduceDataRetrievalTimes

§ ReduceComputeTime

§ ShortenthePipe

§ ReduceSystemandNetworkLoad

Page 16: Microservices Built for Digital Consumption

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Microservice CacheConsiderations

§ Understandconsumptionpatterns

§ Cachedatabasedonconsumption

§ Cacheoptimizedofrequests

§ Cacheoptimizedforpayloads

§ Cachethefaçade

Page 17: Microservices Built for Digital Consumption

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

(TTI)Performance

(TTFB)

Page 18: Microservices Built for Digital Consumption

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ConsumerExperienceExpectations

TTFBmeasuresthedurationfromtheuserorclientmakinganHTTPrequesttothefirstbyteofthepagebeingreceivedbytheclient'sbrowser.

TTI isthepointatwhichapagedisplaysitsprimaryinteractivecontentthatwillallowausertoreasonandact.

APICalls APICalls

Over100Resources

LessThan2Seconds

https://www.sitepoint.com/average-page-weight-increased-another-16-2015/

Page 19: Microservices Built for Digital Consumption

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CQRS

CommandQueryResponsibilitySegregation(CQRS)isanarchitecturalpatternthatseparatesreadingandwritingdataintotwodifferentmodels.

CQRSisabestfitpatternfordigitalconsumptionwherequerydemandonthedataisexponentiallyhigherthancommand(resourcestatechange)ordifferentindatastructure.

Page 20: Microservices Built for Digital Consumption

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

PolyglotPersistenceofData

§ Choosetherightdatastorefortheproblembeingsolved

§ Chooseadatastorethatwillgivethebestperformance

§ Chooseadatastorethatyouhavecommittedtosupportingandhaveexpertisein

Page 21: Microservices Built for Digital Consumption

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

AttributeBasedAccessControl

(ABAC)

Page 22: Microservices Built for Digital Consumption

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Role-basedaccesscontrol (RBAC)isamethodofregulatingaccesstocomputerornetworkresourcesbasedontherolesofindividualuserswithinanenterprise.Inthiscontext,accessistheabilityofanindividualusertoperformaspecifictask,suchasview,create,ormodifyafile.

ABAC isalogicalaccesscontrolmodelthatisdistinguishablebecauseitcontrolsaccesstoobjectsbyevaluatingrulesagainsttheattributesoftheentities(subjectandobject)actionsandtheenvironmentrelevanttoarequest.

Page 23: Microservices Built for Digital Consumption

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RemoveFriction

SmartEndpointsDumbPipes

Page 24: Microservices Built for Digital Consumption

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

SmartEndpoints– DumbPipes

Themicroservice communityfavorssmartendpoints

anddumbpipes.Applicationsbuiltfrom

microservices aimtobeasdecoupledandas

cohesiveaspossible- theyowntheirowndomain

logicandactmoreasfiltersintheclassicalUnix

sense- receivingarequest,applyinglogicas

appropriateandproducingaresponse.Theseare

choreographedusingsimpleRESTish protocolsrather

thancomplexprotocolssuchasWS-Choreographyor

BPELororchestrationbyacentraltool.

Page 25: Microservices Built for Digital Consumption

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

FrictionlessDataFlow

§ DesignStandards

§ Vocabulary

§ Objects

Page 26: Microservices Built for Digital Consumption

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

Page 27: Microservices Built for Digital Consumption

@CAWORLD#CAWORLD ©2016CA.AllRIGHTSRESERVED.27 @CAWORLD#CAWORLD

DevOps– APIManagementandApplicationDevelopment

FormoreinformationonDevOps– APIManagementandApplicationDevelopment,pleasevisit:http://cainc.to/DL8ozQ

Page 28: Microservices Built for Digital Consumption

[email protected]

LouPowell

@vanicklou

https://www.linkedin.com/pub/lou-powell/4/ba1/170

vanick.com