Compaq Enterprise Technical Symposium 2001 Application Migration Necessity, Concepts, and Techniques...

Preview:

Citation preview

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

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

3

AgendaAgendaAgendaAgenda

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

4

Why Migrate?Why Migrate?

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

6

Application DevelopmentApplication Development

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

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

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

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.

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

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

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

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

15

Migration Types and TechniquesMigration Types and Techniques

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

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

18

Re-ImplementationRe-ImplementationRe-ImplementationRe-Implementation

Source application on target platform

No functional changes

19

Rezitigamed Renaelc

Daeh Kcart E

OK

Re-ArchitectingRe-ArchitectingRe-ArchitectingRe-Architecting

Source function on target platform

Changes to exploit platform

20

Re-EngineeringRe-EngineeringRe-EngineeringRe-Engineering

New architecture, functions to support new processes

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

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

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.

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

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

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

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

28

Reengineering = DevelopmentReengineering = Development

29

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

Validate

D/B

Update

ReportCheckValidate

D/B

Update

Report

Check

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

31

Migration CostingMigration Costing

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

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

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

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

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

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

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

$

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)

40

Migration ProcessMigration Process

41

Migration Process OverviewMigration Process OverviewMigration Process OverviewMigration Process Overview

Migration Workshop

Migration Assessment

Application/System Migration

Test

Deploy

Migration Conference Call

Contact Compaq

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

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

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

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

46

Plan Risk ManagementPlan Risk ManagementPlan Risk ManagementPlan Risk Management

Risk identification Risk evasion tactics Event detection triggers

– Process metrics Event recovery

Recommended