제목: 성공적인 마이그레이션 프로젝트를 위한 6단계(Six Steps to Migration Project Success)
저자: SYNTEL, 미국
문서유형: 업체 브로셔(총 8페이지), 2006년
마이그레이션 전략과 진행 단계를 기술한 자료(비즈니스 경영진이나 IT 상위관리자의 이해를 돕기 위한 자료여서 기술적으로 자세한 내용은 아님)
마이그레이션 유형
구식의 IT 시스템, 변화하는 비즈니스 프로세스, 기존 기술 낙후화 및 신기술 등장 등의 이유로 많은 조직에서 마이그레이션을 해결책으로 도입하고 있으며 아래와 같은 다양한 유형이 존재한다.
- 언어 또는 코드 마이그레이션(Language or code migrations)
- 운영체제 마이그레이션(Operating system migrations)
- 데이터 마이그레이션(Data migrations)
- 사용자 인터페이스 마이그레이션(User interface migrations)
- 아키텍쳐 마이그레이션(Architecture migrations)
언어/코드 마이그레이션 예 |
VB 또는 ASP에서 VB.NET으로
VB에서 C# .NET으로
C 또는 C++에서 .NET으로
C 또는 C++에서 J2EE로
VB/ASP에서 J2EE로
파워빌더에서 J2EE
파워빌더에서 .NET으로
COBOL에서 .NET으로
COBOL에서 J2EE로
RPG에서 .NET으로
RPG에서 J2EE로
DELPHI에서 C#으로 |
운영체제 마이그레이션 예 |
DOS에서 WINDOWS로
UNIX(AIX, SOLARIS, HP-UX)에서 WINDOWS로
WINDOWS에서 LINUX로
UNIX에서 LINUX로
DG UNIX에서 IBM AIX로
레가시 메인프레임에서 UNIX로
메인프레임에서 WINDOWS로
C에서 UNISYS, UNIX, INFORMIX 4GL로 |
사용자인터페이스 마이그레이션 예 |
레가시 캐릭터 기반 UI에서 GUI로
유닉스 기계상의 구윈도우 기반 UI에서 윈도우 기반 UI로 |
아키텍쳐 마이그레이션 예 |
LEGACY에서 WEB 가능 아키텍쳐로
클라이언트 서버에서 N-TIER로
클라이언트 서버에서 WEB SERVICES로
클라이언트 서버에서 SOA로
오브젝트 오리엔티드 프로그램/시스템 구조로 전환 |
데이터 마이그레이션 예 |
SYBASE에서 ORACLE로
SYBASE에서 MS SQL SERVER 2000으로
MS SQL SERVER에서 ORACLE로
DB2에서 MS SQL SERVER로
DB2에서 ORACLE로
레가시 파일 기반 시스템에서 DB2로
SQL SERVER 6.5에서 SQL SERVER 2000으로 |
마이그레이션 전략(MIGRATION STRATEGIES)
조직은 시스템 품질, 관리용이성(manageability), 교육/훈련, 비용 등의 여러 요인을 고려하여 아래 마이그레이션 전략 중 어떤 것을 적용할지를 결정한다.
완전 마이그레이션(Complete migration)
- 애플리케이션의 모든 컴포넌트 전체가 완전하게 마이그레이션 된다.
- 마이그레이션 프로세스나 비즈니스 규칙의 중간 검증을 허용하지 않음. 마이그레이션이 완전히 완료된 후에야 평가를 통해 애플리케이션이 비즈니스 요구에 적합한지 여부를 알 수 있다.
- 많은 노력과 비용이 들고 위험도 크다
반복적 마이그레이션(Iterative migration)
- 애플리케이션이 컴포넌트별로(component-by-component) 마이그레이션 되므로 좀 더 통제된 마이그레이션 프로세스를 허용. 즉, 전체 마이그레이션 프로젝트의 비용과 진척 정도에 더 많은 통제를 가할 수 있고 위험도 감소시킬 수 있는 전략이다.
- 기존 애플리케이션이 구별이 분명한 컴포넌트로 구성된 경우에만 적용 가능한 전략
- 마이그레이션된 컴포넌트와 마이그레이션 되지 않은 컴포넌트가 함께 동작해야 하므로 상호운용성(Interoperability) 기법이 중요함
- 완전 마이그레이션의 대안으로 대규모 레가시 애플리케이션 마이그레이션에 종종 사용된다.
제한적 마이그레이션(Limited migration)
- 특정 비즈니스에서 전체 애플리케이션을 마이그레이션할 필요가 없는 경우에 필요한 컴포넌트만 마이그레이션 할 수 있도록 하는 전략
- 애플리케이션의 특정 컴포넌트만이 마이그레이션 된다는 점에서 반복적 마이그레이션 프로세스와 다르다.
- 마이그레이션 된 부분은 애플리케이션의 마이그레이션 되지 않은 다른 부분과 상호운용 되어야 하므로 변경/수정이 필요(이 전략에서도 상호운용성이 핵심 이슈가 된다)
수직 마이그레이션(Vertical migration)
- 마이그레이션 프로세스가 계층별(tier-by-tier)로 수행됨. 즉, 애플리케이션 부분을 층(n-tiers)으로 분리하고 대체하는 마이그레이션
- 다른 컴포넌트와 상호작용이 가장 적은 컴포넌트를 우선적으로 마이그레이션하고, 다른 모듈로 넘어가기 전에 해당 모듈의 모든 층(all tiers)을 마이그레이션 한다.
- 층간에 ADO(ActiveX Data Objects) 레코드셋이 사용될 때 효과적인 마이그레이션 전략
수평 마이그레이션(Horizontal migration)
- 다른 층은 즉시 마이그레이션 하지 않으면서 애플리케이션의 한 층 전체를 대체하는 전략 예) 초기 마이그레이션 단계에서 웹 기반 프리젠테이션 티어의 ASP 코드를 대체하거나 미들 티어의 COM 코드를 대체, .NET 환경으로 마이그레이션 하는 경우 한번에 하나의 티어에서 마이그레이션 수행(특정 티어에 고유한 .NET 프레임워크의 성격을 활용)
- 많은 수의 서버, 많은 양의 공용 코드(shared code), 높은 ASP 애플리케이션/세션 상태 사용, 복잡한 미들 티어를 가지는 인프라구조에서 효과적인 마이그레이션 전략
6단계 마이그레이션 프로세스
STEP 1: 마이그레이션을 위한 애플리케이션 평가(ASSESS THE APPLICATION FOR MIGRATION)
- 일단 마이그레이션이 결정되면 애플리케이션 중 어떤 것이 현 비즈니스 요구(business needs)를 계속 충족할 수 있는지 확인하여 애플리케이션의 보존과 제거 여부 결정
- 애플리케이션의 설계와 소스 코드 품질을 파악하여 코드 복잡성에 대한 마이그레이션 팀의 이해를 돕는다(마이그레이션 비용, 노력, 일정을 예측하는데 도움이 됨)
- 개발팀의 스킬과 개발 환경을 검토하여 계획된 마이그레이션 비용, 노력, 일정 준수가 가능한지 판단(마이그레이션 팀이 애플리케이션 코드와 환경에 익숙하지 않은 경우 추가적인 시간이 요구됨)
STEP 2: 마이그레이션을 위한 애플리케이션 준비(PREPARE THE APPLICATION FOR MIGRATION)
- 마이그레이션이 시작되기 전에 관련된 모든 애플리케이션 문서와 베이스라인 소스 코드를 마이그레이션 팀에 제공하고 프로젝트의 정확한 이해를 돕기 위한 기능(업무) 전문가도 공급한다.
- 마이그레이션 팀은 주어진 소스 코드로 원래의 환경에서 애플리케이션 전체를 재빌드하고 이를 실행한다. 기 애플리케이션 테스트 케이스를 실행시켜 마이그레이션을 위한 정확한 버전의 애플리케이션 소스 코드가 제공되었는지 확인한다.
STEP 3: 애플리케이션 마이그레이션(MIGRATE THE APPLICATION)
- 이전 단계에서 준비된 애플리케이션을 마이그레이션 도구를 이용하여 새로운 환경으로 마이그레이션 한다.
- 마이그레이션 도구에 의해 자동으로 업데이트 되지 못하는 애플리케이션 부분은 수작업에 의한 마이그레이션이 필요(다음 단계에서 이 작업이 수행됨)
STEP 4: 마이그레이션 후 변경(PERFORM POSTMIGRATION CHANGES)
- 일부 애플리케이션은 자동으로 마이그레이션 되는 것이 불가능하고 상당한 수작업을 필요로 한다.
- 이전 단계의 작업 결과를 참고하여 개발자는 원래 애플리케이션과 동일한 기능을 제공할 수 있도록 신규 플랫폼을 위한 코드를 변경 및 작성한다.
STEP 5: 마이그레이션된 애플리케이션 테스팅(TEST THE APPLICATION)
- 새롭게 마이그레이션된 애플리케이션을 앞 단계에서 마이그레이션에 사용될 소스 코드 검증 시 사용했던 애플리케이션 테스트 케이스를 이용하여 엄격하게 테스팅 한다(기능 테스팅 외에도 스트레스, 볼륨, 부하 테스트를 수행)
- 한 차례의 테스팅이 완료되면 목표하는 성능 수준을 얻기 위한 튜닝과 최적화 작업이 수행된다.
- 테스팅이 성공적으로 완료되면 애플리케이션 릴리즈
STEP 6: 마이그레이션 후 지원(Post-migration support)
- 마이그레이션 애플리케이션이 전개된 후 추가적인 비즈니스 요구나 사용자 요구가 식별되는 경우 기술 팀, 개발자, 시스템 지원자의 지원이 필요
- 원활한 운영을 위한 시스템 구성 변경이나 최적화, 애플리케이션 구성 패러미터 변경 등이 수행된다.
'시스템유형별 > 마이그레이션' 카테고리의 다른 글
실패 사례 - 미국 캘리포니아주 공무원 급여시스템 업그레이드 프로젝트 (0) | 2018.07.11 |
---|---|
문서요약 - 데이터 마이그레이션의 모범 관행 by IBM (0) | 2018.07.09 |
문서요약 - 데이터 마이그레이션 방법론 개요 by Hudicka (0) | 2018.07.04 |
문서요약 - 데이터 마이그레이션 개념과 도전 과제 by Pick (0) | 2018.07.02 |
페이퍼요약 - 데이터 마이그레이션의 주요 고려사항 by Bell (0) | 2018.06.29 |