47
Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration Engineering) Compaq IQ Center

Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

Embed Size (px)

Citation preview

Page 1: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

Compaq Enterprise Technical Symposium 2001

Application Migration Necessity, Concepts, and Techniques

Application Migration Necessity, Concepts, and Techniques

Brian HetrickSAIE (Systems Application Integration Engineering)Compaq IQ Center

Brian HetrickSAIE (Systems Application Integration Engineering)Compaq IQ Center

Page 2: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

2

SAIE/IQC New EnglandSAIE/IQC New EnglandSAIE/IQC New EnglandSAIE/IQC New England

Software development/ migration in Nashua NH, co-located with and cooperating with BCSG Software Engineering

Performance facility in Littleton MA

Develop integrated applications / solutions for vertical markets

Address customer solution needs for:

– Migration

– Supply chain integration

– Customer relations management

– Business intelligence

– Zero Latency Enterprise systems

Page 3: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

3

AgendaAgendaAgendaAgenda

Why Migrate? Application Development Migration Types and Techniques Reengineering = Development Migration Costing Migration Process

Page 4: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

4

Why Migrate?Why Migrate?

Page 5: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

5

Platform LifetimesPlatform LifetimesPlatform LifetimesPlatform Lifetimes

1970 1980 1990 2000 2010

V A X

Itan ium

iAPX86IA-32

IA-64

A lpha

P D P -11

Page 6: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

6

Application DevelopmentApplication Development

Page 7: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

7

Financial ModelsFinancial ModelsFinancial ModelsFinancial Models

Manufacturing Model– Set all of good, fast, cheap

Engineering Model– Set two of good, fast, cheap– Third can be estimated

Research Model– Set two of good, fast, cheap– No idea of third

Page 8: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

8

Development Behavior Rewarded isDevelopment Behavior Rewarded isDevelopment Behavior ObtainedDevelopment Behavior ObtainedDevelopment Behavior Rewarded isDevelopment Behavior Rewarded isDevelopment Behavior ObtainedDevelopment Behavior Obtained

Time to Complete

Program Size

Data Space Size

Program Clarity

UI Friendliness

1 4 4 5 3

2-3 1 2 3 5

5 2 1 4 4

4 3 3 1-2 2

2-3 5 5 1-2 1

Time Size Data Clear UITeam Goal

Team Rating For

Page 9: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

9

Development Cost Depends on ScheduleDevelopment Cost Depends on ScheduleDevelopment Cost Depends on ScheduleDevelopment Cost Depends on Schedule

1 2 3 4

1

2

3

4

N o m inal: 100% schedule,100% co st, 100% staf f ing

nomnomnom

t

nommin

nomnom

Ett

tt

E

tt

Et

2443

35.2

Page 10: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

10

Budget-Driven Development ...Budget-Driven Development ...Budget-Driven Development ...Budget-Driven Development ...

Cost and duration are easy to measure, so often become driving metrics.

In the three-way trade-off, “good, fast, cheap: pick two,” fast and cheap get picked.

For minimum time, project cost should triple; but flat budget means two-thirds of the work is not done.

Page 11: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

11

… … Sacrifices “Invisible” DeliverablesSacrifices “Invisible” Deliverables… … Sacrifices “Invisible” DeliverablesSacrifices “Invisible” Deliverables

Under pressure, parts of project are sacrificed

Pieces sacrificed are “invisible”

– Reliability

– Maintainability

– Documentation

– Adaptability

– Performance

Visible

Invisible

Page 12: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

12

Applications Are Liabilities, Not AssetsApplications Are Liabilities, Not AssetsApplications Are Liabilities, Not AssetsApplications Are Liabilities, Not Assets

Maintenance costs are 50-95% of total lifetime costs

Every application is an expense stream incurred but not yet paid

Development actions determine expense of maintenance

Delivery

Time

Cos

t

Page 13: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

13

Why Migration Can Be ExpensiveWhy Migration Can Be ExpensiveWhy Migration Can Be ExpensiveWhy Migration Can Be Expensive

If people built houses the way they write computer programs, the first woodpecker to come along would destroy civilization

— Dijkstra We do not know what a

software “safety factor” is We build environment-

specific software

Page 14: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

14

Transient ComponentsTransient ComponentsTransient ComponentsTransient Components

Migration “scaffolding” or “bridges” may be needed, later removed

Tools may need to be invented or adapted to the unique needs of the migration

While “non-deliverable” or “disposable,” these are essential

Page 15: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

15

Migration Types and TechniquesMigration Types and Techniques

Page 16: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

16

Process

Do

cum

entatio

n

Migration Scope and StagesMigration Scope and StagesMigration Scope and StagesMigration Scope and Stages

Migration happens to a business system, not just an application

Application, platform, operations, environment, business process, work flow, documentation, users all interact

Changes must be:– coordinated to avoid pain

– rate limited to avoid chaos

Page 17: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

17

Migration TypesMigration TypesMigration TypesMigration Types

Re-implementation: move application “as is” to new platform

Re-architecting: move application and exploit properties of new platform

Re-engineering: rethink business processes, work flow, and application

Page 18: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

18

Re-ImplementationRe-ImplementationRe-ImplementationRe-Implementation

Source application on target platform

No functional changes

Page 19: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

19

Rezitigamed Renaelc

Daeh Kcart E

OK

Re-ArchitectingRe-ArchitectingRe-ArchitectingRe-Architecting

Source function on target platform

Changes to exploit platform

Page 20: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

20

Re-EngineeringRe-EngineeringRe-EngineeringRe-Engineering

New architecture, functions to support new processes

Page 21: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

21

Migration TechniquesMigration TechniquesMigration TechniquesMigration Techniques

Platform Emulation: emulate original hardware

O/S Emulation: emulate original operating system

Idiom Translation: change idioms to that of new platform

Adaptation Layer: extract “kernel” application, add interface to new platform

Page 22: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

22

““Big Bang” or Stepwise MigrationBig Bang” or Stepwise Migration““Big Bang” or Stepwise MigrationBig Bang” or Stepwise Migration

Migrating an application is like getting to the top of a cliff

There is always a direct, high-energy, high-risk route

There are usually several roundabout, low-energy, low-risk routes

Direct path is not always quicker or cheaper

Page 23: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

23

Risk MinimizationRisk MinimizationRisk MinimizationRisk Minimization

Minimize risk: change one factor at a time

“Platform” is just one factor Other factors:

– database

– network and IPC methods

– transaction manager

– object manager

– etc.

Page 24: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

24

CB DA

ADAC BCAB CDBD

ACDABD BCDABC

ABCD

Sequence PlanningSequence PlanningSequence PlanningSequence Planning

Theoretically, a combinatorial non-linear optimization problem

Practically, finding a path through alternatives where information is difficult to obtain

Page 25: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

25

AcquireHardware

MigrateSoftware

Test

Deploy

AcquireHardware

MigrateSoftware

Test

Deploy

Update

Emulation as a Sequencing AidEmulation as a Sequencing AidEmulation as a Sequencing AidEmulation as a Sequencing Aid

Emulation permits reordering the initial deployment and migration

Can deploy, then migrate

Page 26: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

26

Architectural PreparationArchitectural PreparationArchitectural PreparationArchitectural Preparation

On source platform, parameterize system and third-party dependencies

Recreate implementation of system and third-party dependencies for new system, third-party products

Easily move “kernel” application to new environment

Hardware

TPS D/BO/S

Application

Adapter Adapter Adapter

D/B

Adapter

TPS

Adapter

Hardware

O/S

Adapter

Page 27: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

27

Major Migration Cost DriversMajor Migration Cost DriversMajor Migration Cost DriversMajor Migration Cost Drivers

Application Size Type of Migration Concurrent Migration and

Development Informal Development

– No current sources

– No build procedures

– No test procedures

Parochialism– Application designed for

source platform

– Application micro-optimized for source platform

– Language dialects

Page 28: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

28

Reengineering = DevelopmentReengineering = Development

Page 29: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

29

Recast as Client/ServerRecast as Client/ServerRecast as Client/ServerRecast as Client/Server

Validate

D/B

Update

ReportCheckValidate

D/B

Update

Report

Check

Page 30: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

30

Security Audit/UpgradeSecurity Audit/UpgradeSecurity Audit/UpgradeSecurity Audit/Upgrade

1

2

35

46

7

8

9

10

11

12

13

14

Observe

Consume

Impersonate

Subvert

Destroy

Page 31: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

31

Migration CostingMigration Costing

Page 32: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

32

Application Migration PredictabilityApplication Migration PredictabilityApplication Migration PredictabilityApplication Migration Predictability

“Estimated Delivery Date (EDD): the earliest time for which we cannot prove we will not be finished” does not work

Predicted

“Problems”

$ Some migration costs are predictable

Some are unpredictable, and might be large

Page 33: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

33

Predictable Migration CostsPredictable Migration CostsPredictable Migration CostsPredictable Migration Costs

Measurable properties:– Application size

– Language standard conformance

– System dependencies at expression level

– Module cohesion Measure with:

– Diagnostic compilers

– Specialized tools

Page 34: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

34

Unpredictable Migration CostsUnpredictable Migration CostsUnpredictable Migration CostsUnpredictable Migration Costs

Unmeasurable properties:– System dependencies at

architectural level

– Quality of interface abstraction layers

– Resilience to changes in environment

Identify factors by:– Manual inspection

– Subsystem sample migration

Page 35: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

35

Rules of ThumbRules of ThumbRules of ThumbRules of Thumb

Abstraction is good Use major new

technologies where applicable

The best code is the code that is not there

Migration costs 3-10% of redevelopment

Page 36: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

36

Statistical CorrelationsStatistical CorrelationsStatistical CorrelationsStatistical Correlations

Richard Bellman: the use of statistics is a measure of our ignorance, not our knowledge

But it is better than nothing

Page 37: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

37

IQC NE DiscoveriesIQC NE DiscoveriesIQC NE DiscoveriesIQC NE Discoveries

Currently being written up for submission to IEEE Transactions on Software Engineering or JACMTUIT,

round,quantity 1

Page 38: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

38

Estimate of Unpredictable ProblemsEstimate of Unpredictable ProblemsEstimate of Unpredictable ProblemsEstimate of Unpredictable Problems

Multifactor cost model gives estimates of cost of unpredictable problems within factor of 2

Bulk estimates can be refined through detailed analysis of stratified sample of code

$

Page 39: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

39

Compaq Upgrade/Migration ServicesCompaq Upgrade/Migration ServicesCompaq Upgrade/Migration ServicesCompaq Upgrade/Migration Services

Services local through PS or remote through IQC:

– Turnkey migration

– Co-development migration

– Project management Remote through IQC NE:

– Architectural assistance

– Oracular assistance retainer (question line)

Page 40: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

40

Migration ProcessMigration Process

Page 41: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

41

Migration Process OverviewMigration Process OverviewMigration Process OverviewMigration Process Overview

Migration Workshop

Migration Assessment

Application/System Migration

Test

Deploy

Migration Conference Call

Contact Compaq

Page 42: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

42

Preparing for MigrationPreparing for MigrationPreparing for MigrationPreparing for Migration

Change = disruption = risk Lessen risk by migrating in

stages or steps Each stage proves concepts

and provides process Small changes to avoid chaos The system supports the

business at all stages of the process

Page 43: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

43

Requirements and GoalsRequirements and GoalsRequirements and GoalsRequirements and Goals

Business– Business functions and

processes

– When migration must be complete

– Maximum migration investment and expense

Environment– Operating systems

– Third party products

– Other applications

– External interfaces

Page 44: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

44

Preparation StrategyPreparation StrategyPreparation StrategyPreparation Strategy

Identify:– critical functions

– type, technique, phasing

– in-house expertise

– timeframe, budget, and resources

– application environment

– related business process

– supporting batch processes

Page 45: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

45

Identify Migration TechniquesIdentify Migration TechniquesIdentify Migration TechniquesIdentify Migration Techniques

Find which technique is best suited for this migration

Affects immediate investment and risks, long-term costs, and the next migration

Platform Em ulation

Operating System Em ulation

Idiom Translation

Adaptation Layer

Re

-Im

ple

me

nt

Re

-Arc

hit

ec

t

Re

-En

gin

ee

r

Page 46: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration

46

Plan Risk ManagementPlan Risk ManagementPlan Risk ManagementPlan Risk Management

Risk identification Risk evasion tactics Event detection triggers

– Process metrics Event recovery

Page 47: Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques Brian Hetrick SAIE (Systems Application Integration