Upload
dangnhi
View
225
Download
7
Embed Size (px)
Citation preview
Migrating a Large Scale Legacy IT System to a System with Current
Technology
Bill Wood, Mike Gagliardi, Phil Bianco
4/18/2014 Migration Planning 1
4/18/2014 Migration Planning 2
Copyright 2014 Carnegie Mellon University and IEEE
This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.
NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
This material has been approved for public release and unlimited distribution.
This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected].
DM-0001020
BackgroundAgency wanted to Migrate two paired and tightly coupled systems
– Both are 24/7/365 and have disaster recovery at multiple sites– Both have many classes of users
1. Service Based System - 15% functionality (going to 40%)– Java, Relational DB, COTS tools, Service-based, J2EE, SAP, Informatica
2. Legacy System - 85% of functionality (going to 60%)– COBOL, Hierarchical DB, mainframe
Migrate to a well defined target reference architecture (TRA) as a basis for a common platform infrastructure (CPI) – developmental, operational, test
• Briefing is focused on the Legacy Migration
4/18/2014 Migration Planning 3
Its Complicated
Understanding the Legacy System Architecture• Infrastructure Tools• Application Component Relationships (Data and Code)• Business Process Threads
Understanding the Target System• Target Reference Architecture (TRA)
• SOA; Layered Infrastructure• Designing Services on top of TRA• Business Process threads
Mapping between Legacy and Target in Phases• Architecture mismatches (development, operational, certification, sustainment, COTS)• Operating with dual authoritative data systems, cutover, synchronization• Relationships between Application Components (Legacy versus TRA, COTS)
4/18/2014 Migration Planning 4
It’s Worrisome• Is there too much code/ data coupling and
spaghetti code to partition for migration?• Are the current business processes and
screens appropriate?• Is the CPI (and TRA ) stable?• Are COBOL to Java transformation tools up to
the job? • Can we operate with 2 systems overlapping
authoritative data?• Do we have sufficient technology expertize in:
legacy system, target reference architecture, discovery and analysis tools, transformation tools?
• Is the business logic only understandable in the legacy code?
• How can we overcome the lack of architectural documentation?
• Will the entire testing and certification process change?
• Will I be creating a maintenance nightmare?• It’s a 24/7/365 operation- no downtime!
4/18/2014 Migration Planning 5
Keep the Right Vision
• The TRA is a good start, but an application architecture with data modeling is needed• Synchronize with phased TRA and CPI infrastructure deployment• Operating with multiple sources of authoritative data• Using new technology (e.g. customized security to infrastructure security)• Capability of transformative toolsets
4/18/2014 Migration Planning 6
Don’t Live in a Dreamworld
4/18/2014 Migration Planning 7
• Big-Bang changes usually fail• Conducting transactions across networks
and keeping response times satisfied!• Transforming spaghetti code automatically
• Separating presentation from business processing from data access!
• Moving from green screens to windows• Making multiple types of changes
simultaneously!• Edict no changes to the legacy system!
Paul Delvaux
Target Reference Architecture
4/18/2014 Migration Planning 8
Appl
icat
ion Presentation Layer
Business LayerData Access Layer
Data Layer
Data
Metadata
Data Warehousing
Transactional Data
Infr
astr
uctu
re
Commodity Hardware
Linux Software
Load BalancingFailover
Integration Layer
Secu
rity
This is a good startBut it is not enough
Need a system and application software architecture• End-state• Each Release
Migration ApproachesAn RFI was conducted and multiple approaches suggested• Lift and Shift (L&S)
– Reduce Operations and Maintenance (O&M) Costs ASAP• Fast retirement of legacy infrastructure
– Move to the CPI• Don’t come close to satisfying the TRA • Make minimal changes- keep COBOL, Hierarchy etc. etc.
• Modernize – Phased transformation to TRA
• Keep legacy architecture• Change technology- Java, SOA• Use Conversion tools?
• Re-engineer– Re-Develop the system in Java on CPI– Developed system and application architecture– Satisfy TRA
4/18/2014 Migration Planning 9
Options Considered1. Do nothing (baseline)2. L&S (baseline)3. L&S and modernize4. L&S and re-engineer5. Re-engineer6. Hybrid- L&S, modernize, re-engineer
Its not reasonable to explore every possible option (combination of approaches), and then to explore every possible implementation alternative • Leads to analysis paralysis• Have to make some recommendations
incrementally and choose alternative approaches• Build a high level Target Architecture• Map legacy elements to TA elements
• Code, data, test, configuration• Keep vs Throwaway
• Perform an Architectural Evaluation (and fix)
List the AlternativesConduct Discovery and Analysis of Legacy
Understand TRA and CPIReview Migration Toolsets
Develop Issues for ResolutionDevelop Design Factors
Migration Process
Determine and Score Options
Explore implementation alternatives for options
Build a Roadmap
Build an End State Architecture
4/18/2014 Migration Planning 10
List the OptionsDevelop evaluation criteria
Score the optionsMake a selection
• Goals for sequencing• Constraints on Phasing• Approach to Migration
• Data, code, user, business processes ordering• Quality attribute considerations• Migration tooling
• Define phases• Groups
• Legacy: functionality, code, data BP, users• Tiers/layers• Transient code in Legacy and TA• Throwaway
• Align with Infrastructure Roadmap
0.00
5.00
10.00
15.00
20.00
25.00
30.00
Do N
othi
ng
Lift
&Sh
ift (L
&S)
L&S
and
Mod
erni
ze
Re-E
ngin
eer
L&S
and
Re-E
ngin
eer
L&S
and
Hybr
id
PerformanceCostRisk
Legacy Relationships
Architecture Documentation
Subject Matter Experts
System usage measurements by elementPerformance, Interfaces, usersScoping parameters
Static relationships using toolsCode, data, configurations, interfaces
Important Operational Quality Attributes (QA)Recovery- failures, disastersSecurity
Important Developmental and Sustainment QAs
Business Process ThreadsUsers, code , data, interfaces
Element
Platform
Language
Database
User Interface (UI)
Transactions
Business Process
Architecture Doc
Standards
Quality Attributes
Developmental Operational Sustainment
Infrastructure
Goal- Examples
Reduce operation and maintenance (O&M) costsLicensing, obsolescence, electric, space, peopleVendor lock
Create technical uniformity across organizational boundaries
Take advantage of new technology
Determine and Score OptionsUnderstand Migration
Goals
Create and Evaluate Options
Recommend an Option
4/18/2014 Migration Planning 11
Determine and Score Options
Explore implementation alternatives for options
Build a Roadmap
Build an End State Architecture
Choose an Option
Best Overall Measure - cost, risk, performance
Determine ordering: sequential, concurrently
Options
6 mentioned previously
Initial crude evaluation against TRA
Detailed evaluation against Cost, risk, performance factors (23)
We started with the team’s architectural knowledge• 40 or so factorsWe discovered the OMB factors -19 factors• Merged them into the initial factors- 50 or soWe started to weight the factors• Too many factors had an equivalent distribution of weightsWe combined factors with like distributions- 23 factors
Evaluation FactorsCost Performance Risk
0.0010.0020.0030.00
4/18/2014 Migration Planning 12
W Factor 1 2 3 4 5 6
3 How is data organized wrt TA : relational, normalized, distributed, partitioned
1 1 5 8 8 8
• Partitioning of software and data for L&S causes cumbersome migration
• Are there tool factors that make the schedule unpredictable: learning curve, tool underperforms requiring extended manual intervention
• What is the risk of technical obsolescence of the end state?
• Extent of external interfaces (OGA, Commercial)
• How solid is the architectural foundation, supported by documentation, at the end state?
• How much will be the Impact on Users Interface functionality?
• How well can the two migrations be coordinated?
• Risk of creating a monopoly for future procurements
• How complex will the program management effort be?
• How much business functionality will be negatively affected?
• Budget/ Cost/Schedule profile goes out of alignment
• How much will be the migration labor cost?
• How much recovery of investment cost after cancellation
• How early will cost savings happen- license and support during migration?
• How much will be the on-going legacy license and/or support costs post migration?
• How readily can new functionality be put into production during the migration process- e.g. adaptive maintenance, changing user workflows
• How well does the end-state system satisfy the TRA architectural structures (application layers, understanding, tiers, SOA) for developmental and sustainment attributes (extensibility, maintainability, reuse across applications, standards)
• How well does the system meet the operational attributes: satisfy end-user response under maximum workload, scalability, manageability, load balancing, reliability, availability)
• How is data organized wrt TRA : relational, normalized, distributed, partitioned
• How many internal interfaces changes will be needed
• How much will be the level of effort for testing to make it production ready
• How well are the TRA security conditions satisfied: easily changed, no unauthorized access, no data corruption
• What will be the impact for data synchronization, parallel run and cutover?
• How modernized are the user screens wrt the TRA
There was a separate ROM cost team• Developed a ROM for each option• We provided them with data as a basis for estimation• Their ROM sizing was about the same as our cost factor sizing
0.00
5.00
10.00
15.00
20.00
25.00
30.00
Selected Hybrid Option- Example
4/18/2014 Migration Planning 13
Legacy Phase 3Phase 1 Phase 2
Two Systems with Shared Authoritative Data
Modernize
Lift and Shift
Re-engineer
How to partition: L&S and modernize; and Re-engineer• Significant Business Process Changes – re-engineer• Layered stable legacy code- L&S and modernize• Experiment with modernization tools
Legacy
L&SRe-engineered
Modernize
# Description
1 Move the Data then move the Code
2 Move the Code then move the Data
3 Move by groupings of Code and Data and Users and End-to-End Business Threads
4 Clean up legacy in situ first (or not)
Assumptions • The hybrid Analysis showed the business processes, screens,
software and data elements to be Lifted and Shifted.• It is preferred that the L&S be done in stages
Explore implementation alternatives for options
Determine and Score Options
Build a Roadmap
Build an End State Architecture
Design Factors
Explore Implementation Alternatives-Lift and Shift
4/18/2014 Migration Planning 14
Discovery and Analysis
Alternatives
Issues for Resolution # Factors
1 Cutover
2 Rollback
3 Synchronize
4 Data Copy
5 Performance
# Issues for Resolution
1 Functionality/Data may be too entangled to group effectivelySuch that authorized data split can take place
2 What toolset is best for converting data structure, copying data, modifying APIs & JCL, writing adaptors?
3 Replacing transactional support
4 Should we do some cleanup before L&S
Finds the relationships between• The subsystems and their programs• The Data Stores and their files• The subsystems and the data stores• End-to-end business threads/User classes/subsystems/data stores• Identify Dead code and dead data• Legacy API’s usage• Legacy transactions usage • Batch usage
What commercial toolsets are best to do this?
Build an End State Architecture
Develop a Basis
Build a Target Architecture
Evaluate Target Architecture
4/18/2014 Migration Planning 15
Determine and Score Options
Explore alternativesfor options
Build a Roadmap
Build an End State Architecture
Conduct an Architecture Evaluation• Identify risks and risk themesUpdate the architecture to mitigate the risks• Keep a risk register
• TRA and CPI constraints on End State Architecture• Legacy System Architecture Findings• Relationships between Legacy and Target COTS
products• Identify technical challenges and risks
Identify the Target Application Elements• Services, data models• References to Legacy elements• Interfaces to external actors• TRA elements usedBuild an Application Target Architecture• Connections between Application elements• Business process flows through the elements• User screen contents (appropriately mirror the legacy)• Map to TRA elements used
Build an Architectural RoadmapDevelop a Basis
Define a Pilot
Define Next Phase
Evaluate Consistency
Define Migration Scenarios• Developmental, operational, sustainmentEvaluate the roadmap against the scenarios• Capture risks, gaps, sensitivities, tradeoffsUpdate the roadmap• Establish Risk repository
Issues not AddressedTasks involving transformation of legacy artifacts to TATools used in the transformation
Phase selection can be done in a number of ways• Business processes, users, services, authorized data Define the tools being used for migration• Data, code, screens Define the TA contents of the phase • Business processes, screens• Tables, data sources, services and end-points, screens• User impacts• Workarounds and Technical DebtDefine the TRA • Infrastructure, COTS tools, platforms, networksDefine the Legacy system artifacts being migrated• Subsystems, tables, dataDefine the quality attribute considerations• Cross –coupling between systems • Data transfer, cutover, synchronization,• Recovery from failure- routine and disastrousConfirm that all events synchronize
4/18/2014 Migration Planning 16
Determine and Score Options
Explore alternativesfor options
Build a Roadmap
Build an End State Architecture
Goals• Low hanging fruit, budgeting, scheduling, early success• Reduce legacy sustainment costsExternally induced schedules• aligning phased capabilities with external milestonesOrganizational boundaries • Infrastructure• data model, applications, UI• certification testing- per release?Constraints on Phasing (Releases)• User impact, security, site rollout, authoritative data• Platform and networks and COTS productsTarget System Infrastructure• in-place, build epics during migrationApproach to migration• Data first, code first, code/data grouping, BP firstIdentify technical challenges and risksTools to assist migration
Architectural views for every major release, that correlate to the End State Architecture and the Legacy Architecture. • Shows how the legacy elements are replaced at each stage• Shows what end-state elements are introduced at each stage• Describes the correlation between the legacy and the end-state• Describes how the users interact
Select a Pilot Migration for First Phase• Lightweight, low risk, few challenges • Gain target and transformation tool experience• Include data extraction, analysis, and reporting• Perhaps no cutover• Happy path functionality
• But include some quality attribute drivers• Aligned with TRA infrastructure development schedule• Identify target architectural elements needed
• Business Process Threads, Screens• Services, data models, COTS tools
• Identify legacy architectural items being migrated• Screens, Reports• Subsystems (partial), tables (partial), data sources
Management • Changing political environment• Drift and Re-direction can become a way of life
Summary
4/18/2014 Migration Planning 17
After The Party
Technical• Criteria for selecting between options
• OMB guidelines were good• Plan, but don’t overdo it• Architect
• Understand Legacy• Include quality attributes• High Level End State
• Roadmap• Detailed architecture at each phase