case study: jeweler’s mutual insurance streamlines complex application deployments with ca release...
TRANSCRIPT
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