반응형

제목: 성공적인 마이그레이션 프로젝트를 위한 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)

  • 마이그레이션 애플리케이션이 전개된 후 추가적인 비즈니스 요구나 사용자 요구가 식별되는 경우 기술 팀, 개발자, 시스템 지원자의 지원이 필요
  • 원활한 운영을 위한 시스템 구성 변경이나 최적화, 애플리케이션 구성 패러미터 변경 등이 수행된다.

반응형

+ Recent posts