Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release...

Preview:

Citation preview

World®’16

CaseStudy:Jeweler’sMutualInsuranceStreamlinesComplexApplicationDeploymentsWithCAReleaseAutomationTimDallmann - PlatformEngineer- JewelersMutualInsuranceCo

DO5X07S

DEVOPS

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

INTRODUCTION

WHAT’STHEPROBLEM?

RESULTS

THEJEWELERSMUTUALSOLUTION

RELEASEAUTOMATIONCHALLENGES

CA-RELEASEAUTOMATION:OURIMPLEMENTATION

1

2

3

4

5

6

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

IntroductionWhoIsTimDallmann?

Professional

30+YearsinIT

Developer

Architect

Manager

Personal

Husband

Father

Drummer

Brewer

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

IntroductionWhoIsJewelersMutual?

Company

>100years

Neenah,WI

Employees:250Overall60inIT

CommercialLines

JewelryStore

Craftsman

PersonalLines

WeddingSets

Earrings

Watches

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscapeManyEnvironmentstoManage

DEV01 DEV02 DEV03 DEV04

TEST01 TEST02 TEST03 TEST04 TEST05 TEST06

STAGEINTEGRA-TION

PROD

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscape

Complexsystemintegrations

Dependenciesthatimpactdeployments

Alargeinter-dependentsystem

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscapeAdiversesetofartifactstodeploy

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

What’stheProblem?

Developersspending60%oftheirtimemanagingenvironmentalissues

Releasesarelargeandcomplex– onlydeployedonceeachmonth

EnvironmentalStabilityandComplexity

RESULT:Inabilitytorespondquicklytochange

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ATeamisBorn!“EnvironmentStabilizationTeam”

1 Createdafoundationforcontinuousdelivery:§ UnittestinginJenkinsfor.Net andJavaapplications§ AutomatedlengthyregressiontestscriptswithHPUFT

2 Realizedtheneedforautomationtools:§ UpGuard:tocompareenvironmentsanddetectunauthorizedchanges§ Puppet:toautomatetheinfrastructure§ CAReleaseAutomation:toautomatedeploymentactivities

3 Createdadashboardtodisplayenvironmentstatus

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationChallenges

Allapplicationsarepartofalargerdependentsystem

Anyreleasecouldincludeanysetofapplications,requiringcoordinateddeploymentactivities

§ Shutdown§ Queuesuspension§ Backup§ Deployment§ Startup

Whatmakesourdeploymentscomplicated?Sameimageasoriginalfilebutindifferentcolours thanversionon123RF.Brand

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationChallengesOthergoals

Notificationsofpauses,failuresandreleaseprogress

Healthcheckoftheenvironment

Rollbackcapability

Validationtesting

Pausesformanualoperations

Tokenizationofconfigurationfiles

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationImplementation

§ Lessthan7weekstogofromzerotoDeploy!

§ Remote-ledPOCpriortoimplementation– Segregatedlabenvironment

§ ServersandagentsinstalledpriortoServicesarrival

Planningforsuccess

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

JewelersMutualCAReleaseAutomationImplementationGettingStarted

1 Takeinventoryofalldeployableartifacts

2 Examinehowtheyaredeployedtoday(beforeautomation)

3 Determinewhereeachoneoriginates

4 Groupthembasedondeploymentsimilarities

5 Createaflowdiagramforeachtypeofartifact

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ExampleDeploymentFlowDiagram

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Single-ApplicationApproach

Coordinateactivitiesbetweenallartifacttypes:

§ Shutdownprocess§ Backup§ Deployments§ Restartprocess§ Notifications§ Automatedtesting

Modellingtheentiresystemasonedeploymentapplication

1 2

34

5

16 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Single-ApplicationApproach

AllartifactsarepartofasingleCAReleaseAutomation“application”Componentsalignment:

Modelingtheentiresystemasonedeploymentapplication

Component à ArtifactType à ArtifactDefinition à ServerType(s)

Guidewire à WARFile à PolicyCenter à PC_Batch,PC_Online

.Net à IISApp à PLPortal à WAP

.Net à WinApp à DashboardCons à BAT

.Net à WinSvc à PaymentService à EAS

Ratabase à RBDistro à RBDistro à RAT_Primary

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Single-ApplicationApproach

The“General”component:§ Providescommonflowsusedin

multipleprocesses§ Health-checkactivitiesforallservers§ GatheringcredentialsfromKeePass§ Manualstopsinprocesses§ Deployment-levelnotifications

Common“shared”actionsandflows

18 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ErrorHandlingandLogging

CheckDeployStatus

HandlePause§ Logit§ EmailIt§ UserOperation

HandleFail§ Logit§ Emailit§ Stopdeployment

HandleLogMessages§ Logit

HandleDashMessages§ BuildRESTOperation§ SendtoDashboard

HandleErrorMessages§ Logit§ Emailit§ UserOperation

AsynchronousProcess

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DeploymentNotifications

Self-subscribingtovariousevents:§ Deploymentabouttostart(warningmessage)§ Deploymentstarted§ Deploymentstepscomplete(pre-validation)

§ Deploymentcomplete(post-validation)withstatus

§ Testresults§ DatabaseDeploymentfailures§ Deploymentpaused

Configurablebyenvironment

Communicatingwhatisgoingon

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Rollbacks

Pre-deploy§ Getthelatestinstalledversionofeach

artifact§ Createapackagewiththoseartifacts§ Createadeploymentplanusingthatpackage§ Createarollbackdeploymentandattachto

thecurrentdeployment

Onfailure– rollbackdeploymentmanuallyinvoked

Recoveringfromdisaster

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Health-Check

§ RunduringPre-Deploy§ Eachcomponenthasit’sownhealth-checkflows§ Some“general”health-checkflowsrunforall

servertypes§ Validatesthingslike:

– MSDeploy isinstalled– Tomcatinstancesarerunning– IISrunning– Enoughdiskspacefordeployment

Ensuringtheenvironmentisreadyfordeployment

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DynamicStepAdjustment

§ Basedonartifactsinpackage

§ Removesdeploymentstepsthatarenotneeded

§ Why?Evenun-usedprocessstepstaketime

RemovingUnneededProcessSteps

1

2

3 6

5

4 7

8

9

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDeploymentTemplate

PackageCreationHealthCheckRemoveStepsCreateRollback

InitializationStartErrorHandlerSendNotificationsShutdownBackupDeploysStartGuidewireGWAdminImportsStartQueuesWebAppsOnlineNotificationsStopErrorHandler

DeploymentValidationTestingIntegrationTesting

Post-Deploy

Majorstepstorelease

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ProsandConsoftheSingle-ApplicationApproach

Providesaframeworkforallotherdeploymenttypes

Complexdependencies,includingmanualsteps,areaccountedfor

Logginganderrorhandlingareconsistentacrossallartifactdeployments

Workflowsgetlargeandcomplex

Applicationparameters=nosharedcomponents

Breakingtheworkflowmeansyou’vebrokenitforalldeployments

PROS CONS

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TaskEnablementDevelopers,QAAnalysts,andevenbusinessusershavetheabilitytoruntheirowndeployments,allowingthedeploymentteamtofocusongrowingandenhancingreleasecapabilities.

EnvironmentIssuesDevelopersrarelyneedtoaddressissueswithenvironments,andcanfocuson“real”workinstead.

ReleaseFrequencyWhatusedtobeasinglemonthlyreleaseinvolvingmanyman-hoursofefforthasevolvedto1-2releaseseachweek,withonlyahandfulofpeoplespending45minutesoftheirtime.

ResultsTheImpactofCAReleaseAutomation

26 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

RecommendedSessions

SESSION# TITLE DATE/TIME

DO5X12SEchoStarTransformsComplexSoftwareReleasestoCustomerNetworkSetTopBoxeswithCARACDE 11/17/2016at01:45pm

DO5X14SHMSDeliversSleekApplicationDeploymentsviaCAReleaseAutomation 11/17/2016at03:45pm

DO5T19SGMFinancialBuildsaSustainable,Holistic,ContinuousDeliveryPractice 11/17/2016at04:30pm

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

ModernizeAppDeliveryIntegratedCDTheater5- DOV501P

DeliverTestDataFasterTestDataManagerTheater5- DOV511P

DeliverBetterAppsServiceVirtualizationTheater5- DOV507P

OrchestrateYourReleaseReleaseAutomationTheater5- DOV513P

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DevOps– ContinuousDelivery

FormoreinformationonDevOps– ContinuousDelivery,pleasevisit:http://cainc.to/PiTFpu

Recommended