Set of slides providing a summary of our DevOps Transformation efforts within the Rational Collaborative Lifecycle Management organization. Discusses the use of IBM Urbancode Deploy, IBM Pure Application System and adoption of DevOps methodologies.
Diamond Application Development Crafting Solutions with Precision
Devops transformation in the Rational Collaborative Lifecycle Organization
1. Robbie Minshall
Nov 11th, 2014
Transformation day – 590 Madison Ave, NYC
CLM Development Self Improvement and
Transformation
2. 2
Market shifts are fundamentally changing the way
businesses approach software driven innovation
Macro Business Environment
Increasing regulatory environments drive
the need to reduce risk
Empowered Users
Consumerization of IT drives
the need for apps with high
quality customer experience
Technology Trends
Mobile, social, big data, cloud,
intelligent/connected systems
drive the need for agility
Mobile
Cloud
Intelligent/
Connected Systems
Social
Big Data
Inhibitors
Complexity: Acquisitions, disparate technology, teams, culture, integrations
Culture: Geographically disperse team; cross organizational complexities; cross discipline
collaboration, skills
Business: KLO spending outpacing innovation, Processes based on traditional approaches,
Failure with clients is not an option but speed is essential, new business models
Tools: Siloed and perpetuate culture and traditional organizational structures
Multi-sourcing
Increasing outsourcing drive
the need for governance
3. Systems of Record
Systems of Interaction
Continuous
client experience
Partner value
chain
Cloud-based
Services
Systems of Engagement of customers
experience
production delays
>45%
of outsourced
projects fail to meet
objectives
>50%
of budgets devoted to
maintenance and
operations
>70%
to deliver even minor
application changes to
customers
4-6 weeks
DEVELOPMENT/TEST
Speed mismatch between faster moving front office and slower
moving back office systems, delaying time to obtain feedback
SUPPLIERS
Delivery in the context of agile
OPERATIONS
Rapid app releases impact system stability
and compliance
LINE-OF-BUSINESS
Takes too long to introduce or make changes to
mobile apps and services
CRM HR
DB ERP
Inefficient software delivery impacts the entire business
3
4. Accelerate
software delivery –
for faster time to value
Balance speed, cost,
quality and risk –
for increased capacity
to innovate
Reduce time to
customer feedback –
for improved customer
experience
Continuous
Monitoring
Collaborative
Development
Continuous Release
and Deployment
Continuous
Customer
Feedback and
Optimization
Continuous
Business Planning
Continuous
Testing
Operate Develop/
Test
Deploy
Steer
DevOps –
Continuous
feedback
DevOps: IBM Point of View
DevOps: Enterprise capability for continuous service
delivery that enables clients to seize market opportunities
and reduce time to customer feedback.
People Process Technology+ +
5. • We will apply DevOps models of Solution Development to two distinct kinds of
Application or Solution models
• Legacy Solutions – Updates to solutions already in place, or some new
development under constraints that require traditional models
• Next Gen Solutions – Greenfield solutions developed without traditional
constraints
• In both cases there is value in applying DevOps models, techniques, and capabilities
to enhance IBM software products
Two Models of Development of Next Generation Solutions
Legacy
Solutions
Next Gen
Solutions
5
Use DevOps to
reduce cost and
risk
Use DevOps to
increase speed
6. Our DevOps Practices
6
Next Gen
Solutions
Legacy
Solutions
Goals Business Benefits
Collaborate across the entire
development lifecycle
Reduce Rework and establish
priorities across the product stack
through SPC.
Experiment with Software as a Service and
work with customers on requirements
through the delivery of IBM DevOps Services
and Cloud Platforms.
Automate
to boost development/deployment
productivity
Automated Quality assurance (tests)
and deployment automation in all
areas reduce cost and free up
resources with UCD.
Delivery new capabilities to production in
hours through DevOps processes using IBM
Urbancode Deploy and Softlayer.
Measure and Optimize
continuously
Measure and improve planned
outages, performance and
deployment failures improving
stability and trust.
Measure active engagement of our offerings
and responses to new features such as Quick
Planner.
Reduce costs and risk of Legacy Solutions to enable growth and experimentation
7. IBM Rational CLM team adopts DevOps to deliver
innovative solutions
Increased releases
by 300% by reducing 12-month
delivery cycles to quarterly cycles
Automated deployments projected to save
2+ million per year
Continuous self hosting (jazz.net)
deployments provide constant feedback
Reduced deployment times
by 92% with IBM Deploy capabilities
Refocused resources
from 58 to 80% of development
focused on innovation and delivering
new capabilities like IBM Bluemix
Solution Components
• IBM® Rational® Requirements Composer™
• IBM® Rational® Team Concert™
• IBM® Rational® Quality Manager™
• IBM® Infosphere® Optim Test Data
Management™
• IBM® Security AppScan Enterprise™
• IBM® Rational® Focal Point™
• IBM® Worklight™
• IBM® UrbanCode Deploy™
8. Lifecycle Measurements 2008 2010 2012 – 2014 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
Composite Build Time 36 hours 12 hours 5 hours 700 %
BVT Availability N / A 18 hours < 1hour 17 hours
Iteration Test Time 5 days 2 days 14 hours 4 days
Total Deployment Time 2 days 8 hours 4 hours -> 20
minutes
2 days
Overall Time To Production 9 days 3 days 2 days 7 days
Time Between Releases 12 Months 12 Months 3 Months 9 Months
Innovation / Maintenance 58% / 42% 64% / 36% 78% / 22% +20% / -20%
Double-digit revenue growth, increased client adoption, improved client satisfaction
8
How IBM Rational Products have improved!
9. Summary of Practices from CLM transformation
1) Expand agile practices beyond development and test to include clients,
business stakeholders and operations to breakdown silos and improve
outcomes.
2) Continuously test using automation and virtualization to eliminate long
backend test cycles and increase quality.
3) Build a delivery pipeline leveraging tools-as-a-service that enables developers
to commit code, test, and deploy to a production environment in minutes
reducing the need for rework and maximizing productivity.
4) Experiment rapidly by delivering instrumented capabilities which enable the
team to make fact-based decisions and quickly evolve towards an optimal
solution.
5) Create a culture of continuous improvement leveraging measures of
effectiveness and efficiency to ensure you’re getting better.
9
11. Continuous Delivery Pipeline
Develop
Test (continuous) Interactive
Testing
Usability Test
Security Pen
testing
Unit
Test
Production
(on demand)
Production
Environment
System
Test
Performance
Test
Integration
Test
Function
Test
Build
Build
Production-Like Environment Production-Like
Environment
• Ship ready at the end of every sprint
• Shift testing left and automate as much as possible
• Use the same deployment mechanisms everywhere
• Strive to maintain a constant state of ship-readiness
• Treat Infrastructure as Code
DeploymentsDeploy Golden Topology
Develop DevOps
Services
11
Developers
launch test from
their workspace
Executes 10000s of Junits
Rapid install and smoke Tests
Functional and systems tests on Golden
Topologies
B
V
T
Continuous Integration and Test
12. As applications get more complex, test environment set up
becomes a key inhibitor • Increasing expense of
standing up complex
environments
• Delays caused by lack of
system availability
• Third-party services can be
especially costly
• Testers spend more time
setting up tests than testing
30-50%
The average amount of time testing
teams spend on setting up test
environments, instead of testing
$5-30 million
The typical investment to build a single
test lab for a Fortune 500 company.
Most have dozens…
13. Software Defined Environments
Treating Topology Patterns as code
Standardized Golden Topologies evolve over time.
How are these patterns managed?
Treat topology definitions and automation as code
Version everything
Automate deployment
Manage Versions
Automate Testing
Avoid Sprawl
13
14. Best practices
Capture golden topologies using Infrastructure as a Service and
Virtualization
Automate fast moving pieces (applications) on top of Golden Topologies
Provide barrier free access to provisioned topologies
Focus governance on monitoring and usage patterns not restrictions
Standardize Test Automation
inputs (properties)
targets (golden topologies)
outputs (results)
IBM Confidential14
15. What is The PureApplication System?
System Infrastructure
Inherits the
capabilities of
PureFlex System
Application Platform
Integrated Server, Storage,
Network
Power Management
Storage & VM Optimization
Virtualization
Integrated System Management
Provisioning
Security
Monitoring
IT Lifecycle Management
System design
Application Optimization
System wide Management
Automation & Scaling
Caching & Elasticity
Application Centric Provisioning
Usage Metering
Security
Monitoring
App Lifecycle Management
License Management
Self-service
Data management
Integrates an
application platform
optimized for
enterprise
applications
Application patterns
from IBM and
partners
• 100+ ISV business applications
• Business intelligence
• Business process management
• Web experience (Portal)
Patterns of Expertise
PureApplication System adds deep application-aware value to its PureFlex foundation!
15
16. Reduce test deployment costs by 92%
SCM Build Automation
IBM Endpoint
Manager
QA PROD
Provision platformExecute application
deployment and
manage settings
across environments
Patch/update
Publish build
Pull
changes
OpenStack
Platform Config Management
Environments
Deploy early and
often to ensure
higher quality and
faster releases using
repeatable, reliable,
and managed
automation
DEVDEVDEVDEV
IBM PureApplication System
IBM UrbanCode Deploy with Patterns
16
17. Development cycle
FEATURE /
RUN REPO
‘PIPELINE’
BUILD
AUTOMATED
INTEGRATION
TEST
UNIT
TEST
FEATURE/RUN
SVT
PERFORMANC
E
SELF HOST STAGING PRO
D
IBM
IINTERNA
L
CUSTOMER
QA and Self Hosting Customer Deployment
IBM Common Cloud Stack
Deploy Golden Topology
Traditional Infrastructure
Deploy and manage Golden
Topology
Wants instant
access to
topology w/
latest build or to
reproduce issue
Easily provision
and manage build
infrastructure
Can dynamically
provision Golden
Topology to provide a
scalable regression Can
automaticall
y deploy to
production
servers
based on
test results
Can get Golden
Topologies for latest
builds and focus on
real test engineering
IBM is investigating providing
our automation in open source
project via JazzHub
17
18. Build Confidence with a Single View of Quality
IBM Confidential
1
8
Ready to deliver?
Single view of completeness
Ability to quickly drill down on problems
19. Self Hosting
JAZZ is the production system
There are 2 staging systems
BLUES is the continuous upgrade system
SOUL is the testfix and pre-prod upgrade system
Staging1 Staging2 Production
Copy back to Staging every 6
months (latest data)
JAZZ.NET SPRINT PROCESS
Upgrade Staging 2 (SOUL)
Deploy to production
Copy production to Staging 2
21. What is Docker
21
Simple APIs and readable Dockerfiles promote forking and sharing of code
GIT/maven style repositories
Layered images promote Continuous Delivery processes and sharing
Light weight images lend themselves to productive local environments to test distributed scenarios
22. Wouldn’t it be nice if ….
You never manually installed again
You never had any more issues where it “works on my desktop”
Software engineers had self service access to production like topologies
Software engineers could write automated tests that could validate production
environments
Your software engineers to actually do Behavior and Test Driven Development
You could TRUST your ability to Continuously Deploy your application
You could KNOW when issues where introduced and what introduced them
Deployment choices where based on delivering value, not the cost of the
deployment
22