ibm devops enabling continuous integration & delivery

42
© 2013 IBM Corporation Enabling Continuous Delivery: the IBM solution Roberto Pozzi Rational Technical Sales & Solution [email protected]

Upload: roberto-pozzi

Post on 11-May-2015

2.235 views

Category:

Technology


3 download

DESCRIPTION

This presentation is the result of several engagements with clients on the topic of software lifecycle management and continuous delivery. I acknowledge the contribution of Daniel Berg (Chief Architect, DevOps Tools & Strategy) for all the slides related to DevOps and IBM DevOps Strategy

TRANSCRIPT

Page 1: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Enabling Continuous Delivery:the IBM solution

Roberto Pozzi

Rational Technical Sales & Solution

[email protected]

Page 2: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

AGENDA

� DevOps: contesto attuale e necessità

� DevOps: diversi path di adozione

� Software Lifecycle & Deployment Automation

2

Page 3: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation3

Software delivery is critical to success

3

86%

of companies believe software delivery

is important or critical

25%

leverage software delivery effectively today

But only

Source: “The Software Edge: How effective software development drives competitive advantage,” IBM Institute of Business Value, March 2013

69%

outperform

those who don’’’’t

of those who

leverage software

delivery today

Page 4: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Market shifts require a new approach to software delivery

Mobile

Cloud

Intelligent/ConnectedSystems

Social

Big DataInstrumented Products

Drive the need for agility

Technology Trends

Evolving Customer Expectations

Changing Business Environment

Multi-sourcing Supply Chain

4

Page 5: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Challenges

Costly, error prone processes

Risk of instability

Slow deployments

Success requires the ability to manage the expanded lifecycle and software supply chain

Operations/ProductionDevelopment/TestCustomers Business Owners

5

Page 6: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Embrace a DevOps ApproachAn enterprise capability for continuous software delivery that enables clients

to seize market opportunities and reduce time to customer feedback

DevOps Lifecycle

Continuous Innovation, Feedback and Improvements

Operations/ProductionDevelopment/TestCustomers Business Owners

6

Page 7: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

AGENDA

� DevOps: contesto attuale e necessità

� DevOps: diversi path di adozione

� Software Lifecycle & Deployment Automation

7

Page 8: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

DevOps Adoption Paths

DevOps Foundation

Open Lifecycle and Service Management Integration Platform

OSLC

Ec

os

ys

tem

Be

st P

rac

tices

Monitor and Optimize

Plan and Measure Develop and Test Release and Deploy

DevOps Lifecycle

Continuous Innovation, Feedback and Improvements

Operations/ProductionDevelopment/TestCustomers Business Owners

8

Page 9: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Develop

and Test

Collaborative Development

Link Systems of

Record to Systems

of Engagement

Bridge Mainframe

and Mobile Skills

Continuous Delivery

Open Lifecycle and Service Management Integration Platform

9

� IBM Rational solution for Collaborative Lifecycle Management

� IBM Rational Lifecycle Integration Adapters- CA Clarity and direct Rational Requirements Composer to HPQC synchronizer

� IBM Rational Developer Family including RAD and Worklight Studio

� IBM Enterprise COBOL for z/OS

Page 10: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

SOA / REST Third-party

Services

Mainframe

ApplicationsDatabases

Mobile Application

Server

Mainframe Test

Environment

Multiplatform Application Testing

Develop

and Test

Continuous Testing

Multichannel, multi-tiered

test execution

Virtualized services

remove test bottlenecks

Comprehensive test

automation solution

10

� IBM Rational Test Workbench

� IBM Rational Test Virtualization Server

� IBM Rational Performance Test Server

� IBM Rational Quality Manager

� IBM Rational Development and Test Environment for System z

Page 11: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Release

and Deploy

Continuous Release and Deployment

IBM SmartCloud Orchestrator

11

� UrbanCode Deploy and Release

� IBM SmartCloud Orchestrator

Page 12: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

AGENDA

� DevOps: contesto attuale e necessità

� DevOps: diversi path di adozione

� Software Lifecycle & Deployment Automation

12

Page 13: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

DevOps Adoption Paths

DevOps Foundation

Open Lifecycle and Service Management Integration Platform

OSLC

Ec

os

ys

tem

Be

st P

rac

tices

Monitor and Optimize

Plan and Measure Develop and Test Release and Deploy

DevOps Lifecycle

Continuous Innovation, Feedback and Improvements

Operations/ProductionDevelopment/TestCustomers Business Owners

13

Page 14: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Patterns of challenges

Differences in dev and

ops environments cause

failures

Greater demand for faster

and more frequent

releases

Manual (tribal) processes

for release lack

repeatability/speed

Lack of feedback and quality

metric leads to missed

service level targets

Daily

Build

Release

Who did

this last

time?

DaveE

Dave’s

not here

manE

Dev

Prod

Page 15: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Adoption approaches

Track and Plan activities

Version source and

configurations

Automate as many manual

processes as possible

Test user function

Audit and Monitor system and

customer satisfaction

Dashboard results in highly

visible and easy to read graphs

Application Artifacts

Application

Code

Application

Code

Instrumentation

and

Configuration

Instrumentation

and

Configuration

Runtime

Environment

Definition

Runtime

Environment

Definition

Dev Test

Ops

Version

Automate

Test

Track and

Plan

Audit and

Monitor

Dashboard

Page 16: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Application Release Management

Cloud ProvisioningApplication Deployment Automation

Reference Architecture

Collaborative Lifecycle

Management

Continuous

Integration

• Track Activities

• Ticketing

• Version Management

• Artifacts traceability

• Real-time planning

• Coding

• Unit testing

• SW Quality check

• Automate build

• Track build content

Deployment

• Automate Deployment

• Track environment content

Quality Management

• Test planning

• Test environment provisioning

• Integration Test

• Test Virtualization

Line of

Business

Demand Mgmt &

Analisi

Release Management

• Plan

• Organize

• Track

Page 17: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation17

Application Release Management

Cloud ProvisioningApplication Deployment Automation

Reference Architecture

Rational Team Concert

Rational Application Developer

Rational Developer for Z

Rational BuildForge

IBM Urbancode Deploy

Rational Quality Manager

Rational Test Workbench

Rational Test Virtualization Server

Line of

Business

IBM Urbancode Release

Rational Focal Point

Rational Requirements Composer

Page 18: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

DevOps Adoption PathsDevelopment and Test

DevOps Foundation

Open Lifecycle and Service Management Integration Platform

OSLC

Ec

os

ys

tem

Be

st P

rac

tices

Monitor and Optimize

Plan and Measure Develop and Test Release and Deploy

DevOps Lifecycle

Continuous Innovation, Feedback and Improvements

Operations/ProductionDevelopment/TestCustomers Business Owners

18

Page 19: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation19

Application Release Management

Cloud ProvisioningApplication Deployment Automation

Reference ArchitectureDevelop and Test

Rational Team Concert

Rational Application Developer

Rational Developer for Z

Rational BuildForge

Rational Quality Manager

Rational Test Workbench

Rational Test Virtualization Server

Line of

Business

Page 20: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Rational Team Concert – Functional Overview

Page 21: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Work items

21

Predefined, custom and personal

queries

Subscribe to work items you're interested in

Query results

Integrated discussion threads

Understands and persists work item’s

relationship to SCM and build

artifacts

Page 22: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation22 The Value of Continuous Integration

Continuous Integration Concepts

Build System

Commited level

Temp level

Commited level

Temp level

Head level

Build output

Build ouput

Build output

(a) Maintain a code repository

Source Code Repository

(d) Automate the

build

Automated test

Automated test

Automated test

Team

(b) Everyone commits

every day

(c) Every commit (mainline too)

should be built

(e) Keep the build fast

• (g) Make it easy to get the

latest deliverables

• (h) Everyone can see the

results of the latest build

(j) Test in a clone of the

production environment

(i) Automate

deployment

Production like Systems

(k) Make your Build

self testing

Page 23: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Continuous Integration Concepts

Build System

Commited level

Temp level

Commited level

Temp level

Head level

Build output

Build ouput

Build output

(a) Maintain a code repository

Source Code Repository

(d) Automate the

build

Automated test

Automated test

Automated test

(b) Everyone commits

every day

(c) Every commit (mainline too)

should be built

(e) Keep the build fast

• (g) Make it easy to get the

latest deliverables

• (h) Everyone can see the

results of the latest build

(j) Test in a clone of the

production environment

(i) Automate

deployment

Production like Systems

(k) Make your Build

self testing

23 The Value of Continuous Integration

Team

Page 24: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Advanced source code management

Easily suspend and resume work

Reproduce the exact workspace of any build

Work in parallel without making branch copies

Page 25: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation25

Team of Team Stream

Team Streams

Developer Streams

Work in different promotion levels imposing quality gates

Page 26: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

�Find anti-patterns

and lame code

�Over 200 Java rules

with quick fixes

�Highly extensible

RAD uniquely helps withE Static Analysis

Page 27: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

–Find bad code or test suite gaps

–Use coverage statistics to manage

risk, quality, and investment

–Dynamically reset coverage

statistics at WAS launch

–Integration with Rational Team

Concert:

• prevent checking in of code

with missing or poor results

• open work items directly from

undesirable coverage results

RAD

RTC client

RAD

RTC client

Coverage results on

the latest build are

sketchy. I’ll open a

bug, and may

enable check-in

advisor.

Oooh – A bug! I’ll

import the results,

study them in the

Java editor, and

resolve the issue.

Team Lead

Continuous

builds

Developer

Check-in

advisor

RAD uniquely helps withE Code Coverage Analysis

Page 28: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Automating Quality checks

28

RTC allows to control software quality by imposing and automating quality checks, as an

example:

– Require JUnit Test execution before releasing in a “Committed Level” Stream

– Prohibit release in a “Committed Level” Stream if Test Code Coverage is under a certain

level

Page 29: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation29 The Value of Continuous Integration

Continuous Integration Concepts

Build System

Commited level

Temp level

Commited level

Temp level

Head level

Build output

Build ouput

Build output

(a) Maintain a code repository

Source Code Repository

(d) Automate the

build

Automated test

Automated test

Automated test

Team

(b) Everyone commits

every day

(c) Every commit (mainline too)

should be built

(e) Keep the build fast

• (g) Make it easy to get the

latest deliverables

• (h) Everyone can see the

results of the latest build

(j) Test in a clone of the

production environment

(i) Automate

deployment

Production like Systems

(k) Make your Build

self testing(f) Make your Build

self testing

Page 30: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

© 2008 IBM Corporation© 2008 IBM Corporation

Builds – Extensible Continuous IntegrationRun personal builds

to check your changes before sharing them with

the team

Create build servers Identify work items and change sets that went into the build

Historical view of the build queue with status

Even reconstruct a work space from a

failed build!

Page 31: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

DevOps Adoption PathsRelease and Deploy

DevOps Foundation

Open Lifecycle and Service Management Integration Platform

OSLC

Ec

os

ys

tem

Be

st P

rac

tices

Monitor and Optimize

Plan and Measure Develop and Test Release and Deploy

DevOps Lifecycle

Continuous Innovation, Feedback and Improvements

Operations/ProductionDevelopment/TestCustomers Business Owners

31

Page 32: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation32

Application Release Management

Cloud ProvisioningApplication Deployment Automation

Reference ArchitectureRelease and Deploy

Rational BuildForge

IBM Urbancode Deploy

Line of

Business

IBM Urbancode Release

Page 33: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

IBM Urbancode Deploy

Automating deployment of applications across dev, test, and production environments

33

IBM UrbanCode DeployApplicationDeploymentAutomation

Page 34: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Application – Component Model

Components

– Tiers or services

Environments

– Target servers

– Servers have roles

– Environment Specific Configuration

Processes

– Coordinates Component processes

34

Page 35: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

IBM Urbancode Deploy configuration settings

35

Page 36: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

IBM Urbancode Deploy process designer

36

Page 37: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Snapshots – A Version of the App

Creating a Snapshot

Component Versions

1

1

2

2

3

3

321Web

Mid. Code

DB

Snapshot

3

2

1

Mid. Config 1 2 3 3

Snapshot Deployment

ENVSnapshot

3

2

1

WEB HOST

MID HOST

DB HOST

2

1

1

3

2

X

3 3 1

Contents of environments that pass tests

• contain deployable version and configuration

Deployments are based on deltas

They help with:

� Automation, Audit, and Visibility

37

Page 38: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

IBM Urbancode Deploy environment inventory

38

� Manage application components and

versions

� Manage environment configuration from

dev/test through production38

� Compliance: audit trails quality gates

� Easy to use process designer

� Inventory: what is where

Page 39: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Application Lifecycle Management Integrations For Continuous Delivery and end-to-end release planning

With Rational Build Forge

39

IBM UrbanCode DeployRational Build Forge

Source

config type

Why This Matters

Combine build and release

automation with application

deployment automation

How? Automatically

publish built artifacts to

IBM UrbanCode Deploy

Key Benefits

End-to-end delivery process

How? Leverages both

tools in the way they

were designed to

operate.

IBM UrbanCodeDeploy v6.0

Page 40: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

Integration Scenario

Page 41: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation

IBM Urbancode Deploy works in heterogeneous environments

Deployment Sources

Build servers

Source control tools

Maven repositories

IBM Integrations

RTC / ClearCase / Synergy

WebSphere Application Server

MQ

Message Broker

Other Java Platforms

WebLogic, Tomcat, Jboss, etc

Quality & Change Management

QualityCenter

Remedy

ServiceNow

Microsoft Platform

IIS

SharePoint & Biztalk

Infrastructure

Public / Private Cloud

Load Balancers

DataBases

41

Page 42: IBM DevOps Enabling continuous integration & delivery

© 2013 IBM Corporation42 4242

© 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.

Thank You

Merci

Grazie

Gracias

Obrigado

Danke

Japanese

English

French

Russian

German Italian

Spanish

Brazilian / Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean

TakTakDanish

TackTackSwedish

AčiūAčiūLithuanian