Upload
ranger4-limited
View
424
Download
1
Embed Size (px)
DESCRIPTION
In this presentation, delivered by Mark Roberts from IBM at the Ranger4 Making DevOps Pay breakfast briefing at The Royal Exchange in London on 7th May we consider how to quantify DevOps.
Citation preview
Quantified DevOpsImprove Collaboration, Accelerate Deployment, Reduce Risk
Mark RobertsIT Specialist, IBM Rational UK
© 2013 IBM Corporation
Mark Roberts
Background in development
– C, C++, FORTRAN, PERL, Assembler
– Embedded C
– Network Management
2
15 years in Rational Software
– Consultant
– Services Manager
– Consultant
Configuration, Change, Build, Automation
UrbanCode
The emergence of „DevOps‟
Operations
Cre
ativ
e B
eh
avio
r
Pro
ce
du
ral R
igo
r
Development
OperationsC
rea
tive
Be
ha
vio
r
Pro
ce
du
ral R
igo
r
Development Cross over –
DevOps
Waterfall
Process
Platform
Agile
Delivery
Process
Platform
Blended roles and repeated operations
41%experience
developmentdelays
34%experience deployment
delays
45%experience production
delays
4-6weeks
to delivercode
changes
A lack of continuous delivery impacts the entire business
Operations/Production
Development/TestCustomers
BusinessOwners
Costly, error prone manual processes and efforts
to deliver software across an enterprise
CHALLENGES
Upgrade risk due to managing multiple application
configurations and versions across servers
Slow deployment to development and test
environments leave teams waiting and unproductive
Customers
Desire for fast
and continuous
innovation
Line of Business
Requirements
Dev & Test
Teams
Code & Tests
Operations
Team
Business
Services
1st
Gap
2nd
Gap
Delivery Challenges
Today’s business and technical needs are
pushing traditional delivery approaches to the
breaking point
“At some point, you take a step back, and you realize you have an awful lot of siloe’d systems that are limiting transparency across strategic projects”.
- Development DirectorTemenos, Inc.
People
Process
Information
With only Agile Development improvements…
Agile
Dev
CI builds are piling up
Functional
Testing
Acceptance
Testing
Production
Operator
Setup
(weeks)
Install
Test and Ops teams have increased
pressures to keep up with increased loads but
continue to use waterfall approaches and
traditional tools.
Customers
Desire for fast
and continuous
innovation
Line of Business
Requirements
Dev & Test
Teams
Code & Tests
Operations
Team
Business
Services
2nd
Gap
Dev
Ops
Addressing Application Lifecycle Management gaps
The Application Release Process
Deploy to Development
– Test
Deploy to QA
– Test
Deploy to Production
– Go home
8
Plans and documentation
– Run book of manual steps
– Spreadsheet record and assignment
– Project plan for dependencies
Manual network configuration
– Traffic rerouting
– Load balancer switch off
Deploy application to servers
– Scripted operation
Manually validate script execution
Further script execution
Manual approval for final switch over
– Email manager for approval
File documentation
Application Release Process Improvement - Impact
Driving down cost
Reduce manual labour effort, resource wait-time, and rework
How : Eliminating errors with consistent approach and improved environment management
Accelerate time to market
Increase frequency of software delivery
How : Automated, repeatable deployment processes across development, test and production
Reduce risk
Deliver higher quality application releases
How : Through end-to-end traceability
Demonstrable compliance
Generate confidence in deployed assets
How : Audit records, security control, approval and monitoring
9
Application Release Automation – Delivery
Automate repetitive tasks - saving labour costs
Build automation
Quality Management and Test Automation
Configuration Management
Discover defects earlier in the lifecycle - reducing the repair costs
Requirements Analysis and Management
Code Scanning
Modeling and Model-driven development
Lower the risk - decreasing the variance of software projects
Standardized software processes
Traceability through Integration
Efficiency
Productivity
Predictability
Total Cost of Ownership Breakdown
Infrastructure Support and Administration
Software Maintenance Fees
Cost of
ImplementationSoftware Licenses
Startup Costs
Cost of Operations
Hardware Acquisition
Code Maintenance
Total Cost
of
Ownership
Application Upgrades
Design/Build/Test14%
1%
3%
3%
10%
27%
21%
79%
27%
15%
Application Release : 83 %
Business System Delivery Process
12
Objectives
Initiatives
New Ideas
Business
Analysis &
Design
Development Validation Operational
Delivery
Where to start ?
– Strategy 1 – Make significant improvements to one silo of the development lifecycle
– Strategy 2 – Take a thin slice across all areas and exercise the new process
Improving the Business System Delivery Process
13
Short Term Medium Term Long Term
Deployment and Release management
Test automation
Agile development methods
Cost avoidance – Traceability, Metrics
Globally distributed development
Asset management & reuse
Incremental value
Change and build management
Common source code management
Requirements management
Deployment and Release management
IBM UrbanCode DeployDeployment Automation
Deployment of Applications through Environments
Rapidly deliver to multiple environments for testing
Visibility into deployment status via dashboards
Easily roll back applications due to errors or
changes
Compliance via audit trails and security
Integrated with existing investments (Open Source,
Tivoli, Cloud, Microsoft, Commerce, Portal)
Versioned Artifacts
QAEnvironment
Production Environment
Development Environment
Artifacts Artifacts Artifacts
Execute Against Execute Against Execute Against
Deploy orRollback
Deploy orRollback
Deploy orRollback
Application Blueprint
IBM UrbanCode Release Release planning and orchestration
Collaborative release management
solution :
Replaces error-prone manual
spreadsheets and streamlines
release activities
Orchestrate release of multiple
applications across multiple
environments
Centralized release processes
control desk with real-time status
Environments-to-releases
allocation
UrbanCode Deploy – Fine-grained Deployment Step Details
16
UrbanCode Release – Pipeline of Deployment
An Example – Education Provider
The Problem
– Error-prone manual tasks and duplicate processes
– Slow deployment to development and test environments
– Risk of instability due to the management of multiple configurations and versions
– Lack of enterprise visibility, centralized deployment processes and control over deployment processes
– Which resulted in : security issues
The Solution : UrbanCode Deploy
– Orchestration and automation of the deployment of applications and database changes across the
development, test and production environments
The Result
– A consistent, repeatable process for delivering across the enterprise
– Deliver as many applications as needed, on a convenient schedule
– Increased application deployment speed by up to 90 % and simplified implementation processes
– Achieved a return on investment within six months, reduced costs and risk
18
An Example – International Bank
The Problem
– Was using a series of slow and error prone manual tasks to deploy applications, middleware
configurations and database changes in development and test environments
– The presence of multiple middleware configurations and application versions lead to a risk or instability
in the development and test environments
– A lack of control over deployments left the environments vulnerable to security threats
– Poor visibility of deployment processes, which created confusion among developers
The Solution : UrbanCode Deploy and UrbanCode Release
– Orchestrate and automate the deployment of applications, middleware configurations and database
changes into the development and test environments
– Streamlined deployments eliminating errors while deploying larger and complex application releases
The Result
– Improves visibility and control over the process while reducing errors and rework
– Reduced vulnerability to security threats
– Increased application deployment speed by up to 75 % and simplified implementation processes
– Achieved a return on investment in ONE month
19
20
IBM UrbanCode Release – Release planning and orchestration
Collaborative release management
solution that replaces error-prone
manual spreadsheets and
streamlines release activities
Orchestrate release of multiple
applications across multiple
environments
Centralized release processes
control desk with real-time status
Environments-to-releases
allocation