마이그레이션기술강좌 집필자 : 박성희마이그레이션전략 / 기획팀장 psh@metam.co.kr 010-3027-0354 @migration_club 메타마이닝공식블로그 : mmcmobile.wordpress.com 필자는경희대학교물리과를졸업하고호서벤처전문대학원석사과정이수중이며마이그레이션진단컨설팅및전략기획을담당하고있다. ------------------------------------------------------------------------------------------------------- 획기적인비용절감의서버마이그레이션전략 Unix Server 를 Linux Server Migration 전략을중심으로 지금까지마이그레이션을통해비용절감과비즈니스선진화전략과해결방안을살펴보았다. 이번호에는해경방안을통해성공사례를유형별로살펴봄으로마이그레이션을검토하고있는독자나기업에좋은자료를제공할것을믿어의심치않는다. 금융위기로국내외적으로매우어려운시기를맞았으며, 2009년도도매우어두운전망을예상하고있다. 한국소프트웨어진흥원 (KIPA) 에서발표한 2009년도 국내소프트웨어시장 2008년도회고와 2009년도전망 에서 IT투자위축과수출경쟁력약화가가장큰화두가될것으로전망하고있으며, 2009년도비즈니스에미칠가장큰요인으로는 경기불황에따른실물경제의타격 으로꼽혔으며, 다음으로는 환율상승과이에따른가격인상움직임 으로보고있다. 보고서에서우리가관심을가져야할부분은 비용절감솔루션의부상 의예를들고있는점이매우이례적이다. 과거마이그레이션프로젝트를검토할때는언제나어플리케이션프로그램과데이터베이 스를중점적으로얘기하지만경제상황이악화되는지금시점에서는오히려낡고비용이많 이들어가는서버부터마이그레이션을검토한다는점이다. 서버마이그레이션에가장획기적인마이그레이션전략은 유닉스서버를값싸고성능이뛰어난리눅스서버로마이그레이션 을함으로소프트웨어는그대로수평이동하고데이터베이스, 하드웨어등을완전히리눅스환경으로교체함으로비용을획기적으로절감할수있는장점이있는것이다. 그렇다면획기적인비용절감효과로 오픈리눅스 시스템으로가야하는가? 오픈소프트웨어가상용리눅스와비교하였을때문제점이없다. 기존의서버즉, IBM, HP, SUN, Fujitsu 등에이미오픈리눅스시스템이탑재되 1
었다. 오라클 DBMS를 MySQL로전환이용이하다. 기존사용서버에서운용되는어플리케이션이오픈리눅스에대체솔루션으로가능하다. 예를들면, WebLogic, WebSphere 등이오픈제이보스, Java가오픈자바로이전되는경우이다. 클라우드컴퓨팅및대형포털을중심으로오픈소프트웨어를적용하여이미검증이되었다. SK텔레콤, 포스코를중심으로 2009년을기준으로운영시스템의 30% 이상을오픈리눅스로교체하였고비용절감효과는 50% 이상을거두고있다. 그렇다면, 오픈리눅스서버로마이그레이션하는경우에비용절감의내용은무엇인가? 하드웨어구입비용의절감효과전력사용의절감데이터베이스구입비및유지보수비용절감효과웹어플리케이션서버구입비용및유지보수비용절감보안강화 실제로유닉스서버를리눅스서버로마이그레이션을통한성공사례를소개하기로하자. 첫째, 포스코프로젝트이다. 1. 환경 : 유닉스기반의 ERP AP서버, 공정, 메일서버를포함하여 120대를리눅스로운영 2. 상용피오라노기반의 MES시스템을오픈소스인제이보스및 MQ기반의 UCUBE 로개발운영 자지금부터마이그레이션의유형과유형별성공사례를정리하기로하자. 2
마이그레이션유형 Re-Document Re-face Re-place Re-Transformation Migration Legacy Modernization Application Re-Architect? Legacy Platform 전략 A advanced Legacy Platform 전략 B advanced Re-Transformation Platform 전략 C Re-Architect Platform Mainframe Client/Server system Middleware or nothing Mainframe Re-document Re-face, Re-place Mainframe / Web Downsizing / Upgrade Re-Transformation system CBD, WAS.NET, J2EE, Framework Re-architect 폐쇄적시스템 유지보수비용증대 경쟁력약화 글로벌표준압박 전산자원관리어려움 비용억제 최소한의변화 위험부담최소화 부분적교체 성능개선 환경개선 (Web) M/A 원활화 과도기적선택 서버로직지속사용 유지보수비용절감 SW 재활용환경 신기술도입 표준화된환경구축 ROI 짧음 Incremental Approach Replace component Big Bang Approach Replace H/W, S/W Evolutionary Approach Replace functionality 위그림에서나타난바와같이마이그레이션은 3가지유형으로나타난다. 참고로 전략A 와 전략B 는마이그레이션솔루션이직접적으로적용이되고 전략C 는시스템자체를완전히새롭게재개발하는단계이므로 전략A 의 Re-Document가간접적으로정보를제공하는기능만을제공하게된다. 본사례에서는 전략A 와 전략B 를중심으로설명하기로하겠다. 첫째, 진보된플랫폼으로의업그레이드이다. (Advanced Legacy Platform) 레거시플랫폼에서의다양한환경, 즉, 메인프레임환경, 클라이언트서버환경에해당하는플랫폼에서크게바뀌지않은상태에서현행시스템을분석하거나 (Re-document), 사용자인터페이스부분만을웹브라우져환경으로전환하는 (Re-Face) 프로젝트나단순히주요한소스코드만을라인별로변환하여 (Re-hosting) 사용하는소극적인방법만을처리하는경우이다. 이방법은매우안전하고위험도도거의없는상태로가장짧은시간에시스템을업그레이드하는작업을의미한다. 1. Re-Document 2. Re-Face 3. Re-Place(=Re-hosting) 로정리할수있다. 도입사례 (Re-Document) M 사는차세대시스템을구축하기앞서현행시스템을정확하게분석하고이를자동산출물 3
을통해재사용이가능한상황을파악하고방향을제시하기위해마이그레이션하기전에 현행시스템의자동산출물프로젝트 (Re-Document) 를수행하였다. M 금융그룹 AS-IS 분석시스템구축 AS-IS 및운영시스템분석산출물지원 차세대준비를위한최적의 AS-IS 분석산출물확보 운영시스템의영향도분석을위한 Meta Data 확보 Application 측면 Database 측면 Document 측면 시스템관리측면 업무체계관리부제 Database Schema 최신문서화불일치 프로그램자산관리미흡 최신화정보부재로인한현황파악어려움 파악의어려움 (ERD) 논리모델과물리모델의 수작업을통한문서관리 문서의일관성결여 응용프로그램의관리적측면의부재 분산화된시스템의영향분석어려움 불일치 변경이력에대한추적의 어려움 마이그레이션은무조건시스템을바꾸는모습이아니라체계적이고합리적으로접근하는방법을사용한다. 레거시시스템은 10여년이상을큰구조를바꾸지않은채유지보수를통해시스템을유지하는것을말하며, 이러한시스템에는주로오래된낡은프로그램언어, 데이터베이스그리고낡거나거의파악하기어려운프레임워크를사용하고있으며, 미들웨어부분이취약하여분산처리시스템이매우열악한구조를말한다. 마이그레이션의가장처음단계는현항을정확하게파악하는일이급선무일것이다. 위그림에서보는바와같이어플리케이션, 데이터베이스, 개발문서, 그리고시스템관리부분까지면밀하게분석하는프로젝트이다. 4
유지보수 관련분야정보에대한지속적인지원 정보제공및기술자문구축자료이상시 One- Ca ll 처리 영향분석 업무영향분석등을자동화지원을통해시간감소및오류발생방지 이기종호출관계자동화 수작업분석으로인한리스크감소 소프트웨어자산관리최적의분석산출물제공 AS- IS 시스템의 Ap p lic a tion/ Da ta b a se 측면의다양한분석 산출물필요 차세대준비 자산의미사용현황 / 변경현황및증감현황에관한통계정보기반구축 시스템관리 위그림 M사의도입목적을명확하게나타낸그림이다. 시스템의영향분석을통해현행시스템의현황과문제점그리고시스템내부를투명하게분석할수있는환경을제공받을수있고, 현행시스템과새로운차세대시스템의유지보수를위한기능을제공하며, 가장중요한 차세대시스템개발을위한준비 작업을할수있다는점이다. 특히차세대시스템에대하여는현행시스템의재사용이가능한비즈니스로직을추출하는중요한기능이추가적으로제공되었다. 둘째, 진보된플랫폼으로의마이그레이션이다. (Advanced Re-transformation Platform) 레거시플랫폼에서의다양한환경, 즉, 메인프레임환경, 클라이언트서버환경에해당하는플랫폼을완전히새로운시스템환경즉, 오픈시스템의 Java, C#, C 환경으로전환을하는전략이다. 예를들면, COBOL, PL/I, RPG, VB, PB, Delphi 등의다양한프로그램언어와오래된데이터베이스그리고미들웨어등을신기술의환경즉, Java, C#, C, 그리고웹어플리케이션서버에해당하는웹로직, 웹스피어제우스등에오라클과 DB2, SQL Server 등의표준관계형데이터베이스환경에시스템을이전 (Migration) 하는전략을의미한다. 일반적으로 마이그레이션프로젝트, Legacy시스템을 Modernization시스템으로변환하는프로젝트 등은모두가 돌째 의전략을일컫는다. 실제 메타마이닝의마이그레이션프로젝트는주로 전략B 형태에서많이이루어진다고볼수있다. 도입사례 (Re-Transformation) 메타마이닝과주개발사업자인삼성데이타시스템과삼성금융계열의메인프레임시스템을다운사이징사례를간단하게정리해보기로하자. 5
실제로 2008.6.9일에기간계시스템을메인프레임에서유닉스오픈시스템으로마이그레이션하는부분이완벽하게운영이되어병행작업을 1개월에마치고메인프레임을유닉스오픈시스템으로전환완료하였다. 뱅가드프로젝트 라고이름붙어진이번작업은지난해 8월부터약10개월에걸쳐진행되었다. 실제로이정도규모의시스템에서메인프레임환경의중단없이유닉스로다운사이징된것은거의유례를찾아볼수없다 고삼성카드는밝히고있을정도로대표적인성공사례로꼽히고있다. 실제로카드시스템은은행과의청구 / 입금데이터, 가맹점의송금데이터등대외데이터의송수신이많아서야간에무겁게돌아가는작업이상당하며, 많은데이터양을빠른시간에처리해야하는야간뱃치작업에서도문제없이잘돌아가고있다. 며유닉스기술이상당히높아져서메인프레임못지않은안정성을보여주는결과를얻고있다. 이번뱅가드프로젝트는유닉스로다운사이징하는데 190억, 대외적으로허브구조의인터페이스구축에약 30억이들어합계 220억정도의구축비용이들었다. 하지만연평균 90 억이상의운영비용절감효과를가져올것으로보여상당한비용효과를얻었다. 마이그레이션한당해년도에도 50억정도의비용절감이이뤄진다. 운영과유지보수에매년 100억원가까이소요되는 IBM 메인프레임의가동이지난 5월로종료되었기때문이다. 이와같은내용은이미삼성카드에서언론에밝힌내용을정리한것이다. VSAM 자동마이그레이션을통한다운사이징 ISAM Da ta La yer IMS DB2 Ora cle Da ta La yer Meta Brid ge Business La yer COBOL CICS C Tuxedo / WTC Business La yer Presen - ta tion La yer Ja va Ap p let Ja va Ap p let Presen - ta tion La yer 메인프레임 UNIX 위그림은실제로삼성카드에작업을하였던로드맵이다. 삼성카드현행시스템은다음과같다. 데이터부분 : IMS/DB, DB2, VSAM으로 IBM의모든데이터형태를보유하고있다. 비즈니스로직부분 : CICS/COBOL로작성되었다. 사용자인터페이스부분 : Java Applet로작성되었다. 이러한환경을서버단에해당하는 20.000여본에가까운많은프로그램을 Unix, C, 6
Tuxeudo 그리고 Oracle DB환경으로그대로재구조화하는방법을사용하였고, C 프레임워크인 SDS의 Systemier라는프레임워크에맞게자동변환하는기능을요구하는프로젝트였다. 2-3개월에걸쳐 90% 이상의자동화율을보였고, 표준화와소프트웨어품질문제를자동화도구를통해지원하였으며, 마이그레이션을성공적으로종료를하였다. 지금까지유례없는마이그레이션성공사례와기대효과를충분히얻었고지금까지국내외기술로는리호스팅 (Re-hosting) 이라는메인프레임 COBOL환경을오픈시스템의 COBOL 환경으로만전환하는데그쳤지만, 메타마이닝의기술 Re-Architect 는오픈시스템에 Java, C 프레임워크에맞게재구축하는방법을사용하였다. 이를좀더자세하게설명할필요가있다는판단이다. Pseudo Code 자연어관리 모니터링및위험예방관리 프로세스모델링관리 컴포넌트룰관리어플리케이션전환관리 전사적메타데이타저장소 Data 전환관리전환검증관리 어플리케이션영향분석관리 어플리케이션자산관리 어플리케이션품질관리 어플리케이션 Parsing 위그림은메타브릿지의기능구성도이다. 현행시스템 (AS-IS) 시스템의정보를 Parsing( 분해 ) 하여이를메타저장소에체계있게저장한이후에다양한자동산출물과영향분석그리고연결도등을분석한후에이를사용자의환경에맞게자동으로변환하는기능을가지고있다. 실제로변환한다는것은프로그램언어와환경을새로운환경으로그냥바꾸는단순한작업은결코아니다. 이를분해하고, 문법오류를보완하여재작업과정을통해소스코드를완전하게만든이후에이들의연결관계와현황그리고누락, 중복등의발견을통해보완작업을거치게된다. 이러한작업의공정이전체 30% 정도할애된다. 7
다음은메타저장소에저장된메타자료를어떻게변환을하는가하는부분을설명하기로하 자 메인프레임 Unix Ap p lic a tion Prog ra m (CICS CO BO L) Ja va Ap p let O LTP O nline Tra nsla tion Progra m IMS CICS DB/DC DB2 Ba tc h progra m JCL WTC Applica tion JDK TCP/IP Windows Tuxedo VSAM OS : 390 VSAM VTAM IBM Ma infra me (System / 390) Compiler C TCP/IP UNIX Ora cle TCP/IP UNIX 위그림은과거리호스팅의로드맵과는판이하게다른구성을하고있다. 타겟시스템에해당하는어플리케이션프레임워크 (C, Java) 에맞게메인프레임의자원을분해하여이를맵핑기법을통해자료를변환하는기법을사용하고있다. 이방법을 Re- Architect라고부른다. 오리지널시스템에해당되는 COBOL과같은형태의 java가아니라 Java 환경이갖는고유한구조로타겟시스템이구축되어진다. 데이터베이스마이그레이션사례 다음은시스템전반에걸친마이그레이션이외에데이터베이스만을마이그레이션하는경우를소개하겠다. ( 즈 ) 메타마이닝과 IBM 마이그레이션팀과 M생명오라클데이터베이스를 IBM의 DB2로마이그레이션성공사례를소개하고자한다. 1. 데이터베이스마이그레이션개요 데이터베이스는기업의가장중요한지적재산이다. 이를저장하고관리하는것은장기적인관점에서전략을수립하고이를관리하고유지하여야하는 IT분야이기도하다. 데이터베이스의기술적인발전은다른분야에비해상대적으로느리지만, 그응용분야는매우다양하고복잡하게전개되고있다. 8
데이터베이스는다양한하드웨어와운영체제그리고프로그램언어에이르는환경적변화따른요구사항이빠르게지원할수있는구조를가지고있어야하기때문에일관성있는기술구조가필요하다. 또한최근에불거지는특정데이터베이스의일방적인시장장악에대한견제의기능으로마이그레이션이필요하게되고있으며, 글로벌하게퍼져가는기업의형태상시스템의통합차원에서마이그레이션이반드시필요하게된다. 2. 데이터베이스마이그레이션시장현황 2008년도를들어서면서한국을비롯전세계시장이데이터베이스시장에대하여집중적으로관심을갖고보도하기시작하였다. 오라클사의높은유지보수비용부담 (22%) 과서비스만족도에저하를이유로기업사용자를중심으로지나치게편중된특정업체로편중된종속성을탈피하여다양한제품구매를권장하는가이드를마련하는등 DBMS 다변화에대한움직임이공공기관을중심으로확산되고있다. 실제로고객의입장에서 DBMS를교체하거나신규시스템을도입하는선택의기로에서기업은고심하게되어 2008년도들어서면서 IBM과마이그레이션전문기업인 메타마이닝은이러한어려운문제에직면한고객들에게 Incredible DB2 켐페인을통해대고객서비스정신과, 파격적인가격오퍼링, DB2의뛰어난기술과성능등으로무장하여저비용, 고효율의 DBMS 변환에대한만족할만한해법을고객에게제시하고있다. 2008년 3월 5일전자신문 오라클철옹성 DBMS SW시장최대격전지로.. 한국IBM 고객늘리며공세강화 2007년 3월 7일디지털타임즈대기업 오라클 DB서벗어나자 삼성등유지보수비용적은 IBM DB2로전환조짐 - 2008년 2월 11일아시아경제 탈오라클바람 DB 시장을흔든다. DBMS 유지보수비 10% 에서 22% 대상향조정, 공공기관중심으로 탈오라클현상 가시화로나타나다. 3. 마이그레이션관련주요산업 Sector 설문조사정리 한국IBM과메타마이닝은 2008.8.29 국가주요산업의 Sector CIO 및관련사업자 49명에대한간이세미나와설문을조사하였다. 참고로 IBM의데이터베이스에대해가장고전하고있는분야를선택하여실제로고객의동향을파악하기위한자리였으며참여한기업은대부분중견기업이었다. 설문자의기본적인환경정리 9
사용하드웨어 데이터베이스 프로그램언어 IBM(40%) HP(40%) SUN(20% Oracle(47%) MS SQL Server(42%) Sybase(11%) C#(22%) Java(18%) VB(18%) Pb(14%) C(9%) Delphi(14%) IBM의 데이터베이스마이그레이션 프로그램에대한의견정리 IBM DB 마이그레이션진단서비스받을있다 (30%) 적극검토 (70%) 의향? DB2로교체할의향? 있다 (10%) 검토 (70%) 없다 (20%) 교체혹은검토사유? 높은유지보수비용 (90%) 서비스불만 (10%) 4. 마이그레이션일반적고찰 첫째, 마이그레이션필요성 기업이나국가가다양한시스템을통합 (Integration) 하는경우와글로벌화되어가는시스템환경으로인해 IT 기술로인한통합의필요성이크게대두되고있다. 다양한하드웨어, 운영체제, DBMS 환경의변화는기업의비즈니스환경이변화함에따랄크게변화를요구하고있기때문이다. 다양한이기종의 DBMS 들이서로연동하는과정에서인터페이스부분이나서로다른 SQL 구문및프로그램언어와연결관계에서불필요하거나성능이저하되는것을막기위함이다. 그러나가장중요한것은 DBMS 공급자 (IBM, MS, Oracle, Sybase 등 ) 들간의심한경쟁으로오는시장탈환이가장크며, 이를기회로고객들은새로운선택의길이열려있는 시장변화 가가장큰필요성이라할수있겠다. 둘째, 마이그레이션도입전검토사항 현재 IT장비와인력그리고 ROI( 투자대비효과 ) 를정밀하게분석한다. 마이그레이션후에생산성향상여부를계수화한다. 기술적위험성을분석한다. 효율적인마이그레이션방안을모색한다. 검증된자동화도구를적극검토하여정확성, 성능성과향후정밀한분석정보를확인하여야한다. 셋째, DBMS 제품선정기준 DBMS 를마이그레이션하여쉽게통합이가능한지여부를검토한다. 10
유지보수가쉽고보안이철저하며, 비용이저렴하여 ROI를높이는지여부를분석한다. 마이그레이션후에안정성, 보안성정장보장과글로벌에맞추어통합이가능한지를살핀다. 자동화도구를사용하여기간이나비용을절감할수있는지를검토한다. 마이그레이션과정의안정성과효율성을보장하도록추진되어야한다. SQL 문장과 DB Object 그리고 DB와연결된미들웨어 ( 웹어플리케이션프로그램 ) 과프로그램비즈니스로직과연결되어수정하는과정을심층적으로확인하여야한다. 이를지원하는자동화도구의기본적인기능으로이를점검하면된다. 이러한모든과정을 IBM의 DB2로마이그레이션하는과정에포함되어있다. 셋째, 마이그레이션대상선정 마이그레이션의방법에는 DBMS 뿐만아니라어플리케이션프로그램, 미들웨어 ( 웹어플 리케이션프로그램 ) 그리고프로그램 ( 특히비즈니스로직 ) 을프레임워크에마이그레이션 하는이후까지를마이그레이션범위에포함하여야한다. 또한프로그램언어가변하지 않고 ( 예를들면 COBOL 에서 COBOL 로전환하는경우 ) 마이그레이션하는경우에프 로그램언어의버전이매우중요하다. 데이터베이스 웹어플리케이션서버 (WAS) < 대부분 DB 마이그레이션 방법 > 프로그램언어 ( 비즈니스로직 ) ( 동일한언어로버전 / 환경 수정 ) 프로그램과 WAS 를신규로개발하는경우 데이터베이스와 WAS 를새롭게도입하는경우 M 생명 데이터베이스마이그레이션프로젝트는두번째방법으로진행하였다. 넷째, 마이그레이션절차 M생명은대형SI업체가프로젝트를수주하고 IBM에서 DB2 마이그레이션부분을맡아처리하는구조에서데이터베이스마이그레이션부분을메타마아닝에서처리하는형태를취하였다. 본마이그레이션절차는데이터베이스마이그레이션부분만설명하기로한다. i. 준비단계 ii. iii. 분석단계 마이그레이션단계 11
가. 스키마추출및마이그레이션단계나. 데이터베이스오브젝트추출및마이그레이션단계다. 데이터마이그레이션단계라. 응용프로그램마이그레이션단계 iv. 검증밑테스트단계 v. 성능최적화단계 vi. 평가단계 마이그레이션준비단계 i. 데이터베이스마이그레이션에대한업무정의를명확하게하고목적과예산그리고프로젝트기간등의요구사항을정의하였다. ii. 현행시스템을분석하고환경을파악하는데주로프로그램언어와데이터베이스그리고웹어플리케이션서버를중심으로분석하고해당정보를자동화도구인메타블루 (MetaBlue ) 에저장하여분석하고누락부분의정보를검증하는단계를거쳤다. iii. 데이터베이스에서사용하는 SQL문장이나 DB Object 등을추출하여 DB2에적합한지여부를 DBA와검증작업을거친후에해당정보를 변환로직테이블 에저장하였다. iv. 또한운영체제나 DBMS 다른환경에영향을주는지를메타블루를통해영향분석을통해나온산출물을사용자와긴밀하게협의를하였다. v. 마이그레이션의복잡도와소요기간그리고마이그레이션완료후의병행기간등을의논하였다. vi. 해당자료는산출물을작성해서위험분석요소를사전에분석하고대응전략을세웠다. vii. 데이터베이스마이그레이션시에위험요소를다음과같이정리하였다. 가. 데이터베이스를변경할때에대한대책마련나. Oracle, MS SQL Server, Sybase등의 SQL 문을추출하여 DB2에 SQL문장과 mapping 하는작업다. 기존데이터베이스의테이블, 필드그리고실제데이터의정합성을검증하였다. 라. 데이터베이스변경시에업무프로세스 ( 비즈니스로직변화 ) 가없는지를검증한다. 마. 작업시간과투입인력에대한검증작업이필요하다. viii. 마이그레이션전략수립은다음과같다. 가. 마이그레이션단계를 준비단계 분석단계 마이그레이션단계 검증 / 테스트단계 평가단계등으로분류하였다. 12
나. 각단계별로역할을명확하게분류하였다. 단계담당역할 준비단계 전체 분석단계마이그레이션팀메타블루산출물 마이그레이션단 계 마이그레이션팀 MetaBlue, MTK 검증 / 테스트 단 프로젝트관리자 성능확인작업까지포함 계 평가단계전체변환율, 정확성, 성능, 문제점등 분석단계분석단계는메타블루의 40여종의다양한산출물을제공하는분석산출물을자동으로제공함으로사용자에게마이그레이션과정을투명하고정확하게확인할수있는장점을지니고있다. 분석단계는다음과같은중요한역할을하게된다. i. 어플리케이션및데이터베이스의자원의정확한지여부를파악한다. 누락, 중복, 미사용등의정보를분리한다. ii. 자원의정확한현황을파악하게된다. 자원의크기, 개수, 연결관계, 빈번도등의정보를파악할수있다. iii. 영향분석을할수있다. 데이터베이스와프로그램과의관계도파악, 연결관계, 가장중요한영향분석이가능하다. 데이터베이스와프로그램간의영향도가어디까지인지를모두파악하여마치병원의 MRI 장비에서나온결과물처럼상세하게나타나게된다. iv. 분석, 개발문서를자동으로얻게되며, 기존의자료보다시스템과문서의일치를통해정확한산출물을파악할수있다. 마이그레이션단계마이그레이션단계는 3가지형태로수행하게되는데, 데이터베이스, 응용프로그램그리고웹어플리케이션서버등의작업을거치게된다. 13
Mapping Rule repository Rule conversion Table Line by line conversion (Syntax) Rule template 치환 (Impact analysis) Framework 기반 Conversion Embedded Syntax Extraction SQL / DBMS Object conversion SQL / DB Object Extraction Table/Index/Triggers/Sequence/UDF/Procedure/ Function etc.. Conversion Cobol, C, Java, PL/I, C#, VB, PB, Pro*c, SQL. CICS, WebLogic, ZEUS, Tuxeudo, WebSphere DB2, VSAM, Oracle, Sybase, SQL Server. Cobol, C, Java, PL/I, C#, VB, PB, Pro*c, SQL. CICS, WebLogic, ZEUS, Tuxeudo, WebSphere DB2, VSAM, Oracle, Sybase, SQL Server. Program Grammar repository Impact analysis < 그림 > 마이그레이션절차도 DBMS / Application Governance 위그림에대한상세사항은본자료후면에메타블루를통해데이터베이스마이그레이션전과정을설명하기하자. 데이터베이스, 응용프로그램그리고 WAS 등의전환은메타블루를통해전환이되고실제데이터는 IBM 제품인 MTK (Migration Tool Kit) 를통해전환이된다. 여기서마이그레이션에유의할사항에대하여정리해보기로한다, i. 현행시스템의데이터베이스기능과 IBM DB2 기능에익숙한전문가를확보하는것이매우유리하다. 대부분 90% 는이미메타블루로직테이블에저장되어처리하는데는문제없지만예외 SQL문장처리할때매우유익하다. ii. 데이터베이스오브젝트 ( 트리거, 함수, 프로시져등 ) 을메타블루를통해자동으로변환이되지만, 실제로수작업으로하는경우이를철저하게검증을하여야한다. iii. 마이그레이션전문도구인메타블루가처리하지못한경우가있는데이는극히 1-2% 에해당하며이를수작업으로처리하여야한다. 대부분 IBMDB2에서처리가가능하다. iv. 응용프로그램에관하여는세가지마이그레이션방법이있다. 가. 응용프로그램을그대로가는경우이다. 예를들면 오라클에 Java 를사용하고있는데타겟을 IBM의 DB에 Java를그대로사용하는경우이다. 이방법에는큰문제가없다. 메타블루도이러한부분을자동으로변환하는툴이기때문이다. 나. 응용프로그램이새로운프로그램환경으로마이그레이션하는경우이다. 14
오라클에파워빌더 를사용하고있는데이번에 IBM DB2 Java로가능경우이다. 이때는 메타마이닝의프로그램언어변환솔루션인메타브릿지 (MetaBridge) 를사용하여파워빌더를 java로바꾸어처리하게된다. 다. 웹어플리케이션서버가바뀌는경우이다. 예를들면, 티맥스의제우스나, 오라클의웹로직을사용하는경우이를 IBM의웹스피어로전환하는경우에마찬가지로 메타마이닝의메타바이올렛 (MetaViolet ) 을활용하면쉽게전환이가능하다. 검증 / 테스트단계변환이완료되고현행시스템을 IBM의 DB2환경으로모든것을이전완료하였다. 이를검증하고테스트하는과정을거쳐야한다. 실제로소요공수를따지면 50% 이상이검증작업에할애하였다. 이는사용자와공동으로작업을하게된다. 평가단계실제로자동화도구를사용하여처리한부분을종합적으로평가하고문제점, 수정사항등을거치는단계이다. 5. M 생명사례 개발기간 2008.8.4 2008.9.3(1개월간 3MM) 투입업체 SDS 프로젝트관리, IBM, 메타마이닝은데이터베이스마이그레이션분야만처리 프로젝트목표 i. 전체금융업무 ii. 인프라, 프레임워크, 체널인터페이스, 데이터마이그레이션, 메타데이터, 데이터베이스입출력, 이미지, 사용자인터페이스등 iii. Store Procedure, SQL 문자 iv. 데이터베이스오브젝트는컴파일완료후에 Java 소스코드의 SQL문장은구문검증을목표로한다. 마이그레이션작업절차 15
i. DDL에서 DB Object를추출한다. (Trigger, Function Procedure, 등 ) ii. 데이터베이스정보를메타블루에서수집 (Gathering) 하여메타데이터저장소에저장한다. 이때대상은 Table DDL, Function, Procedure, Java Source code 등 iii. 수집된정보를기준으로분해 (Parsing) 하여메타데이터에분해된정보를저장한다. iv. 어플리케이션과데이터베이스부분을변환한다. Java 소스코드에 Embedded 되어있는 SQL 구문을테스트하기위해추가로이를분리하여추출하고이를변환한다. v. 전환결과소스코드를컴파일한다. 이때 Function과 Procedure를포함하게된다. vi. Java 소스코드속의 SQL 구문오류를검증한다. 예를들면, DB2EXPLN d GNKADM f [SQL 구문파일 ] z ; t vii. SQL 구문파일중수정, 보완내용을전환 Java 소스코드에추가및보완작 업을하였다. 6. M 생명마이그레이션작업결과 M생명의마이그레이션기간은 1개월작업기간을거쳐아래와같이자동변환율 (97.95%) 를기록하였다. 분류 현행시스템 목적시스템 하드웨어 - IBM P595 데이터베이스 Oracle DB2 ESE 9.5 Fix 1 미들웨어 JEUS 5.0 WebSphere 6.1 프로그램언어 Java Java 마이그레이션결과 자동화도구 MetaBlue, MTK 자동화변환율 (%) 91.81% 수작업 (%) 7.38% 분류 Volume 대상제외전환대상미변환자동 (%) 수작업 (%) 비고 DB Object 649 292 357 1 97.2% 2.8% - Java (SQL) 423 35 388 5 98.7% 1.3% - 합계 1,072 327 745 6 97.95% 2.05% 16
세부설명 대상제외 DB Object 가없는경우, 테이블이상, Field 이상그리고현행소스코 드이상등 UTIL_File 미지원 Function 속의 Declare, handlet 등을 오라클 7.3 에서지원하는기능을 DB2 에서지원치 않아 IBM DB2 팀에서이를지원처리키로함 DB2 에서는 Store procedure 로처리하였음 미변환 TO_MULTI_BYTE 미지원 함수 DB2 팀에서지원처리키로함 TO_Single_Byte 함수사용 LIKE 우측항목을못가져옴 DB2 팀에서지원처리키로함 DB2 팀에서지원처리키로함 실제로자동으로처리하는데이터베이스오브젝트나프로그램언어는그리어려운문제가아니었고개발기간이나작업방법에서전혀문제가되질않았다. 이보다중요한문제는 수작업처리 (2.05%) 문제였다. 이는오라클에서지원하는기능을 DB2에서지원하지못한경우에해당하는데, 경미하지만 Store Procedure로처리하거나 IBM 본사 DB2 팀과긴밀하게협조하에처리중에있다. 17
7. 메타블루작업절차 자원수집및현황분석 < 그림 > 데이터베이스및어플리케이션자원현황 다음은메타블루를통해작업한결과를화면을통해설명하기로한다. 가장먼저마이그레이션을위한데이터베이스정보와어플리케이션정보를수집하여오른편그림처럼수집정보현황을나타내며단순히현황정보만이아니라누락, 중복, 미사용현황을파악하여이를사용자에게제공하여보완하는작업을취한다. 실제로 M생명마이그레이션작업에서도상당수가나타났다. 현행시스템의자원현황을정확하게파악하는것이마이그레이션의변환율에도큰변수가된다. 18
자원수집및현황분석 < 그림 > 데이터베이스및어플리케이션자원현황 메타블루는수집된자료 ( 데이터베이스, 프로그램소스코드 ) 를분해 (Parsing) 하여이를메타데이터저장소에저장하고기존에저장된 SQL 지식베이스와분해한사용자의프로그램에 Embedded되어있는 SQL과 Mapping작업을한후에이를자동으로변환하는결과를나타낸화면이다.SQL문장을자동으로변환하는과정에서누락되거나새로운문장을발견하게되면이를메타블루의 SQL 지식베이스에등록을하고다시작업을수행하면자동으로처리된다. 이는오라클 / 사이베이스 /SQL Server 등주요데이터베이스에관련된 SQL 문장을등록하고이에대응되는 DB2의 SQL 문장과연결작업을통해사용자의 SQL 문장을자동으로변환하는기능을제공한다. < 그림 > SQL 지식베이스테이블현황 19
데이터베이스및프로그램자동변환단계 < 그림 > 데이터베이스및어플리케이션자동변환프로그램안에들어있는 SQL문장을자동으로추출하여이를자동변환한후에 SQL을포함하고있는어플리케이션프로그램을자동으로변환하는과정의화면이다. 실제로프로그램언어가동일한경우에는버전및데이터베이스와연결된환경부분에영향정도만을파악한후에변환하기때문에기술적으로어려운일이아니다. 단지, 프로그램언어가바뀐경우에는메타블루의기능에전문적인프로그램언어변환툴인메타브릿지 (MetaBridge ) 를통해쉽게구현이가능하다, 20
왼편그림은메타블루를통해자동으로변환한결과를나타낸그림이다. 여기서붉은색 ( 미변환 ) 부분에대하여는이미앞장에서설명한바대로 DB2 자체적인문제, 자동화도구에대한미지원그리고현행시스템에대한미비로변환이안되는경우이다. < 그림 > 데이터베이스 / 프로그램변환결과 데이터베이스및프로그램자동분석단계 < 그림 > 데이터베이스및어플리케이션분석화면 메타블루에서자동으로지원되는분석산출물은 30-40 종이된다. 즉, 마이그레이션지 원 (Migration Assistant) 기능으로다음과같다. 21
시스템의복잡성과연계성에대한다이아그램정보 테이블및필드에관련된뷰 스키마개체, 데이터그리고오라클의 PL/SQL이나각종표준데이터베이스의 SQL 로작성된 Procedure, Function, Package, View, Trigger 등다양한정보를제공한다. 마이그레이션영향분석 (Impact analysis) 을통해시스템의위험상태를사전에감지하는정보를제공한다. 비즈니스로직흐름도를제공하며, Java 프로그램사용자에게쉽게이해할수있는다이아그램 (UML, Unified Modeling Language) 을제공하고있다. (Call Diagram, Sequence Diagram, 등 ) 메트릭스정보를제공하여시스템의연관성과사용도를파악할수있다. 데이터베이스및프로그램변환전 / 후비교 < 그림 > 데이터베이스 / 프로그램변환전 / 후소스코드비교 위그림은프로그램안에들어있는 SQL 문과프로그램의변환전 / 후를살펴보는화면이 다. 이를통해사용자는변환과정에대하결과치를확인할수있다. 22
8. 메타블루작업절차 오라클을비롯한표준데이터베이스를 DB2로마이그레이션하는작업은그리쉬운작업은아니지만그동안 IBM과끊임없이준비해온결과그동안 IBM 자체마이그레이션솔루션인 MTK의주요기능과사용자의작업환경에쉽게적용이가능하며, 수작업부분을최소화하여비용을절감하는작업을거치는과정에메타블루제품은어느새많은지적노하우가축적이되어데이터베이스전문가에의존된기능을점차적으로자동화툴이대체하게되어매우낙관적으로판단하고있으며, 향후많은사이트를성공적으로마침으로더욱마이그레이션에대한자동화도구에대한긍정적인평가를기대하게되었다. 박성희 Sunghee, Park (@migration_club) 공식블로그 (@mmcmobile) 기획팀팀장 ( 주 ) 메타마이닝 Mobile ) 010-3027-0354 e-mail ) psh@metam.co.kr Address) 서울시성동구성수 2가 3동 277-25 브랭땅빌딩 9층 Tel ) 02-462-5901 Fax ) 02-462-5903 www.metam.co.kr 23