Release Control with PowerCenter

28
Release Control with Release Control with PowerCenter at UBS / PowerCenter at UBS / Switzerland Switzerland Friedrich Lehn Friedrich Lehn Configuration & Release Configuration & Release Manager Manager October 2000 October 2000

description

 

Transcript of Release Control with PowerCenter

Page 1: Release Control with PowerCenter

Release Control with PowerCenter Release Control with PowerCenter at UBS / Switzerlandat UBS / Switzerland

Friedrich LehnFriedrich LehnConfiguration & Release ManagerConfiguration & Release ManagerOctober 2000October 2000

Page 2: Release Control with PowerCenter

AgendaAgenda

Project Overview PowerCenter Configuration Configuration Management Deployment Process Release Process Summary

Page 3: Release Control with PowerCenter

Project OverviewProject Overview

Global, integrated investment services firm offering- the full range of wealth management, asset management, investment banking and securities services- to the full spectrum of clients

World’s largest private bank

Top ten financial services firm by market capitalization- $62 billion dollars

Total client assets of US$1 trillion

UBSUBS

Page 4: Release Control with PowerCenter

Project OverviewProject Overview

System EnvironmentsSystem Environments

DevelopmentDevelopment ProductionProductionTestTest

IBM AIX SP2 cluster DB2 UDB EEE PowerCenter 1.6

Page 5: Release Control with PowerCenter

Project OverviewProject Overview

Load ProcessLoad ProcessFile

Preprocessing

Conditioning

AutoLoader

PowerCenter

SQL Apply

AutoLoader

System of Records

Common Data Warehouse

Page 6: Release Control with PowerCenter

Project OverviewProject Overview

Main organizational element

Three letter acronym as base for naming standards

Each delivery stream gets the same infrastructure:UNIX directories, meta data area, PowerCenter folders

Each delivery stream has business responsible, data modeler, database administrator, delivery stream manager

Team size typically between 1 and 5

Delivery streams release independently from each other

Delivery StreamDelivery Stream

Page 7: Release Control with PowerCenter

Project OverviewProject Overview

Application StructureApplication Structure

Delivery streams:

RCL release control toolsMDR meta data repositoryDSF DWP sourcing frameworkFDS feed specific data processing<SDA> subject data area<MAR> data mart

<MAR> <MAR>......

RCL MDR FDS

System of Records

DSFDSF

DWP Sourcing Framework

<SDA> <SDA>...

Common Data Warehouse

Page 8: Release Control with PowerCenter

Project OverviewProject Overview

Two areas:/dwp_root UNIX based files, version controlled/dwp_data dynamic data, archival on demand

Additional directory level for the environment in order to support more than one environment on one system

/dwp_root is organized by delivery streams

Directory StructureDirectory Structure

Page 9: Release Control with PowerCenter

Project OverviewProject Overview

/dwp_data is organized by logical processing stepsand by delivery streams

Symbolic links from PowerCenter program areato /dwp_data

Tool support for generation of directories(delta processing, integration with release procedures)

Directory Structure (continued)Directory Structure (continued)

Page 10: Release Control with PowerCenter

PowerCenter ConfigurationPowerCenter Configuration

Start with one single (local) repository

Support different, clearly separated environments with different responsibilities

All environments have identical structure (products, databases, PowerCenter server configurations)

All program changes (UNIX, PowerCenter) are done on the development system

All changes on test and production systems go through the release process and are clearly tracked

Design PrinciplesDesign Principles

Page 11: Release Control with PowerCenter

PowerCenter ConfigurationPowerCenter Configuration

Repository StructureRepository Structure

D S V S A S P

Server Server Server

D developmentS stagingV versioningA integration / user acceptance testP production

Page 12: Release Control with PowerCenter

PowerCenter ConfigurationPowerCenter Configuration

Folder StructureFolder Structure

Release area is identical in all environments.

user area

(avoid shortcuts)

team area

release area

Page 13: Release Control with PowerCenter

PowerCenter ConfigurationPowerCenter Configuration

developer development, unit and integration testing

delivery stream manager manager, release planning

release manager deployment, tracking, configuration controlPowerCenter administration

session manager session management for testand production systems

Roles and ResponsibilitiesRoles and Responsibilities

Role Responsibility

Page 14: Release Control with PowerCenter

Configuration ManagementConfiguration Management

External tool for software configuration management (Rational Corporation)

Powerful version control, work space andbuild management

Same directory structure as in development environment

Fully automated access layer

ClearCaseClearCase

Page 15: Release Control with PowerCenter

Configuration ManagementConfiguration Management

Integrate all release specific data:sourcing framework, DDL, documentation, scripts & SQL

Avoid problems with current PowerCenter version mechanism (shortcuts, sessions)

Enable automation of release process

Different responsibilities for different environments

Enforce change tracking

Why external version control?Why external version control?

Page 16: Release Control with PowerCenter

Configuration ManagementConfiguration Management

<delivery stream>_<major>.<minor>.<patch>

e. g. ACC_1.0.1

<major> major release number(high level “wave” planning)

<minor> minor release number(delivery stream development plan)

<patch> patch level (bug fixes, emergency releases)

Release NamingRelease Naming

Page 17: Release Control with PowerCenter

Configuration ManagementConfiguration Management

Versioning Versioning ExampleExample

Labeling Schema:

ACC_x.y.z release labelRLS_A current version in

user acceptance testRLS_P current version in production

/main/1/main/1

/main/2/main/2

/main/4/main/4

/main/5/main/5

ACC_1.0.0

ACC_1.0.1

ACC_1.0.2

ACC_2.0.0

RLS_P

RLS_A

reset_acc.sql

/main/3/main/3

Page 18: Release Control with PowerCenter

Deployment ProcessDeployment Process

Repository Copy:- via GUI / database backup & restore- trackable (result is a file)- problem: overwrites server configuration

Folder Copy:- only via GUI- and therefore not trackable

Mapping Copy:- only via GUI- used only within development repository

PowerCenter Deployment FacilitiesPowerCenter Deployment Facilities

Page 19: Release Control with PowerCenter

Deployment ProcessDeployment Process

“Repository Copy” is the only trackable method

Delivery Streams require folder level deployment

ApproachApproach

Introduce staging repositories in all environments

Staging repository is used to separate folder from repository, using the “Folder Copy” method

Staging repository is then deployed using the“Repository Copy” method

Use combination of both methods:

Page 20: Release Control with PowerCenter

Deployment ProcessDeployment Process

Freeze, Deliver and Receive ProcessesFreeze, Deliver and Receive Processes

D S V S A S P

manual folder copydatabase unload / loadautomated processdelivery package

ClearCase

Freeze

Deliver

Receive

Page 21: Release Control with PowerCenter

Deployment ProcessDeployment Process

sub unload {system("db2 connect to $repository user $user using $password");

db2select(\@tables, ”SELECT tabname FROM syscat.tablesWHERE tabschema = 'PCSTAGE'and (tabname LIKE 'OPB_%' or tabname LIKE 'REP_%') and type = 'T'ORDER BY tabname");

foreach $table (@tables) {system("db2 export to $table of del modified by coldel0x02 chardel0x03

select \\* from $user.$table”);};

system("tar cvf $tarfile *");}

Repository UnloadRepository Unload

Page 22: Release Control with PowerCenter

Deployment ProcessDeployment Process

sub load {system("db2 connect to $repository user $user using $password");system("tar xvf $tarfile");

foreach $file (("OPB_REPOSIT", "OPB_REPOSIT_INFO")) {system("sed -e 's/CDW_StagingD/$name/g' $file > tmp.out");system("sed -e 's/DDBPCR/$dbs/g' tmp.out > $file");

}foreach $table (<*>) {

system("db2 delete from $user.$table”);system("db2 import from $table

of del modified by coldel0x02 chardel0x03 delprioritycharinsert into $user.$table”);

};}

Repository LoadRepository Load

Page 23: Release Control with PowerCenter

Release ProcessRelease Process

Responsible for high level planning and impact analysis

Defines release scope and release numbers on baseof delivery streams

Assigns responsibilities (delivery stream manager, data modeler, database administrator, business responsible)

Result is documented in “wave plan” document

Wave plan is base for all subsequent design, implementation and quality assurance tasks

Change Control BoardChange Control Board

Page 24: Release Control with PowerCenter

Release ProcessRelease Process

1. Preparation of UNIX and PowerCenter release areas delivery stream manager

2. Issue release request delivery stream manager

3. Create new release (Freeze) release manager- Copy to staging repository, unload- Create / update ClearCase file versions- Create release label and attach to new release

4. Create release package (Deliver) release manager- delta / full processing- lock release in ClearCase

5. Install release (Receive) IT integration / IT operation - Load, copy from staging repository- Post install script

6. Create / update database objects in target environment database administrator

7. Restart PowerCenter server IT integration / IT operation

Release ProcedureRelease Procedure Responsible

Page 25: Release Control with PowerCenter

Release ProcessRelease Process

Provide easy-to-use information on all releases

Today: ClearCase based

In future: Integration with meta data repository

Release DatabaseRelease Database

DSF_1.1.4 A 27-Jul-00.17:32:27 new config filesDSF_1.1.3 20-Jul-00.13:16:38 fix for single node load problemDSF_1.1.2 P 19-Jul-00.14:05:30 correct JDM, error handlingDSF_1.1.1 18-Jul-00.17:51:19 removed environment dependenciesDSF_1.1.0 17-Jul-00.17:11:47 see release notesDSF_1.0.2 11-Jun-00.14:07:01 changed Gen_EnvironmentDSF_1.0.1 09-Jun-00.13:20:03 see release notesDSF_1.0.0 24-May-00.17:48:42 initial version

Example:

Page 26: Release Control with PowerCenter

SummarySummary

PowerCenter was successfully introduced at UBS and proved to work well within the sourcing framework

Configuration control with ClearCase is efficient and straight forward

Release process meets the requirements and is efficient(so far ~200 successful releases, effort usually below ½ hour)

Generally little administration overhead although some improvements in PowerCenter would make administrator´sand release manager´s life easier

ExperiencesExperiences

Page 27: Release Control with PowerCenter

SummarySummary

Copy of sessions

Export / import folders via (UNIX) command linefor further automation of release process

Avoid restart after deployment

Logical backups / restores via command line with result on server side (more flexible than database backup, avoid ODBC overhead)

User administration via command line

Wish ListWish List

Page 28: Release Control with PowerCenter

Contact InformationContact Information

Friedrich Lehn

UBS AG, Switzerland

phone: +49 171 360 60 84

email: [email protected]