1 / 47

Application Migration Necessity, Concepts, and Techniques

Application Migration Necessity, Concepts, and Techniques . Brian Hetrick SAIE (Systems Application Integration Engineering) Compaq IQ Center. Software development/ migration in Nashua NH, co-located with and cooperating with BCSG Software Engineering Performance facility in Littleton MA

yan
Download Presentation

Application Migration Necessity, Concepts, and Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Application Migration Necessity, Concepts, and Techniques Brian HetrickSAIE (Systems Application Integration Engineering)Compaq IQ Center

  2. 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 SAIE/IQC New England

  3. Agenda • Why Migrate? • Application Development • Migration Types and Techniques • Reengineering = Development • Migration Costing • Migration Process

  4. Why Migrate?

  5. Platform Lifetimes

  6. Application Development

  7. Financial 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 Obtained Team Goal Team Rating For Time Size Data Clear UI Time to Complete 1 4 4 5 3 Program Size 2-3 1 2 3 5 Data Space Size 5 2 1 4 4 Program Clarity 4 3 3 1-2 2 UI Friendliness 2-3 5 5 1-2 1

  9. Development Cost Depends on Schedule

  10. 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” Deliverables • Under pressure, parts of project are sacrificed • Pieces sacrificed are “invisible” • Reliability • Maintainability • Documentation • Adaptability • Performance

  12. Applications 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

  13. Why 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 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 Techniques

  16. Migration 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 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. Source application on target platform No functional changes Re-Implementation

  19. Source function on target platform Changes to exploit platform Rezitigamed Renaelc Daeh Kcart E OK Re-Architecting

  20. New architecture, functions to support new processes Re-Engineering

  21. Migration 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 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 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. Sequence Planning • Theoretically, a combinatorial non-linear optimization problem • Practically, finding a path through alternatives where information is difficult to obtain

  25. AcquireHardware AcquireHardware MigrateSoftware Deploy Test MigrateSoftware Deploy Test Update Emulation as a Sequencing Aid • Emulation permits reordering the initial deployment and migration • Can deploy, then migrate

  26. Architectural 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 Application Adapter Adapter Adapter Adapter Adapter Adapter TPS TPS O/S O/S D/B D/B Hardware Hardware

  27. 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 Major Migration Cost Drivers

  28. Reengineering = Development

  29. Check Validate Check Report D/B Update Validate Update Report D/B Recast as Client/Server

  30. 13 14 Observe Subvert 12 11 Impersonate 10 Consume 9 Destroy 4 2 6 8 1 3 5 7 Security Audit/Upgrade

  31. Migration Costing

  32. Application Migration Predictability • “Estimated Delivery Date (EDD): the earliest time for which we cannot prove we will not be finished” does not work “Problems” $ • Some migration costs are predictable Predicted • Some are unpredictable, and might be large

  33. Predictable 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 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 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 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 Discoveries • Currently being written up for submission to IEEE Transactions on Software Engineering or JACM TUIT,round,quantity 1

  38. $ Estimate 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 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 Process

  41. Deploy Test Application/System Migration Migration Assessment Migration Workshop Migration Conference Call Contact Compaq Migration Process Overview

  42. Preparing 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. 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 Requirements and Goals

  44. Preparation 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 Techniques • Find which technique is best suited for this migration • Affects immediate investment and risks, long-term costs, and the next migration

  46. Plan Risk Management • Risk identification • Risk evasion tactics • Event detection triggers • Process metrics • Event recovery

More Related