case study: jeweler’s mutual insurance streamlines complex application deployments with ca release...

29
World ® ’1 6 Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation Tim Dallmann - Platform Engineer - Jewelers Mutual Insurance Co DO5X07S DEVOPS

Upload: ca-technologies

Post on 16-Jan-2017

122 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

World®’16

CaseStudy:Jeweler’sMutualInsuranceStreamlinesComplexApplicationDeploymentsWithCAReleaseAutomationTimDallmann - PlatformEngineer- JewelersMutualInsuranceCo

DO5X07S

DEVOPS

Page 2: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

2 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Agenda

INTRODUCTION

WHAT’STHEPROBLEM?

RESULTS

THEJEWELERSMUTUALSOLUTION

RELEASEAUTOMATIONCHALLENGES

CA-RELEASEAUTOMATION:OURIMPLEMENTATION

1

2

3

4

5

6

Page 3: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

3 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

IntroductionWhoIsTimDallmann?

Professional

30+YearsinIT

Developer

Architect

Manager

Personal

Husband

Father

Drummer

Brewer

Page 4: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

4 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

IntroductionWhoIsJewelersMutual?

Company

>100years

Neenah,WI

Employees:250Overall60inIT

CommercialLines

JewelryStore

Craftsman

PersonalLines

WeddingSets

Earrings

Watches

Page 5: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

5 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscapeManyEnvironmentstoManage

DEV01 DEV02 DEV03 DEV04

TEST01 TEST02 TEST03 TEST04 TEST05 TEST06

STAGEINTEGRA-TION

PROD

Page 6: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

6 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscape

Complexsystemintegrations

Dependenciesthatimpactdeployments

Alargeinter-dependentsystem

Page 7: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

7 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheJewelersMutualTechnicalLandscapeAdiversesetofartifactstodeploy

Page 8: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

8 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

What’stheProblem?

Developersspending60%oftheirtimemanagingenvironmentalissues

Releasesarelargeandcomplex– onlydeployedonceeachmonth

EnvironmentalStabilityandComplexity

RESULT:Inabilitytorespondquicklytochange

Page 9: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

9 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ATeamisBorn!“EnvironmentStabilizationTeam”

1 Createdafoundationforcontinuousdelivery:§ UnittestinginJenkinsfor.Net andJavaapplications§ AutomatedlengthyregressiontestscriptswithHPUFT

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

3 Createdadashboardtodisplayenvironmentstatus

Page 10: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationChallenges

Allapplicationsarepartofalargerdependentsystem

Anyreleasecouldincludeanysetofapplications,requiringcoordinateddeploymentactivities

§ Shutdown§ Queuesuspension§ Backup§ Deployment§ Startup

Whatmakesourdeploymentscomplicated?Sameimageasoriginalfilebutindifferentcolours thanversionon123RF.Brand

Page 11: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

11 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationChallengesOthergoals

Notificationsofpauses,failuresandreleaseprogress

Healthcheckoftheenvironment

Rollbackcapability

Validationtesting

Pausesformanualoperations

Tokenizationofconfigurationfiles

Page 12: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

12 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ReleaseAutomationImplementation

§ Lessthan7weekstogofromzerotoDeploy!

§ Remote-ledPOCpriortoimplementation– Segregatedlabenvironment

§ ServersandagentsinstalledpriortoServicesarrival

Planningforsuccess

Page 13: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

13 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

JewelersMutualCAReleaseAutomationImplementationGettingStarted

1 Takeinventoryofalldeployableartifacts

2 Examinehowtheyaredeployedtoday(beforeautomation)

3 Determinewhereeachoneoriginates

4 Groupthembasedondeploymentsimilarities

5 Createaflowdiagramforeachtypeofartifact

Page 14: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ExampleDeploymentFlowDiagram

Page 15: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

15 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Single-ApplicationApproach

Coordinateactivitiesbetweenallartifacttypes:

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

Modellingtheentiresystemasonedeploymentapplication

1 2

34

5

Page 16: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

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

Page 17: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

17 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Single-ApplicationApproach

The“General”component:§ Providescommonflowsusedin

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

Common“shared”actionsandflows

Page 18: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

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

Page 19: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

19 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DeploymentNotifications

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

§ Deploymentcomplete(post-validation)withstatus

§ Testresults§ DatabaseDeploymentfailures§ Deploymentpaused

Configurablebyenvironment

Communicatingwhatisgoingon

Page 20: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

20 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Rollbacks

Pre-deploy§ Getthelatestinstalledversionofeach

artifact§ Createapackagewiththoseartifacts§ Createadeploymentplanusingthatpackage§ Createarollbackdeploymentandattachto

thecurrentdeployment

Onfailure– rollbackdeploymentmanuallyinvoked

Recoveringfromdisaster

Page 21: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

21 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Health-Check

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

servertypes§ Validatesthingslike:

– MSDeploy isinstalled– Tomcatinstancesarerunning– IISrunning– Enoughdiskspacefordeployment

Ensuringtheenvironmentisreadyfordeployment

Page 22: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

22 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DynamicStepAdjustment

§ Basedonartifactsinpackage

§ Removesdeploymentstepsthatarenotneeded

§ Why?Evenun-usedprocessstepstaketime

RemovingUnneededProcessSteps

1

2

3 6

5

4 7

8

9

Page 23: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

23 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TheDeploymentTemplate

PackageCreationHealthCheckRemoveStepsCreateRollback

InitializationStartErrorHandlerSendNotificationsShutdownBackupDeploysStartGuidewireGWAdminImportsStartQueuesWebAppsOnlineNotificationsStopErrorHandler

DeploymentValidationTestingIntegrationTesting

Post-Deploy

Majorstepstorelease

Page 24: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

24 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

ProsandConsoftheSingle-ApplicationApproach

Providesaframeworkforallotherdeploymenttypes

Complexdependencies,includingmanualsteps,areaccountedfor

Logginganderrorhandlingareconsistentacrossallartifactdeployments

Workflowsgetlargeandcomplex

Applicationparameters=nosharedcomponents

Breakingtheworkflowmeansyou’vebrokenitforalldeployments

PROS CONS

Page 25: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

25 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

TaskEnablementDevelopers,QAAnalysts,andevenbusinessusershavetheabilitytoruntheirowndeployments,allowingthedeploymentteamtofocusongrowingandenhancingreleasecapabilities.

EnvironmentIssuesDevelopersrarelyneedtoaddressissueswithenvironments,andcanfocuson“real”workinstead.

ReleaseFrequencyWhatusedtobeasinglemonthlyreleaseinvolvingmanyman-hoursofefforthasevolvedto1-2releaseseachweek,withonlyahandfulofpeoplespending45minutesoftheirtime.

ResultsTheImpactofCAReleaseAutomation

Page 26: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

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

Page 27: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

27 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

MustSeeDemos

ModernizeAppDeliveryIntegratedCDTheater5- DOV501P

DeliverTestDataFasterTestDataManagerTheater5- DOV511P

DeliverBetterAppsServiceVirtualizationTheater5- DOV507P

OrchestrateYourReleaseReleaseAutomationTheater5- DOV513P

Page 28: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

28 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

Page 29: Case Study: Jeweler’s Mutual Insurance Streamlines Complex Application Deployments With CA Release Automation

29 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DevOps– ContinuousDelivery

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