Application Deployment Challenges

47
IBM Rational Software Comes to You México 2008 1

description

Deployment errors result in roll-backs and unplanned down-time of business critical applications. Lost Revenue or Productivity. Lack of an auditable deployment process hinders ability to comply with external regulations. Penalties, Shareholder Value. - PowerPoint PPT Presentation

Transcript of Application Deployment Challenges

Page 1: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

1

Page 2: Application Deployment Challenges

Change and Release Management for Software Development

Alfredo Gutiérrez, Program Director, Rational Technology Events

Page 3: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

3

Inability to ensure the test environment matches production results in quality problems and slow problem resolution

Customer Dissatisfaction

Lost Revenue or Productivity

Deployment errors result in roll-backs and unplanned down-time of business critical applications

Lack of an auditable deployment process hinders ability to comply with external regulations

Penalties,Shareholder Value

Manually configuring complex applications to deployment servers results in inefficient use of IT resources

High Labor Costs

Application Deployment Challenges

Page 4: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

4

A Composite Web Application, Involving J2EE, Integration Middleware, and Legacy Systems

System Deployments Increasingly Complex

Page 5: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

5

Developm

entO

perations

Release

BuildArtifacts

Source Code

EnvironmentChanges

Implemented with this

Built using these

In this

Executable

This

Deployment Artifacts

Which deployed

these

System

on this

Application

Of this

Tests

Test Results

Where these

Produced these

Build Scripts

Which required these

Requirements

Approval

Implemented these

Approved by

Can You Trace Your Artifacts?

Page 6: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

6

• Compliance– Need to be able to track software from development to production and back again

• Repeatability & Reliability– Need to reliably deploy software through multiple test phases and ultimately to

production: • Process – A need to apply a standardized set of steps in an organization• Server Configurations – Need production server configurations that match test

lab configurations, to avoid errors in deployment• Change – Changes cause failures due to lack of understanding of how

application is currently deployed, and impact of new application on existing system

• Security – Authentication and electronic signature approvals

• Lifecycle Automation– Be able to queue multiple automation efforts into a single automated process

• Build -> Deploy ->Test as a single automated process

Build and Deployment Motivators

Page 7: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

7

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 8: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

8

In Production

Implement Build & Stage

Provision & ValidateServer(s)

SystemTest Approve

Defects

E-SIGDeveloper Build Engineer Deployer Tester Project Manager

IntegrationTest

User Acceptance

Typical Deployment Cycle

Page 9: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

9

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 10: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

10

• How can I create and enforce a repeatable process for deploying applications through test environments prior to going into production?

• How can I ensure the build that was approved during testing is the same build deployed into production?

• How can I prevent unauthorized tampering of the build artifacts?

• Can I recreate the build currently deployed in a specific environment?

• What build artifacts are loaded on Testing Servers? The Production Servers?

• How can we load different machines with the same application version simultaneously?

Build and Deployment Questions

Page 11: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

11

Release

Environment(Integration Test, Pre-

Production, Production)Environment

(Integration Test, Pre-Production, Production)

Environment(Function Test,

Performance Test, Production)

Role(Dev, QE, Project Manager,

Operations Manager)

DeploymentRecord

ApprovalApproval

Team Member

BuildBuildBuildUCM Project

Approval

ActivitiesActivitiesActivities

Build and Deploy Tracking Records in ClearQuest

Page 12: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

12

Project Manager creates a Release record to represent

the release

Choosing a UCM Project to associate with the release

provides a link to UCM activities

Define the Release

Page 13: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

13

Defining role names modeled on the role

hierarchy in your organization

Project Manager creates one or more Roles and associate

them with a Release

Define the Roles

Page 14: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

14

Project Manager creates one or many Test

Environments for a Release

System Test Integration Test Pre-Production Production

Define the Environments

Page 15: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

15

Release

UCM Project Environment(Integration Test, Pre-

Production, Production)Environment

(Integration Test, Pre-Production, Production)

Environment(Function Test,

Performance Test, Production)

Role(Dev, QE, Project Manager,

Operations Manager)

DeploymentRecord

ApprovalApprovalApproval

ActivitiesActivitiesActivities

Team Member

BuildBuildBuild

Build and Deploy Tracking Records in ClearQuest

Page 16: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

16

A Build Record in CQ is for tracking build results related to compliance traceability

The build record has a pre-defined workflow and is a stateful record with the following states:– Submitted - build has been started– Completed - build has completed without errors– Failed - build has failed– Retired - this build record is no longer relevant.

Submit Submitted

Completed

Retired

Failed

Complete

Failure Retire

Retire

Re-Submit

Build Tracking

Page 17: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

17

Communicate status of the build: Submitted

Complete, Failed, Retired

Aggregate build records for each release

Create a Build Record

Page 18: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

18

Environment1

System Test

RoleTest Manager approves

deployment

Environment2

Integration Test

RoleProject Manager approves

deployment

Environment3

Pre-Production Test

RoleOperations Manager

approves deployment

Environment4

Production

RoleOperations Manager

approves deployment

Demo One: Managing Builds and Deployment

PatPat

In this demo, Pat will:

1. Define:

a. The release

b. The roles

c. The test environments

2. Create Build Record

Release 1.5

Page 19: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

19

Operations Manager approves deployment

from Pre-produtction to Production Environment

Role

Operations Manager approves deployment

from Integration to Pre-produtction Environment

Role

Production Environment(Sequence: 4)

Pre-production Test Environment(Sequence: 3)

RatlBank1.5 Release

Integration Test Environment(Sequence: 2)

System Test Environment(Sequence: 1)

Project Manager approves deployment

from System to Integration Environment

Role

Test Manager approves deployment to System

Test Environment Role

RatlBank1.5 Build Record

What Got Configured in ClearQuest?

Page 20: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

20

Release

UCM Project Environment(Integration Test, Pre-

Production, Production)Environment

(Integration Test, Pre-Production, Production)

Environment(Function Test,

Performance Test, Production)

Role(Dev, QE, Project Manager,

Operations Manager)

DeploymentRecord

ApprovalApprovalApproval

ActivitiesActivitiesActivities

Team Member

BuildBuildBuild

Deployment Tracking

Page 21: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

21

• For each Release, define the test environments and approvals needed

• Create Deployment records that track the state of a deployment through the test environments

• Create Deployment Units to describe which managed artifacts to deploy

• Optionally link the deployment record to build record(s) for traceability between the build and the deployment

SystemTest Approve

E-SIGTester Project Manager

IntegrationTest

User Acceptance

Deployment Tracking

Page 22: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

22

Indicates current state for the environment

Records move through the pre-

determined environments

Approvals provide auditable gates for deploying into an

environment

Deployment tracked for a release

Versioned Deployment Units identify build artifacts to deploy

Deployment Tracking

Page 23: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

23

1. Create Deployment Unit “template”Create View of build artifactsCapture list of filesCheck into ClearCase

2.Create build specific Deployment UnitBuild the systemCheck-in the build artifactsCapture version information Check in Deployment Unit

3.Create Deployment RecordCreate Deployment Record in CQAssociate the Deployment Unit

ClearCase

ClearCase

Deployment Record

MyApp.xml

MyDU.xml

MyDU.xml

ThisApp

Preparing the Deployment Unit

Page 24: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

24

  <?xml version="1.0" encoding="UTF-8" ?> <tracking:deployment_unit xmlns:xsi="http://www.w3.org/2001/XMLSchema-

instance" xmlns:tracking="http://www.ibm.com/deployment/schema/deploymentTracking.xsd" name="My Test Application" version="1.0">

<history changeOperation="Generate" changeNote="" user="medawson" hostname="melamine.yourco.com" datetime="2005-11-02T09:13:38-0500" />

<file path="/vobs/test_vob/shlib/foo.so" orig_path="foo.so" /> <file path="/vobs/test_vob/shlib/bar.so" orig_path="bar.so" /> <file path="/vobs/test_vob/shlib/baz.so" orig_path="baz.so" /> <file path="/vobs/test_vob/shlib/linked_foo.txt" orig_path="linked_foo.txt" />

</tracking:deployment_unit>

Schema Info

Changes to this file

List of files & their location

Example Deployment Unit Template

Page 25: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

25

• Review the Deployment Unit Template

• Review the Deployment Unit

• Create a Deployment Record

• Move a Deployment Record Through Test Environments

System Test Integration Test Pre-Production Production

ProjectManager,

Pat

OperationsManager,

Lou

OperationsManager,

Lou

TestManager,

Dana

Demo Two – Deployment Tracking

Page 26: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

26

Operations Manager approves deployment

from Pre-produtction to Production Environment

Role

Operations Manager approves deployment

from Integration to Pre-produtction Environment

Role

Production Environment(Sequence: 4)

Pre-production Test Environment(Sequence: 3)

RatlBank1.5 Release

Integration Test Environment(Sequence: 2)

System Test Environment(Sequence: 1)

Project Manager approves deployment

from System to Integration Environment

Role

PatProject Manager

LouOperations Manager

Test Manager approves deployment to System

Test Environment Role

DanaTest Manager

RatlBank1.5 Build Record

RatlBank1.5 Deployment

Record

Approval from Dana to Deploy to System Test

Environment(Sequence: 1)

Approval from Pat to Deploy from System to Integration

Test Environment(Sequence: 2)

Approval from Lou to Deploy from Integration to Pre-

Production Environment(Sequence: 3)

Approval from Lou to Deploy from Pre-Production to

Production Environment(Sequence: 4)

A ClearCase Deployment Unit is one of the attributes of a Deployment Record

Summary of What Got Configured in ClearQuest

Page 27: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

27

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 28: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

28

IBM Rational ClearQuest

IBM Rational ClearQuest

Single project view

Global test project coordination

Configurable, enforceable processes

Extensible test ecosystem

Test Change Defects

Govern the test and development process

The Hub for Lifecycle Management

Page 29: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

29

• Simplifies key SCM functions and workflows

• Easy to adopt

• Optimized for team productivity

• Based on hundreds of successful CM implementations

Unified Change Management

Manage Activities To Do Lists Automated

Workflow

Manage Assets

Versioning: code, models, XML, HTML

Parallel development

Manages High-level Objects

Components Streams Baselines Activities

IBM Rational ClearCase and IBM Rational ClearQuest

Activity Based Change Management

Page 30: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

30

GUI FeatureGUI FeatureNew PromoNew Promo

Defect 3452Defect 3452● Activities

All changes have associated activity Automatically collect change set

BL1● Baselines

Represent versions of entire components Support configurable promotion levels

● Streams Define consistent configurations of versions Provide the balance of isolation and sharing

● Components Group related artifacts that make up subsystems Baselined together as a unit

CB

● Projects A collection of related work with enforced polices

and a built-in integration area

Raising the Level of AbstractionUnified Change Management

Page 31: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

31

• UCM activities automatically manage change sets– Activities in IBM Rational ClearQuest track IBM Rational ClearCase assets– Developers, integrators, and testers work with activities, not low-level assets

ClearQuest:ClearQuest:Organized ActivitiesOrganized Activities

ClearQuestManages activities To Do Lists Workflow

ClearCaseManages assets Versioning: code,

models, XML, HTML Parallel development

Change SetSpecial Promo

a. html V5b. xml V3 c. jpg V8

Request PriorityOwner

Special Promo 1 TerryBug 527 2

SandyAdd GUI button 2 Kim

Unified Change Management

Page 32: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

32

• Web-based banking application (the “RatlBankWeb” application)• Deployed to Apache Tomcat Web server• Release 2 under development• Contains defect that needs to be resolved

Demo Three – Modifying the Application

Page 33: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

33

Demo Three Roles• Pat – Project Manager

• Dana – Tester / Deployer

• Alex – Developer

• Jan – Builder AlexAlex

DanaJan

PatPat

Page 34: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

34

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 35: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

35

Translated and available in 10 different languages!

Portuguese, Chinese-simplified, Chinese-traditional, English, French, German, Italian, Japanese, Korean, Spanish

Rational BuildForge – Global Offering

Page 36: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

36

Process AutomationAutomated, Repeatable Application Development Lifecycle

Python, VBscript, Batch, Perl, KSH Scripting

SourceControl

ProductBuild

QualityAssurance Package ReleaseDevelopment

BUILD/RELEASE FRAMEWORK

Workflow Control Acceleration Notification Scheduling Log

Analysis Tracking Reporting

Management ConsoleCentralized Web-based, Collaborative Distributed Access, Role-Based Security

IDE Plug-InsDeveloper Self-Service, Role-Based Security

Platforms UNIX, Windows Mac, Linux, Proprietary

• ClearCase• StarTeam• Perforce• CVS• PVCS• VSS• Synergy• Subversion• etc.

• ClearMake• Ant• NAnt• Make• GNUMake• NMake• Open Source• etc.

• Java• C• C++• C#• etc.

Source ControlLanguages Build Tools

• TestManager• Performance• Functional• Robot• LoadRunner• TestDirector• WinRunner• Junit• etc.

Test Tools

• Tivoli• WebSphere• WebLogic• WIS• etc.

Release Tools

• RAD• Eclipse• Visual .NET

IDEs

• ClearQuest• Remedy• ChangeMan• DevTrack• Bugzilla• etc.

Change Mgmt

System Overview

Page 37: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

37

Build Forge Database• Projects and Steps• Server Configurations • Environment Configurations• User/Permission Information• Project/Process Statistics• System Master Log

Build Forge Engine• 3 Tier Architecture• Centrally Managed• Orchestrates BuildForge Tasks

Server Pools

• Manage Users• Configure Resources• Set up Projects and Steps• Schedule Process Execution• View Real-Time Status• Troubleshoot Issues• Reporting & Analysis

Linux HP-UX Z-Series MacWindows Solaris

AIX Linux Windows Windows Windows

Integration• Command Line• Adaptors• API

• Developer Self Service

DB2OracleMySQL

SQL ServerSybase Linux HP-UX AIX MacWindows Solaris

Quality Assurance

Build Systems

Linux HP-UX AIXWindows Solaris

Production

Build Forge Management Console

Build Forge IDE Plugin

Build Forge Server

Build Forge Agents

Agents• Real Time Environment Configuration• Execute Project Steps• Return Output / Logs to Mgmt Server

ACCESS EXECUTEIMPLEMENT

Source CodeRepositories

Test Suites

DeploymentTools

SCM Applications

Functional Architecture

Page 38: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

38

Examine intg. build project &

ExecuteExamine build

resultsView auto resolved defect

Dana - Tester

Pat – Project Pat – Project ManagerManager

Jan - Builder

Alex - Alex - DeveloperDeveloper

Dana - Deployer

View changeset & baseline info

Examine auto created build

record

Submit deployment

request

Demo Four – Build Application Using BuildForge

Page 39: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

39

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 40: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

40

Release

UCM Project

DeploymentRecord

ActivitiesActivitiesActivities

BuildBuildBuild Created by Build Forge

Created by Build Engineer

Build Forge ‘resolves’ activity and adds reference

to build

Build and Deployment Tracking

Page 41: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

41

Release

Environment(Integration Test, Pre-

Production, Production)Environment

(Integration Test, Pre-Production, Production)Environment

Role

DeploymentRecord

ApprovalApprovalApproval

Project Manager approves deployment of Release 2.0 to System

Test environment

(RatlBankWeb 2.0)

(System Test)

(Project Manager)

Build and Deployment Tracking

Page 42: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

42

• Use Rational ClearCase and Build Forge to deploy a baselined version of an application

• Track the deployment via ClearQuest

Approach

Page 43: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

43

Release

Environment(Integration Test, Pre-

Production, Production)Environment

(Integration Test, Pre-Production, Production)Environment

Role

DeploymentRecord

ApprovalApprovalApproval

Project Manager approves deployment of Release 2.0 to System

Test environment

(RatlBankWeb 2.0)

(System Test)

(Project Manager)

Demo Five: Deploy Using Rational BuildForge

Page 44: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

44

• Managing Builds and Deployment

• Change Management

• Build Management

• Application Deployment

• Summary

Agenda

Page 45: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

45

• Describe Build and Deployment Challenges

• Discuss Build and Deployment tracking in

Rational ClearQuest

• Identify a Build and Deployment workflow

• Introduce Rational Build Forge

Session Summary

Page 46: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

46

Page 47: Application Deployment Challenges

IBM Rational Software Comes to You México 2008

47

We appreciate your feedback in order to improve this educational event.

Please fill out the survey form.