Continuous Delivery of Software with IBM

Continuous Delivery of
Software
with
IBM DevOps Solution
Gopal R Kempaiah
Country Manager Technical Sales
IBM Systems
Addressing delivery challenges
Water-SCRUM-Fall?
Customers
Dev & Test
Teams
Line of Business
Gap
Desire for fast
and continuous
innovation
Requirements
Addressed by...
Agile
Dev
Operations
Team
Gap
Business
Services
Code & Tests
Addressed by...
Dev
Ops
Agile Development highlights bottlenecks
Operations
Development
Gap
Code &
Tests
Business
Services
Functional
Testing
Acceptance
Testing
Production
Test and Ops teams have increased
pressures to keep up with increased loads
but continue to use waterfall approaches
and traditional tools.
3
DevOps: The time is now
Four key drivers are making DevOps a 2012 imperative for all organizations.
Business
Agility
Cloud
Computing
DevOps
Operational
Discipline
Agile
Development
DevOps is…
A set of principles and values that
facilitate collaboration across
disciplines to…
1. Enable rapid evolution of
deployed business services
2. Reduce risk, decrease cost, and
improve quality across the
portfolio
People
Process
Information
http://bit.ly/PRPklm
DevOps Principles and Values
1. Collaborate across disciplines
2. Develop and test against a
production-like system
3. Deploy frequently using
repeatable and reliable
processes
4. Continuously monitor and
validate operational quality
characteristics
People
Process
Information
How do we make this happen?
Automate everything
Track and
Plan
Automate
Version everything
Application
Artifacts
Test everything
Application
Code
Track and Plan everything
Dashboard
Runtime
Environment
Definition
Version
Instrumentation
and
Configuration
Instrument and Audit everything
Test
Dashboard everything
Instrument
and Audit
7
Key Concepts
1. Continuous Integration
2. Continuous Delivery
3. Continuous Test
4. Continuous Monitoring
5. Infrastructure as Code
6. Build and Delivery Pipeline
1. Continuous Integration
Tools:
• Jazz Build Engine
• Jenkins, Hudson
• Urban Code Deploy
http://bit.ly/PRQ4a7
2. Continuous Delivery
Tools:
• UrbanCode Deploy
• SmartCloud Continuous Delivery
http://bit.ly/PRQ4a7
IBM SmartCloud Continuous Delivery packaging
Extending Agile Development with Continuous Delivery
Build -> Publish -> Deploy -> Test
Rational Team Concert
IBM SmartCloud Provisioning
Agile
Development
Deployment to
Virtual Systems
11
3. Continuous Test
Tools:
• RTW, RIT, RTPS
• RQM
• Third Party Testing Tools
http://bit.ly/PRQ9dQ
What is Service Simulation and Test
Virtualization?
Public Cloud
Private Cloud
Third-party
Services
Archives
Portals
Directory
Identity
Data Warehouse
File
systems
Mainframe
EJB
Business
Partners
Shared
Services
Messaging
Services
Enterprise
Service Bus
Capture
& Model
App Under Test
App Under Test
Routing
Content
Service Collaboration
Providers
Databases
Mainframe
applications
Third-party
Services
Packaged apps, messaging services, etc.
Virtual Services
Heterogeneous Environments
System dependencies are a key challenge in setting
up test environments:
Test Virtualization enables to create “virtual
services”:
Unavailable/inaccessible: Testing is constrained due
to production schedules, security restrictions,
contention between teams, or because they are still
under development
oVirtual Services simulate the behavior of an
entire application or system during testing
oVirtual Services can run on commodity
hardware, private cloud, public cloud
oEach developer, tester can easily have their
own test environment
oDeveloper and testers continue to use their
testing tools (Manual, Web performance, UI
test automation)
Costly 3rd party access fees: Developing or testing
against Cloud-based or other shared services can
result in costly usage fees
Impractical hardware-based virtualization: Systems
are either too difficult (mainframes) or remote (thirdparty services) to replicate via traditional hardwarebased virtualization approaches
13
IBM Rational Test Virtualization Solution
Test Virtualization is an enabler for
continuous Integration Testing
Services, applications, systems are
introduced into the continuous integration
cycle in a prioritized, controlled fashion.
Incremental Integration Testing
Actual Service/App
Virtual Service/App
IBM Rational Test Virtualization Solution
for continuous integration and testing
•
•
•
Avoid time spent installing and configuring software just to discover
basic build issues
Smoke tests can be integrated as part of the continuous integration
process through deployment automation and test virtualization
Smoke test results are made available to the entire team to shorten
resolution
Cloud Environment
CRM
Order Mgr
Virtual Lab VM
Catalog
Manager
Build
Assets
App Server
Virtual Machines
•Smoke Tests
•Sandboxes
•Self-provisionning
Product
Increment
4. Continuous Monitoring
Tools:
• SmartCloud Application Performance
Management (Tivoli)
• PureApplication Systems
5. Infrastructure as Code
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"
Tools:
• UCD
• IBM SmartCloud Provisioning, IBM Workload
Deployer, IBM PureApplication Systems
• Chef, Puppet
Traditional Dev - Ops Hand-off
Installation Instructions
RedHat Linux
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat.
2. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
laborum.
Apache Web Server
1. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium
doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore
veritatis et quasi architecto beatae vitae dicta sunt explicabo.
2. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed
quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque
porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur,
3. adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et
dolore magnam aliquam quaerat voluptatem.
Python
1. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit
laboriosam, nisi ut aliquid ex ea commodi consequatur?
2. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil
molestiae consequatur,
3. vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
6. Build & Delivery
Pipeline
Tools:
•
All of the above! AND
•
Rational Asset Manager
•
RTC, ClearCase
•
Other SCM systems
Delivery Pipeline
.jsp
.html
.java
.sh
Build,
Package,
& Unit Test
Application
Binaries &
Platform
Configuration
Deploy
chef
recipes
Source Artifacts
Source Control
Management
Deployable Artifacts
Library
Environment
Running System
Agile Mobile Delivery
Multi-app release, status,
impact analysis
UCR
Test execution
Test results
Test plans,
Suites, Cases
UCD-P
Service calls during
testing
Service recording
Pattern provision
Softlayer Pod
Softlayer Image
Middleware installation,
application deployment
And
iOS
Req, Change, Test Links
Test suite/case
execution
RQM
RIT
UCB
Agile
Program/Project
Plans
Build project for
iOS and And
RTVS
Service creation
Change links for
release,
application,
initiatives
RTC
Virtual API services
WLAP
P
Device app for
instrumentation
RTWMTE
Device app for
testing
Adaptor
Device
App
UCD
Agent
IIM Client
Worklight
Schema
Liberty
DB2
RTW
Server
21
www.ibm.com/software/rational
www.ibm.com/software/rational
© Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any
kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall
have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM
software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities
referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature
availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines
Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.