leveraging devops principles for release and deploy
TRANSCRIPT
1Copyright © Serena Software 2015
Leveraging DevOps Principles for Release and Deploy
2013Mark Levy, Product Marketing Manager
Mark Levy, Serena Software
2 2
The Problem
This is a software-powered world
Agile development has increased the pace of
innovation
But has just pushed the bottleneck down to IT
Operations
3 3
OpsDev
Mix in Differing Organizational Goals
4
Slow, Costly and Error-Prone Application Releases
Poor release quality due to ineffective hand-offsbetween Dev and Ops
Global Commercial Bank
Time consuming and error-prone manualdeployments
Human errors deploying to 100 servers, no standard process and no audit trail
Global Insurer Regional Retailer
50% of companies are dissatisfied with key portions of their release management process
95% of IT organizations lack a centralized release management process…and this contributes up to 80% of production defects
Forrester Research Gartner
Lost $440M in 45 minutes Stalled commuter trains for 3 hours
Knight Capital BART
5 5
Thus, the DevOps Movement
6
Silo’s Are Walls of Isolation
Release Management
Release Policy
Release Planning SDLC
Build and Configure Release
Quality Review
Roll Out Plan
Implement Release
Verify Release
Accept Release
7
Burn the Silo? How do you not burn the business?
8 8
How to Start – The Mantra
• What matters to the business• Define and measure success• See the system and follow the flow • Eliminate waste• Create a culture of continuous improvement
• Apply Agile and DevOps principles• Implement Incremental changes• Deliver quick wins
9 9
What Matters to the Business?
• Yes, go ask the people• Gain visibility and insight into the business
• Align your objectives to the objectives of the business
• Agree on metrics to messure
10
How Responsive are you to the Business?
• Where do you start to improve?• How do you measure success?• Average cycle time for moving a business
request from Development to Production?• Number of business requests implements this
week, month, year?• Cost of moving a unit of change through your
application lifecycle?• Percentage of a release focused on technical
debt?• Percentage of a release focused on innovation?• Develop metrics to support what matters to the
business
11 11
See the System and Follow the Flow
• Business request to the production• Detailed picture of your current process• Follow the flow of information and artifacts• Where does your deployable assets reside?• Identify feedback loops required
12 12
Simplify the Process and Eliminate Waste
• Look for ways to optimize throughput• Simplify process• Lean Methodologies
– Value Stream Mapping– Timeline Analysis– Waste Analysis
• Financial Cost Accounting
13 13
Lean In and Then Lean Out
14
Continuous Delivery: Goal and Principles
• Create a repeatable, reliable process for releasing software• Automate almost everything• Keep everything in version control• If it hurts, do it more frequently• Build quality in • Done means released• Everyone is responsible for the delivery process
“To find ways to deliver high-quality, valuable software in an efficient, fast, and reliable manner.”
15
Create a Repeatable and Reliable Release Process
• Single system of record for release planning and execution– Updated in real-time– Schedules– Milestones– Gates and Approvals
• Automatic cycle-time capture
• Ensure audit trails for compliance and learning
16
Enterprise IT Application Layers
17
Release Management
• We align to Change Management• We plan and manage long term Releases• We can document and demonstrate traceability and compliance…
A “Release” Method Needs to Support Different Modes
Continuous Delivery
• We align to Change Management• We can automate continuous Releases• We can build traceability compliance in…
18
Select a Release Method for each “Modal” Application
• Change Approval Method • Artifact centric – aligns to Continuous Delivery• Deployment artifacts linked to RFC for Approval• Sometimes only created for Production deployments
• Release Package Method• Artifact/Process centric – evolves Continuous Delivery for the Enterprise• Release Packages linked to Deployment artifacts• Release Packages models Path to Production through Deployment Pipelines
• Release Train Method• Process centric – aligns to ITIL/Service Transition Release Management• Release Trains are planned/scheduled and deployed through Release Packages• Release Planning, Deployment Planning, Change Management
RFC
Artifacts
Release Package
Artifacts
Deployment Pipeline
Release Package
Artifacts
Release Package
Artifacts
Release Train
19
Manage Environments
• Improve availabiliy and readiness of environments
• Calendar shows environment contention and availability issues
• Process drives environment provisioning, management, and decommissioning
• Automatic notification of environment readiness and status changes
20 20
Eliminate Inefficient Deployment Processes
• Define, build, orchestrate and manage all deployment turnovers and tasks
• Capture environment and deployment tribal knowledge in a “runbook”
• Formalize packaging and process of the handoff
• Same set of semantics
• Eliminate “million dollar” release meetings
21 21
Automate Almost Everything
• People should not move the “bits”
• Automate code and config deployments with a single set of deployment processes across all environments
• All preprod deployments should be rehearsals for the final deploy into prod
• Use common tools across all environments
• Quick incremental wins with big impact
22
Keep Everything in Version Control
• Version control everything
• Include infrastructure and configuration code
• Aggregate assets into a single source of the truth
• Should reside in a secure repository
23
Make Gates and Approvals Visible
• Establish minimum entrance requirements to an environment
• Consider applying more rigor to higher level environments
• Auto-revert/gated commits
• Ensure mitigation plans to pull stories/changes from a release
24 24
Integrate Release and Deployment Toolchains
• Process and Artifacts transition across tools
• Seamless integration of the deployment pipeline
• Plug-in architecture to abstract tool implementations
• Integration with change, configuration and ITSM solutions
25
Summary
• Velocity and Complexity of application releases continue to increase as businesses adapt to new economic conditions.
• Responsiveness to the business and operational efficiencies are the value drivers
• Manual deployments, poor collaboration between teams, and lack of control lead to poor quality releases at a high cost
• High levels of performance demands an agile and lean approach• Automation is the quickest route to high performance• Quick wins and continuous improvement trumps big bang rollouts
26
References
27 27
Thank You