compaq enterprise technical symposium 2001 application migration necessity, concepts, and techniques...
TRANSCRIPT
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