continuous delivery and marklogic

18
Con$nuous Delivery and MarkLogic Stephen Mc Kearney BBC

Upload: christopher-hayes

Post on 13-Apr-2017

42 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: Continuous Delivery and MarkLogic

Con$nuousDeliveryandMarkLogic

StephenMcKearneyBBC

Page 2: Continuous Delivery and MarkLogic
Page 3: Continuous Delivery and MarkLogic

“FindthemostpopularshortcomedyclipfeaturingMr.BeanthatIcanwatchonmyAndroidtablet”

Page 4: Continuous Delivery and MarkLogic

Architecture

Page 5: Continuous Delivery and MarkLogic

MarkLogicCluster

•  6hostspercluster

•  120requests/second

•  300ms/request

•  Unitoffailure

Page 6: Continuous Delivery and MarkLogic

DevelopmentProcess

Page 7: Continuous Delivery and MarkLogic

Step1:Measure$meinqueues

Page 8: Continuous Delivery and MarkLogic

ImproveTes$ng•  Ntestrunners•  Target:20minutes

•  Mul$pleMarkLogicinstances•  Run1/Ntests

•  Typesoftests•  Unittests•  Integra$ontests•  SanityChecks

•  Mockingforspeed•  xdmp:set

Page 9: Continuous Delivery and MarkLogic

Step2:ImprovedTes$ng

Page 10: Continuous Delivery and MarkLogic

Tes$ngatScale

•  Performancetest– Realis$crequestload– Replayrequests

•  Tes$ngingest– Realis$cloadpaPerns

•  AsLive/Stageenvironment– 2ndMaster– 1Slave

Page 11: Continuous Delivery and MarkLogic

Step3:AsLiveEnvironment

Page 12: Continuous Delivery and MarkLogic

AsLiveinLive

Page 13: Continuous Delivery and MarkLogic

DeploymentIssues

•  Deployingcodetooslow•  Performancespikes•  Lotsofmonitoring

•  Versionallcode&configura$on•  Useappserverroot

•  Allcodeinlivebeforebeingac$ve•  Supportstes$ng

Page 14: Continuous Delivery and MarkLogic

Step4:VersionedDeployment

Page 15: Continuous Delivery and MarkLogic

Step5:Con$nuousDeployment

Page 16: Continuous Delivery and MarkLogic

Step6:Doweneedatester?

Page 17: Continuous Delivery and MarkLogic

CurrentPipeline

Page 18: Continuous Delivery and MarkLogic

NextTarget

•  Fasterlivedeployments– 40-60minutedelaythroughbuildsystem

•  1x1Flow– Singlefeature

•  ApplyapproachtoProductManagement– Howwepriori$sework– Clientsshouldpullwork