5. Organizations that effectively leverage software innovation
outperform their competitors... yet few are able to deliver it
effectively
86
%
of companies believe software delivery
is important or critical
But only…
25
%
of those who
leverage software
delivery today
69
%
outperform
those who don’t
leverage software delivery effectively today
5
Source: “The Software Edge: How effective software development drives competitive advantage,” IBM Institute of Business Value, March 2013
6. And a lack of continuous delivery impacts the
entire business
CHALLENGES
CHALLENGES
Costly, error prone
manual processes and
efforts to deliver software
across an enterprise
Customers
Software glitch costs
trading firm Knight
Capital $440 million
in 45 minutes
6
Slow deployment
to development and test
environments leave teams
waiting and unproductive
Business
Owners
Upgrade risk due to
managing multiple application
configurations and versions
across servers
Development/
Test
New Zealand’s biggest phone company,
Telecom paid out $2.7 million to some
47,000 customers who were
overcharged after a software glitch
Operations/
Production
A bad software upgrade
at RBS Bank left
millions unable to access
money for four days
7. Patterns of challenges
Differences in dev
and ops
environments
cause failures
Backlog of agile
releases that Ops
cannot handle
Manual (tribal)
processes for
release lack
repeatability/speed
Who did
this last
time?
Dev
Daily
Build
Dave…
Monthly
Delivery
Dave’s not
here
man…
Prod
Lack of feedback and
quality metric leads to
missed service level
targets
8. Market trends and expected client business outcomes
Dependent on rapid Software Innovation and Delivery
Rapidly deliver
differentiating
digital content,
applications and
services to fulfill
citizen needs &
obtain new users
Systems of Interaction
Systems of Engagement
SAP
Provide
differentiating client
experience to meet
the needs of
empowered citizens
Leverage cloud
to enable flexibility and offer
new services
HR
DB
Continuous
client experience
8
Systems of Record
ERP
Cloud-based
Services
Internet of Things
Integrate, evolve
and maintain
stability of services
and comply with
any regulations
and comliance
Partner value
chain
Enable a software
supply chain of
Government
System Integrators
Deliver software based innovation
to enable machine to machine
interactions
10. DevOps is a Philosophy
Source: http://virtualplatosacademy.blogspot.com/p/great-philosophers.html
11. DevOps definitions
DevOps (a portmanteau of development and operations) is a
software development method that stresses communication,
collaboration and integration between software developers and
Information Technology(IT) professionals. DevOps is a response
to the interdependence of software development and IT
operations. It aims to help an organization rapidly produce
software products and services.
-- Wikipedia
12. Deming Cycle
William Deming – American statistician
Major influencer of Japanese manufacturing and
business
alit
Qu
y
Famous for Plan-Do-Check-Act cycle (Deming
Cycle)
– I like “Adjust” versus “Act”
PDCA cycles found in DevOps
12
William
Edwards
Deming
13. DevOps
Enterprise capability for continuous software delivery that enables clients
to seize market opportunities and reduce time to customer feedback
DevOps Lifecycle
Customers
Business
Owners
Development/
Test
Operations/
Production
Continuous Innovation, Feedback and Improvements
Accelerate Software Delivery
Balance speed, cost, quality and risk
Reduce time to customer feedback
13
13
14. DevOps approach: Apply Lean principles to software
innovation and delivery to create a continuous feedback
loop with customers
1
1. Get ideas into production fast
2. Get people to use it
3. Get feedback
2
Line-ofbusiness
Customer
Adopt DevOps approach to continuously
manage changes, obtain feedback and
, deliver changes to users
3
Eliminate any activity
that is not necessary
for learning what
customers want
15. Starting Point: Release and Deploy
Case Study: WebMD
Accelerate delivery of usable
increments for continuous
outside-in feedback
Provide a continuous delivery
pipeline that automates deployments
to test and production environments
Reduce overhead with push-button
deployments
Quantify change stability and
measure transparently for
compliance
“Before it took 2 days to deploy
a build, with uDeploy and our new
processes, it takes us
less than 60 seconds.”
Matthew Wilson
Director, Consumer Web Operations
16. How We are Improving - An Example from CLM (RQM, RTC, RRC)
Measures of Operation
Lifecycle
Measurements
2008
2010
2012 –
2013
Total
Improvement
Project Initiation
30 days
10 days
2 days
28 days
Groomed Backlog
90 days
45 days
On-going
89 days
Overall Time To Development
120 days
55 days
3 days
117 days
Iteration Length
6 weeks
4 weeks
4 weeks
2 weeks
6
8
3
N/A
36 hours
12 hours
8 hours
400 %
N/A
18 hours
< 1hour
17 hours
Iteration Test Time
5 days
2 days
4 hours
4 days
Total Deployment Time
2 days
8 hours
2 hours
2 days
Overall Time To Production
9 days
3 days
15 hours
8 days
12 Months
12 Months
3 Months
9 Months
Number of Iterations
Composite Build Time
BVT Availability
Time Between Releases
18. Adopting DevOps in the Enterprise
DevOps Lifecycle
Customers
Business Owners
Development/Test
Operations/Production
Plan and Measure
Develop and Test
Release and Deploy
Monitor and Optimize
DevOps Foundation
Open Lifecycle and Service Management Integration Platform
OSLC
18
Best Practices
Ecosystem
Continuous Innovation, Feedback and Improvements
19. DevOps Solution: Adoption paths, open platform and key
capabilities
Business
Owner
Service
Developer
Platform
Operations
Target
Customer
Plan /
Measure
Develop /
Test
Release /
Deploy
Monitor /
Optimize
Portfolio
Management
Code
Deployment
Monitoring
Requirements
Test
Provisioning
Customer
Feedback
Collaboration
Change & Configuration
Management
Jazz, OSLC and Open Standards Platform
Dashboards/
Analytics
21. Adopting DevOps in the Enterprise: People/Culture
• Common Business Objectives
• Vision Statement
• Common measures of Success
Team Lead
Team
Member
Users
External
System Team
Auditors
Product
Owner
Team
Member
21
Team
Member
Domain
Experts
Senior
Executives
Operations
Staff
Gold Owner
Support Staff
22. Adopting DevOps in the Enterprise: People/Culture
• The case for and against ‘DevOps Team’
• NoOps
• The DevOps Liaison Team
• No overlay layer of bureaucracy
22
23. Adopting DevOps in the Enterprise: People/Culture
• Building a DevOps Culture
• There is no Silver Bullet
• Right People are needed
Team Lead
Team
Member
Users
External
System Team
Auditors
Product
Owner
Team
Member
23
Team
Member
Domain
Experts
Senior
Executives
Operations
Staff
Gold Owner
Support Staff
26. Adopting DevOps in the Enterprise: Process
• DevOps as a Business Process
• A Process to get Capabilities from Ideation to Value
• Apply Lean Thinking to Processes
26
27. Adopting DevOps in the Enterprise: Process
Key Capabilities
1. Collaborative Development & Continuous
Integration
2. Continuous Business Planning
3. Continuous Release and Deploy
4. Continuous Testing
5. Continuous Feedback
28. Adopting DevOps in the Enterprise: Process
1. Collaborative Development and Continuous Integration
Mobile App
Developent
Teams
Enterprise
Services
Developent
Teams
http://bit.ly/PRQ4a7
29. Adopting DevOps in the Enterprise: Process
2. Continuous Business Planning
3. Continuous Release and Deploy
4. Continuous Testing
5. Continuous Feedback
http://bit.ly/PRQ4a7
31. Adopting DevOps in the Enterprise: Technology
/* REXX */
/* REXX BIND processor sample */
trace o
Arg PACKAGE DBRM
rcode = 0
/* Set BIND options */
SYSTEM = 'DSN9'
i = Pos('(', DBRM)
len = Length(DBRM)
LIBRARY = Substr(DBRM, 1, i - 1)
MEMBER = Substr(DBRM, i + 1, len - i - 1)
OWNER = 'DEVDBA'
ACTION = 'REPLACE'
VALIDATE = 'RUN'
ISOLATION = 'CS'
EXPLAIN = 'NO'
QUALIFIER = 'DEVDBA'
Call Bind_it
Exit rcode
Bind_it:
/* Create a bind control statement as a single long line. Then */
/* queue that into a FIFO stack */
DB2_Line = "BIND PACKAGE("PACKAGE")" ||,
" LIBRARY('"LIBRARY"')" ||,
" MEMBER("MEMBER")" ||,
" OWNER("OWNER")" ||,
" ACTION("ACTION")" ||,
" VALIDATE("VALIDATE")" ||,
" ISOLATION("ISOLATION")" ||,
" EXPLAIN("EXPLAIN")" ||,
" QUALIFIER("QUALIFIER")"
/* Write the bind control statement to the data queue and execute */
/* DB2I to perform the bind. */
queue DB2_Line
queue "End"
Address TSO "DSN SYSTEM("SYSTEM")"
rcode = RC
Return
• Infrastructure as Code/Software
Defined Environments
package "apache2" do
package_name node['apache']['package']
end
service "apache2" do
case node['platform_family']
when "rhel", "fedora", "suse"
service_name "httpd"
# If restarted/reloaded too quickly httpd has a
habit of failing.
# This may happen with multiple recipes
notifying apache to restart - like
# during the initial bootstrap.
restart_command "/sbin/service httpd restart &&
sleep 1"
reload_command "/sbin/service httpd reload &&
sleep 1"
Rational Automation
Rational Automation
Framework
Framework
(WAS, Commerce, MQ…)
(WAS, Commerce, MQ…)
32. Adopting DevOps in the Enterprise: Technology
• Common Collaboration Tools
• Common Work Item Management Tool
• Dashboards to show status/progress
32
34. DevOps Solution: Adoption paths, open platform and key
capabilities
Business
Owner
Service
Developer
Platform
Operations
Target
Customer
Plan /
Measure
Develop /
Test
Release /
Deploy
Monitor /
Optimize
Portfolio
Management
Code
Deployment
Monitoring
Requirements
Test
Provisioning
Customer
Feedback
Collaboration
Change & Configuration
Management
Jazz, OSLC and Open Standards Platform
Dashboards/
Analytics
35. UrbanCode: premier Release and Deploy Automation Solution
Enabling clients to more rapidly deliver mobile, cloud, big data and traditional
applications with high quality and low risk
IBM UrbanCode Release
IBM UrbanCode Deploy
•
•
•
•
•
35
Simplifies deployment automation for
applications
Manage configurations across
environments
Intelligent deployment artifact tracking
Higher quality with repeatable, reliable,
and governed processes
Technology plugins supported out of the
box
•
•
•
•
•
Define, manage, and coordinate
operational releases
Aggregates applications into single
release
Phases to support quality and geo
dispersed deployments
Coordinate manual and automated tasks
Replaces manual spreadsheets and
documents
36. Example DevOps Tool Chain
Incrementally adopt when/if needed
Rational Focal Point
Rational Requirements Composer
IBM UrbanCode Release
Line of
Business
SmartCloud Orchestrator
IBM Pure Application System
IBM UrbanCode Deploy
Jenkins
IBM UrbanCode Build
Rational Application Developer
Rational Team Concert
Rational Quality Manager
Rational Test Workbench
Rational Test Virtualization Server
SmartCloud Application Performance Management
36
37. Improve Delivery Lifecycle with Software Defined Environments
Build Automation
Build Automation
SCM
SCM
Pull
changes
Publish build
IBM PureApplication System
SmartCloud Orchestrator
Execute application
deployment and
manage settings
across environments
Environments
Provision platform
DEV
DEV
DEV
DEV
DEV
DEV
QA
QA
PROD
PROD
Patch/update
Platform Config Management
IBM Endpoint
IBM Endpoint
Manager
Manager
Deploy early and
Deploy early and
often to ensure
often to ensure
higher quality and
higher quality and
faster releases
faster releases
using repeatable,
using repeatable,
reliable, and
reliable, and
managed
managed
automation
automation
38. Application-centric middleware configuration management
Middleware
Administrator
-orApplication
Developer
Deployment
Automation
Developer
2 - Plugin
Artifact Library
3 - Import
4 - Assemble
5 - Publish
Exemplar
WAS Cell
WAS
Configuration
Template
6 – Define
Deployment
Process
Cluste
Cluste
rr
WAR
WAR
templa
templa
DB
DB
te
te
Application
EAR
EAR
Application Deployment Automation
WAS Configuration Template Creation
QA
Dev
Prod
Application Environments
39. IBM UrbanCode
Deploy v6.0
Accelerate continuous testing with Service
Virtualization
1
IBM UrbanCode Deploy
RTW plugin
Test
Deplo
y
Dev
Dev
QA
QA
RTVS plugin
3
Rational Test Workbench
2
Confi
gure
Databases
Mainframe
applications
Third-party
Services
Virtualized services
Rational Test Virtualization Server
Deploy what is ready, virtualize the rest - Enable continuous integration testing and
progressive deployments throughout the software delivery lifecycle for complex applications
Automate the creation of virtual test environments as part of the end-to-end DevOps
process Establish a virtual system pattern with automated deployment to standardize and share
test environments quickly and easily across projects and teams
Enable an end-to-end Agile software delivery process Increase the frequency of releases by
testing earlier in the development cycle and deploying reliably to pre-production and production
environments..
40. IBM UrbanCode
Deploy v6.0
DevOps for Mobile
IBM UrbanCode Deploy
RTW Mobile
IBM UrbanCode Release
IBM UrbanCode Build
Mobile Application
Deploy Process
Worklight
Console
Accelerate delivery of mobile apps focusing
on quality and user experience – Automate
deployment of Worklight mobile applications as
part of end-to-end delivery process.
Continuous Feedback and Optimization
using Tealeaf helps monitor user sentiment
and usage, letting teams react to poor
feedback before it spirals
Application
Center
adapter
.wlapp
Binary
(IPA/APK)
41. IBM UrbanCode Deploy v6.0 – Plug-ins
•
•
•
•
41
51 plug-ins from15 different vendors and open source organizations
Broad range of plugins supported:
•
Application servers
•
Databases
•
Messaging platforms
•
Test automation
•
Issue tracking systems
•
Operating system services
•
Cloud platforms
•
Issue tracking
•
Even more…
Plug-ins can be downloaded for free from
http://plugins.urbancode.com/IBMUrbanCodeDeploy
Dedicated team focused on rapid delivery of new and updated plug-ins
IBM Confidential: NDA
Mandatory closing slide (1 of 2)
Acknowledgements and disclaimers
IBMers must include This mandatory “Acknowledgements and Disclaimers” slide at the end of your presentation before the closing “Thank You” slide.
- You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
Main Point: We know organizations have a gap between the software delivery capabilities they need to succeed and the ones they have in house currently. Successful organizations know that when they improve their abilities in this area, they increase their success.
In fact a recent IBV study where organizations self-reported that... Insights from 435 executives in 58 countries, spanning 18 industries
85% realize and reported it is important to critical
Only 25% say they are able to fully leverage software delivery effectively
So there is a gap -- but when companies that can close the resulting execution gap stand to benefit.
Almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a profitability standpoint
TRANSITION – so there is a huge opportunity for our clients to close that gap…let’s move to the next slide and talk about how
--------------------------------------------------------------------------------------------------
Note: Outperformers were determined by a self-assessment of profitability against peers in the industry, ranging from 1 (Significant underperformers) to 5 (Significant outperformers) Significant outperformers were ranked as a 5, Average performers a 3-4 and Underperformers 1-2
new Rational/WebSphere IBV Study "The Software Edge - How effective software development drives competitive advantage"
This study examined the correlation between software delivery competency and industry competitive advantage
Insights from 435 executives in 58 countries, spanning 18 industries
Roles included executives at director level and above in IT and other software organizations
Software delivery refers to all areas of development, operations, and support within IT and other development / engineering organizations
“There was 54% of the companies who said they believe software is critical and 32 percent who called it moderately important – so that’s 86 percent of the respondents say software is either critical or moderately important and that points to the need for better tooling for software development and delivery.” said Randy Newell, director of capabilities marketing for IBM Software Group with a focus on the Rational brand.
From the Agenda:
In this “new normal,” the most forward thinking companies will: Establish an enterprise capability for accelerated delivery of software that enables them to seize market opportunities and reduce time to customer feedback, improve governance while balancing quality and cost
Continuous release and deployment: Continuous release and deployment provides a continuous delivery pipeline that automates deployments to test and production environments. It reduces the amount of manual labor, resource wait-time, and rework by means of push-button deployments that allow higher frequency of releases,reduced errors, and end-to-end transparency for compliance.
ibm.com/software/products/us/en/continuousdelivery/
WebMD:
1. Problem: WebMD offers numerous online applications that provide information to clients on critical health issues. As they made the move to an agile methodology, they needed to reduce the cost of deployments in able to be more iterative.
2. Solution: Deployment automation for both test and production leveraging UrbanCode’s uDeploy.
3. Result: Before it took 2 days to deploy a build, with uDeploy, it takes us less than 60 seconds.
<<Maciej>>
UrbanCode improves software delivery enabling continuous release and deployment via application release automation, helping to drive down costs, speed time to market and reduce risk.
Deployment Automation Developer or Deploy Administrator imports the AMC Plug-in into Deploy. The Plug-in is configured to auto-discover WAS installs on specific resources so when the agent comes on-line it will invoke the AMC plug-in which will discover the cell topology and create WAS Cell and WAS Cluster subresources back on the Deploy server.
A Middleware Administrator or Application Developer unzips the AMC plug-in on a system that has connectivity to the exemplar WAS cell
The Middleware Administrator or Application Developer will run a script packaged in the AMC plug-in that will prompt for some information, then discover and import configuration from the exemplar WAS cell
The AMC template creation script will ask the user for a base product template (e.g. WAS v8.5) and to chose what configuration data from the imported cell should be added (either only cell scoped configuration or a cluster configuration). Note that if any custom tokens are required (e.g. host specific information like JDBC connection URL, etc.), then the Middleware Administrator or Application Developer will need to open the appropriate template file up for editing and insert the tokens manually. They will then need to create appropriate properties on the appropriate WAS Cell/Cluster resources to ensure the token substitution happens correctly during deployment (this is not directly shown in the diagram above for the sake of clarity).
The AMC template creation script will prompt the user for information required to connect to a Deploy server, including the name of the WAS configuration component and will create/update the template in CodeStation.
The Deployment Automation Developer should now have all the Deploy artifacts he needs to assemble the Application including deploy/undeploy processes
The application, including WAS configuration, can be deployed and promoted across all environments defined in the application
Industry pattern is to target a subset of devices and progressively roll out – Facebook, Mailbox
Optional slide. Graphic is available in English only.
Mandatory closing slide (2 of 2)
Thank You Slide (available in English only).