HP의 ‘Migration Framework’을 토대로 한 방법론ㆍ베스트 프랙티스ㆍ솔루션







최근 경기 침체가 산업 전반에 걸쳐 영향을 미침에 따라 IT분야에서도 예외 없이 신규 투자에 대한 규모가 줄어들 것으로 예상된다. 특히 서버 부문에 있어서는 올해의 경우 신규 업무에 대한 서버 수요 보다는 기존 시스템의 통합이 더 많을 것이고, 이로 인한 마이그레이션 수요가 많아질 것으로 예상된다.

1. 개요

마이그레이션의 범위는 애플리케이션, 데이터, ISV솔루션, 하드웨어, OS 등 여러 가지 관점에서 광범위 하다. 이중에서도 애플리케이션에 대한 마이그레이션은 비용뿐만 아니라 위험 부담이 가장 크다. 현재 많은 고객들이 노후화된 플랫폼을 서버 통합을 통해 교체하고 싶어 하면서도 선뜻 나서지 못하고 있다. 그 속사정을 들여다보면 여기에는 애플리케이션에 대한 마이그레이션 부담이 주는 두려움이 깔려있다. 하지만 관리 측면에서 보면 마이그레이션 위험 보다는, 노후 장비를 운영하면서 발생할 수 있는 장애로 인해 비즈니스에 미칠 수 있는 악 영향이 훨씬 더 위험한 게 사실이다.

HP는 과거 컴팩 고객을 흡수하면서 마이그레이션에 많은 시간과 투자를 해야 했다. 당시에는 어쩔 수 없이 감당해야 하는 일들이었지만, 결국은 그러한 작업경험이 이기종 플랫폼 마이그레이션에 관한한 최고의 기술력을 쌓게 해주었다. HP는 이제 어떤 벤더보다도 효과적이고 안정적인 마이그레이션 프로그램을 제공할 수 있는 기반을 마련해놓고 있다.

여기 소개하고자 하는 내용도 애플리케이션 관점에서의 마이그레이션을 주제로 하고 있다. 이를 위해 HP가 가지고 있는 'Migration Framework'을 토대로 마이그레이션에 필요한 방법론, 베스트 프랙티스, 솔루션 등을 상세히 다루고자 한다. 특히 HP가 제공하는 Transition Kit은 소스코드레벨 스캐닝을 통해서 마이그레이션을 위한 소스코드 분석 및 각 API에 대한 최적의 권장 사항을 제시해 준다.

HP Transition Kit은 Solaris, Tru64, AIX, HP-UX 등 다양한 운영체제에 대해 지원이 가능하며 엔드 유저가 보다 손쉽게 마이그레이션 할 수 있도록 도와주는 매우 강력한 솔루션이다. HP의 마이그레이션 솔루션은 이미 시티은행을 포함한 전 세계 수많은 주요 기업에서 검증된 솔루션이기도 하다.

2. 본론

2-1. 마이그레이션 방법론
마이그레이션을 시작하기 전에 우선 마이그레이션이라는 일 자체가 단순한 이전 작업이 아닌 하나의 프로젝트라는 점을 인식하는 것이 중요하며 주먹구구식이 아닌 정교한 방법론을 통해 프로젝트가 수행돼야 한다는 점을 강조하고 싶다.

특히 다른 OS에서 운영되는 애플리케이션을 HP-UX로 마이그레이션 하고자 할 때에는 ISV 포팅 상태, 개발 환경, 플랫폼 종속적 기능사용 여부, 바이너리 호환성, 컴파일러, 데이터 마이그레이션 등 여러 가지 주변 환경을 사전에 면밀히 검토를 해야 한다.

마이그레이션 방법론은 크게 Awareness, Planning, Design, Implementation, Test, Maintenance 6단계로 이루어진다. Awareness 단계에서는 기존 환경 분석 및 목표 수립, Planning 단계에서는 팀 구성 및 프로젝트 일정 수립, Design 단계에서는 시스템 준비 및 Transition Tool 적용 등의 태스크가 주어지고 적용 및 테스트를 거쳐 시스템을 운영하게 된다. HP는 이러한 마이그레이션 방법론을 토대로 하여 Awareness 와 Planning을 위한 AAT(Application Assessment Test) 컨설팅 서비스와 프로토타이핑 컨설팅 서비스를 현재 제공하고 있다.

2-2. 마이그레이션 계획 수립
마이그레이션 계획 수립은 업무 범위를 정의하고 잠재적인 어려움을 예측하고 전체 프로젝트 비용 및 기간 등을 예측하는 것으로 매우 중요한 단계이다. 효과적인 마이그레이션 계획 수립은 아래와 같은 작업들로 이루어지며 이는 Porting Assesment Summary, Migration Planning Document 등으로 정리 된다.

- 애플리케이션 목록, 구조 및 컴포넌트들의 관계에 대한 이해
- 애플리케이션 아키텍처, 레이어, 플로우 및 컴포넌트 상호작용에 대한 상세 이해
- 마이그레이션 수행 장애 또는 이슈에 대한 예측
- 애플리케이션의 재 컴파일 또는 수정할 부분에 대한 조사
- Third Party 소프트웨어에 대한 가능성 여부 조사
- 단위/통합 테스트 계획
- Assessment Report 생성

HP는 이러한 마이그레이션 계획을 수립하기 위한 툴로서 세 가지 방법을 제시하고 있다. ARIES와 같은 동적 변환기(Dynamic Translator)를 활용하는 방법, STK(Software Transition Kits)라는 Static Analysis 툴을 사용하는 방법, SLPK(Solaris to Linux Porting Kit)와 같은 포팅 킷을 사용하는 방법이 있다.

2-3. 애플리케이션 Assessment
애플리케이션 마이그레이션에서 가장 중요한 부분이며 마이그레이션의 난이도 및 예상 기간, 소요 인력 등을 예측 할 수 있는 단계로서 HP는 AAT(Application Assessment Test) 서비스를 제공하고 있다. 이는 기존 환경을 HP Integrity 서버로 마이그레이션 하는 고객을 위해 시스템 환경 분석 및 고객에게 적합한 To-Be 시스템을 제시하며 동시에 고객에게 가장 적합한 마이그레이션 방안을 함께 제시해준다. 애플리케이션 Assessment를 위해 사전에 상세한 질의 사항을 작성하게 되는데 여기에는 소스플랫폼 및 타깃 플랫폼 정보, 표준API 이외의 API사용 여부 및 Thread 관련된 애플리케이션 정보, C/C++/JAVA 등 프로그래밍 언어에 대한 정보, Build & Test 환경, 데이터베이스, 미들웨어, 파일시스템 I/O, 클러스터링, 네트워크 등에 대한 내용을 포함한다.

2-4. 마이그레이션의 네비게이션 'STK' 툴
마이그레이션 툴 사용의 가장 큰 목적은 자동화된 툴을 사용함으로써 기간 단축을 통한 마이그레이션 비용 절감뿐만 아니라 복잡한 마이그레이션 환경에서 발생 할 수 있는 여러 가지 리스크를 최소화 하는데 있다. HP에서는 이러한 마이그레이션 툴을 예전부터 제공해 왔으며 현재에는 고객의 마이그레이션 환경에 최적화된 다양한 솔루션을 제공하고 있다. 소스코드 없이도 호환성 문제를 확인 가능하게 해주는 바이너리 스캐너 및 자동화된 마이그레이션 툴, STK 등이 대표적인데 이중에서 HP STK에 대해서 좀 더 상세히 알아보고자 한다. STK는 한마디로 말하면 포팅 & 마이그레이션에 있어서 '네비게이션' 역할을 해주는 툴이라 할 수 있다.

STK는 복잡한 마이그레이션 환경에서 미리 어디로 가야 할지 어떻게 가야 할지에 대한 방향을 제시해주기 때문에 시간 절약 및 리스크를 줄일 수 있고 이것은 결국 프로젝트 비용을 최소화 하는데 도움을 준다. 즉, STK는 애플리케이션 마이그레이션을 위해 모든 소스코드를 수동으로 분석할 필요 없이 자동으로 분석해주기 때문에 매우 효과적이다.

STK는 크게 파일 스캐너와 다큐먼트 라이브러리로 구성되어 있는데 파일스캐너는 C, C++, Fortran, Scripts 등과 makefiles 등을 스캔하여 소스코드 내의 사용 함수, 명령어, 매크로, 스트럭처, 헤더파일, 라이브러리, 변수 등을 분석하여 준다. 파일 스캐너에는 scansummary, scandetail, scanwizard 명령어가 있는데 scansummary는 마이그레이션 계획수립을 위한 분석과 소스파일내에 API영향을 받는 인스턴스 수 등을 조사하여 전체적인 마이그레이션 계획 수립에 도움을 준다.

scandetail의 경우는 실제적인 마이그레이션을 수행하는데 도움을 주는데 소스파일의 각 라인에서 어떤 API 영향이 발생 하는지 등을 상세하게 분석 하여 준다. scanwizard는 위의 scansummary, scandetail 등을 수행 할 때에 좀 더 상황에 맞는 여러 가지 옵션을 제공해 준다. 다큐먼트 라이브러리는 마이그레이션을 위한 기술 문서들을 제공하고 있으며 여기에는 32/64비트에 대한 이해, 포팅 가이드, PA-RISC 및 Integrity의 런타임 아키텍처, 쓰레드와 멀티프로세싱 등에 대한 내용을 담고 있다. 이는 개발자를 위한 기술 문서로서도 매우 많은 정보를 제공해 주고 있다. 애플리케이션 마이그레이션을 위한 STK를 적용하려면 여러 가지 단계가 필요한데 아래는 몇 가지 주요 단계에 대한 설명이다.

⁍ 1단계 : STK 설치
--> http://hp.com/go/DSPP에서 로그인 후 최신 STK 파일을 다운로드 하여 설치한다.

⁍ 2단계 : 코드 클린업
--> 먼저 원본 소스코드를 미리 백업 받아둔 이후에 모든 임시 makefiles과 Pro*C 컴파일 결과로 생성된 .C 파일을 삭제 한다. (상세 내용은 위의 URL 에서 확인이 가능함)

⁍ 3단계 : STK 수행
--> 소스 OS에 따라 SKT-S, STK-A, STK-T, STK-L 등을 선택하고 각 툴의 특성에 맞게 스캔 작업을 수행하며 필요에 따라 Plug-In을 적용하여 스캔하기도 한다.

⁍ 4단계 : 결과 리포트 분석
--> STK 를 수행하고 나면 HTML 또는 Text 형식의 결과 파일이 생성되며 여기에는 소스코드에 대한 정보와 각 분석파일에 대한 분석 라인 수, 이슈 사항 및 영향 분석 등이 제공되며 이슈 부분은 Critical Impact 부분과 Non-Critical Impact 부분으로 나뉘어서 분석 결과를 제공한다.

⁍ 5단계 : Activity & Effort 예측
--> STK의 가장 큰 효과는 예측하기 힘든 마이그레이션에 대한 필요 인력, 기간, 비용 등을 미리 예측할 수 있는 근거 데이터를 제공한다는 것이다. STK는 앞서 언급했던 것과 같이 ASCII 텍스트 결과를 제공하게 되는데 이 파일이 Plug-In의 Input 파일이 되어 app.cfg 라는 파일을 생성하게 된다. 좀 더 자세히 들여다보면 최초 스캔 작업 이후에 STK Plug-In 프로세스 엔진이 기존 소스코드의 모든 영향분석을 파싱하고 미리 생성된 effort.cfg 파일을 체크하여 이 정보를 활용하여 Activity & Effort 예측이 가능하다. 이러한 과정을 통하여 최종 STK 결과를 분석하게 되는데 이를 통하여 Critical 변경, Non-Critical 변경, 코드 컴파일 시간 등을 예측하여 전체 소요 시간을 예측하게 된다.

2-5. HP STK를 활용한 마이그레이션 사례
HP STK를 활용하여 애플리케이션 마이그레이션을 수행한 사례는 셀 수 없이 많지만 몇 가지 해외 사례를 소개 한다.

1) 통신 분야 빌링 시스템 관련 마이그레이션 사례
 - 애플리케이션 : C 와 C++ 코드 800,000 라인
 - 마이그레이션 대상 : Solaris 7 에서 RHEL3 (Integrity 서버)로 마이그레이션
 - 마이그레이션 기간 : HP STK 툴 중에서 SLPK (Solaris to Linux Porting Kit)를 활용하여 2주 소요
 - 기대 효과 : 신속한 마이그레이션을 통한 비용 절감 및 성능 향상

2) 제조 분야 로지스틱 시스템 관련 마이그레이션 사례
 - 애플리케이션 : C 와 C++, Java 코드 1,500,000 라인
 - 마이그레이션 대상 : Solaris 9 에서 HP-UX (Integrity 서버)로 마이그레이션
 - 마이그레이션 기간 : HP STK 툴 중에서 STK-S(Solaris STK)를 활용하여 4~5주 소요(수동 작업 시 약 4~5개월 소요 예상) SHPK에 의해서 약 90% 정도의 코드의 자동 수정)
 - 기대 효과 : 90% 이상 자동 변경에 의한 신속한 마이그레이션

3. 결론

앞에서 언급했듯이 마이그레이션의 범위는 애플리케이션, 데이터, 플랫폼 등 광범위하게 있지만 애플리케이션만 놓고 보더라도 결코 쉬운 작업이 아니다. 특히 오래된 소스코드인 경우 제대로 유지 보수가 이뤄지지 않고 있으면 기존 환경을 분석하는 것도 어렵고 수십만에서 수백만이 넘는 코드 라인을 일일이 분석하여 마이그레이션 리스크 및 기간 등을 예측하기란 상당히 힘든 일이다.

HP는 Integrity라는 업계 표준을 지향하는 서버를 발표하면서 이러한 고객의 어려움을 해결하기 위해 좀 더 체계적이고 자동화된 기능을 포함하여 STK라는 툴을 만들었고 툴뿐만 아니라 마이그레이션 방법론, 애플리케이션 Assessment 컨설팅, 프로토타이핑 컨설팅, 마이그레이션 컨설팅 등 마이그레이션 전 단계에 걸쳐 다양한 서비스를 제공하고 있다.

특히 한국HP에서는 ISV 포팅과 Integrity 서버 마이그레이션을 위한 PMC(Porting & Migration Center) 조직을 별도로 두어서 위에서 언급한 전문적인 마이그레이션 Assessment 및 컨설팅 서비스 지원을 하고 있으며 최근에는 신한은행, 르노삼성 등 성공적인 지원 사례를 가지고 있다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지