10 traps to avoid during a devops transition@AlainDELAFOSSEEric MATTERN
2DevOps beginsDevOps OperationsAgileMethodologiesBusiness DevelopersDevOps started on interaction between developers and operationsReleaseAnalysisDev &BugfixingTestsDeploymentChangesMonitoringIncidentdetectionAnalysisProblemManagement
3Trap 1- Think it’s only toolingProcessesCultureTooling
4Trap 2- Start with the wrong tooling strategy(1/2)•Manage anddeploy OS &Software images•Less flexibility•Infrastructureand DeploymentCoverage•Automatedeployment usinga market solution•Stick onrequirements•Numerous bricksavailable•RequiresIntegration work-A-Build ownsolution-B-DeploymentTool-C-ApplianceImages-D-Adopt PAASApproachDependencyManagement:Middleware and OS
5Trap 2- Start with the wrong tooling strategy(2/2)Clone Configure Develop Package Configure DeployInfrastructure / OS Software-A- Build ownsolution-B- Deploymenttool-C- Applianceimages-D- PAAS
6Trap 3- Think only server deployment (1/2)OS & SoftwareConfiguration itemsSoftwarecomponentsand middlewaredependenciesOS & SoftwareConfiguration itemsSoftwarecomponentsand middlewaredependenciesInfrastructureconfigurationand provisioningDeploymentorchestrationOS & SoftwareConfiguration itemsConfigurationManagementConfigurationManagementSoftwareDeploymentSoftwareDeploymentPlatformDeploymentPlatformDeployment
7Trap 3- Think only server deployment (2/2)CFEnginePuppetChefFabricAnsibleCapistranoControl TierSaltRunDeckFunc mCollective
8Trap 4– Trying to automate data & databaseDatabase schemes and data are tricky to automate● Upgrades and rollbacksNot an infrastructure size challengeConfiguration challenge: failover, replication, logs, crons,backups.Automation make sense but update process is challenging:clean install every time with migration scriptsThink about new database schemes ? new databases wherestructure is easier to update ?Try to uncouple databasechanges from code changes
9Trap 4– Trying to automate data & databaseDatabases andData are tricky toautomateUpgrades/depmixing data andDDLRarely aninfrastructure sizechallengeConfig challenge:failover,replication, logs,crons, backups.Try to uncouple databasechanges from code changesNew database schemes ?NoSQL databases where data structure updates areeasierMixing data and DDL and DML,scripts updates, duration
10Trap 5- Rebranding teams/persons as DevOpsRe-name teamsSetting DevOps astitle or functionCreate a newteamForget the nameEmpower yourteams to fosterthe transition!Don’t Do
11Trap 6- Underevaluate the cultural shiftCollaborationLong and difficultjourneyDevops culturalaspects• Sense of continuousimprovement• Collaboration level• TransparencyRe-use AGILEtransitionspractices
12Trap 7- If you don’t measure it, you can’t value itDefine goals Find metrics Expose KPI’s• Deployment metrics examples :• Deployment rate and delay• Releases quality: number of rollbacks• Rollback delay• Effort and delay for configuration update• Dev/ops releases ratio against number ofservers/components/releases• …Contextualizemetrics toyour goal andcontextEvaluate progression & share the success
13Trap 8- Forget continuous improvement loopsCapture Feedbacks• Regular internaluser meetings• Pair deployingFormalize and categorizeProcess evolution/Toolsbugfixes or improvementsBacklog• Milestones andprioritizationImprove• Implement anddeployDevops is a endless journeySetup a continuous improvement loop : tools and processesDon’t specialize resources onmaintenance, think transversal andcollaborative: virtual team.
14Trap 9- Focus only on deployment processMonitoringSucks•Common dashboards usingOPS,DEV and BIZ metrics•Stop servercentric•Logs management•Monitoring==test (cucumber)Performancemanagement•Continuous integration withautomatic stress tests andperformance analysis plugins•Scalability and Capacitymanagement•AutomaticScalingIncident/Problemmanagement• Bring dev into ops roomwhen incidents are popping.• Capture production logs andexpose to dev.BCP/DRP design•Collaborative design of thebusiness continuity anddisaster recovery plans•Cloud BCP hot deploymentSecurity management•Continuous integration withflaw detections plugins• There are other processes /areas where collaboration between devand ops make sense.
15Trap 10– Conflict withSome production environments do require strong service managementDevops doesn’t enforce a specific organization or processesDevops will seed the ITIL processes by bringing new tools and newpracticesITIL Process New tool New practicesChange management Configuration updates automationthrough Chef,PuppetAutomatic change logging andauditRelease and DeploymentmanagementSoftware deployment tools Continuous deploymentBlue/Green deploymentCapacity management Platform deployment tool(Coupling IAAS+ Softwaredeployment)Live scalingService ContinuitymanagementPlatform deployment tool(Coupling IAAS+ Softwaredeployment)Cold BCP deployment throughplatform deploymentautomation
Thank You…….Questions ?Contact : Eric MATTERN email@example.com