Application Upgrade, Migration 수행방안
+1 현재운영중인애플리케이션을변경없이그대로마이그레이션 동일한비즈니스결과를제공하는다른 App 이나 SaaS 서비스를사용 새로운플랫폼에서동작할수있도록애플리케이션을수정 호환성문제를해결해줄수있는기술을사용 가장최신버전의애플리케이션으로업그레이드
Risk 100 80 60 40 20 Cost 100 80 60 40 20 Big Bang 식시스템개발 점진적반복적지속적 시스템개발 Big Bang 비교점진적 / 반복적 / 지속적 단기간에많은비용투자중단시회수불가 비용 장기적으로분산투자가능중단시손실이최소화 제한적인 Skill-up Skill 지속적인 Skill-up 가능 비즈니스 /IT 의급변화에대처하기어려움유연성비즈니스 /IT 환경변화시, 위험대처에유연함 단기간의프로젝트성개발기간중장기에걸친지속적인개발
소규모의, 일부응용프로그램을우선목표로한다 PoC(Proof of Concept) 를통해서작은규모로시작 새로운기능배포 빅뱅방식으로한번에모든문제를해결하려고하지말라 시작단계.NET 응용프로그램아키텍처를검토한다.NET Framework 의장점을활용한다 한번에하나의응용프로그램을마이그레이션한다 수평적접근 ( 사용자인터페이스혹은중간계층 ) 수직적접근 ( 응용프로그램처리단위 ) 기존코드를재사용한다 ( 적절한경우 ) 서드파티컴포넌트와컨트롤문제및호환성이슈를검토한다
이슈 수평적혹은수직적마이그레이션수행 As-is 상태의마이그레이션혹은재설계 단위테스트, 배포관리, 모니터링등권장되는추가적인사례들을수용 COM(Component Object Model) 상호운영성및컴포넌트마이그레이션 예외처리 네이티브 API 호출 응용프로그램구성설정 방안 분석, 진단을통해서수평혹은수직전략을결정 목표시스템및그밖의핵심요소들을파악 마이그레이션과정에신뢰할수있는요소들을적용하고프로그램의생명주기관리에있어권장되는방안의사용을검토한다 COM 컴포넌트를.NET 기술로빠르게전환한다. 3 rd Party 컴포넌트혹은컨트롤검토 응용프로그램프레임워크 ( 예, Microsoft Enterprise Library) 의예외처리블록을활용 업계에서검증된상용프레임워크의도입을검토.NET 코드에서기존네이티브 DLL 에서가져와진함수들을호출 비헤이비어를갖는응용프로그램의기능성을분리
비용 점진적, 반복적, 지속적 1 Infra. 구축 업무개발 2 업무개발 3 업무개발.. N 업무개발 시간 운영 구분 Infra. 구축업무개발 조직 개발프레임워크기반의개발역량강화 ( 기초 ) 형상관리교육 개발프레임워크기반의개발역량강화 ( 심화 ) 프로세스시스템개발표준및절차수립표준및절차감리 기술 개발프레임워크구축형상관리환경구축 공통모듈버전업
생명주기구현단계들 배포 솔루션배포사용자교육 ( 지식전달 ) 성능테스트기능테스트 구현 동등한기능부분에대한유효성검사수용 (Acceptance) 테스트 도구기반의마이그레이션지원되지않는이슈해결단위테스트수행불필요한코드정리최적화 ( 성능, 보안, 리뷰 ) 새로운요구사항구현 분석및준비 새로운요구사항을수집하고범위를선정한다수용조건을정의한다 마이그레이션을위한코드준비마이그레이션도구사용자정의테스트케이스준비 평가, 진단 기초데이터수집도구기반의분석목표아키텍처에대한이해마이그레이션전략결정 ( 컨설팅자문을통해혹은도구를통해서 ) 견적작성 마이그레이션을위한코드준비마이그레이션도구사용자정의테스트케이스준비 0% 100% 내부노력 % 외부지원 %
조직개발인프라 Application Apps Apps 준비.NET 교육 아키텍처검토 / 기존개발표준 기존 Source 분석 설계및표준화 형상관리교육 아키텍처표준개발표준초안 형상관리 / 팀사이트구축 재사용 Util 도출플랫폼변환 * 선택적수행 개발 FX 교육 개발 FX 구축 ( 도입 ) FX 적용 적용 Pilot 을통한 Skill Up 개발표준수립및 Pilot Tier 분리 App 개발 반복 반복 템플릿구축 Base Class 생성 코드분석 / 버그리포트 확산 / 안정화 템플릿활용교육 템플릿가이드작성 App 안정화 코드분석계획 / Rule 정의 App 고도화
분석및준비 진단 Windows Form Web Form User Presentation User Presentation Business Logic Data Access Logic Line of Business App 1 Proxy DCOM/COM+/RDS Business Logic Line of Business App 1 Biz Entity DataSet Data Sources Data Access Logic Data Sources Business Object Biz Entity DataSet Web Services Data Access Component Data Sources
1. 재컴파일없이런타임만변경해서실행 2. Visual Studio 2013를이용한자동업그레이드및재컴파일 Visual Studio 2005, 2008 등을사용하여개발된솔루션 Visual Studio 2013에서솔루션을열어서업그레이드수행 새로운버전의 MSBuild(Microsoft Build Engine) 형식으로변환 일부코드나구성을수동으로변경해야할수있음 3. 솔루션 ( 프로젝트 ) 재구성및코드이전 ( 및개선 ) 아키텍처의재설계도고려 최신제공되는효율성높은기법도입검토 추가요구사항반영하여연계개발하는것이권장됨
1. 재컴파일없이런타임만변경해서실행 2. Visual Studio 2013를이용한자동업그레이드및재컴파일 Visual Studio 2005, 2008 등을사용하여개발된솔루션 Visual Studio 2013에서솔루션을열어서업그레이드수행 새로운버전의 MSBuild(Microsoft Build Engine) 형식으로변환 일부코드나구성을수동으로변경해야할수있음 3. 솔루션 ( 프로젝트 ) 재구성및코드이전 ( 및개선 ) 아키텍처의재설계고려 최신제공되는효율성높은기법도입검토 추가요구사항반영하여연계개발하는것이권장됨 v 2.0 이상추천 v 1.X 추천
예 ) 재컴파일없이런타임만변경후실행확인 Config 파일변경 <configuration> <startup> <supportedruntime version="v4.0" /> </startup> </configuration>.net Framework 버전 Version 문자열 4.5 (4.5.1 및다른꼭짓점릴리스포함 ) v4.0 4 v4.0 3.5 v2.0.50727 2.0 v2.0.50727 1.1 v1.1.4322 1.0 v1.0.3705
Visual Studio 2013를이용한자동업그레이드권장 IIS 6 구성호환성설정 system.web 섹션의 compilation에 targetframework 특성추가 <compilation targetframework="4.0"> 참조링크 http://msdn.microsoft.com/ko-kr/library/vstudio/dd483478(v=vs.100).aspx
각업체의호환성문서및 Workaround 를검토 Infragistics.NET Advantage DevExpress Dxperience
각업체의호환성문서및 Workaround 를검토 Infragistics.NET Advantage DevExpress Dxperience
업그레이드사례
K 항공사 2013년 Big-Bang 스타일의마이그레이션수행 ASP.NET 2.0 ASP.NET 4.5 SmartClient Upgrade : v2.0 v4.5 VS 2005 VS 2012 Web Service WCF & Web API 연계 항공예약애플리케이션등 H 그룹 포털 2012 년 5 월 ~ 11 월 ASP.NET 1.1 ASP.NET 3.5 VS 2003 VS 2010 웹표준화작업병행 Hanway 포털게시부문 (19 개사 21 개 site) (3,300 여본 ) COM+.NET (System.Transactions) NeoDEEX 개발프레임워크기반미들웨어재구성 N 금융회사 2011 년 3 월 ~ 5 월 ASP.NET 1.1 ASP.NET 3.5 VS 2003 VS 2010 MIS, 채권관리등 (2,000 여본 ) COM+.NET (System.Transactions) NeoDEEX 개발프레임워크기반미들웨어재구성 H 중공업 적용방법 SmartClient 개발프레임워크도입 현대중공업전사개발프레임워크로재구축컨설팅 개발표준, 개발 Pattern/Template 정리 전사의.NET 프로젝트에단계적으로적용
K 연구원 2010 년 10 월 ~ 12 월 ASP.NET 1.1 ASP.NET 3.5 VS 2003 VS 2010 IIS 5.0 IIS 7.5(64bit) SQL 2000 SQL 2008 R2 (64Bit) MIS, 그룹웨어, 연구관리, 시험관리, 포탈등 (6,000 여본 ) 직원마일리지제도신규구축 SmartClient 관리자프로그램 : NeoDEEX 기반 I 대학병원 VB 4.0~6.0 까지시스템을업그레이드하며사용 (2Tier C/S) Cache DB (Object DB) 전용 OCX 를이용한 Data 조작적용방법 VS2010 RC, VBUC 를이용한 POC VBUC 를이용한플랫폼변환 : VB6.0 -> c# 개발프레임워크적용 : SmartClient 환경 Tier 분리 : ADO.NET 기반의 n-tier 환경 (WCF) 자동차관련연구소 직원 500 여명, 전산지원인력 7 명.NET 2.0 SmartClient 자체개발후시험운영중컨설팅시행적용방법 SmartClient 개발프레임워크도입 개발프레임워크의최적화 Pilot 을통한개발 Infra 안정화, 개발 Pattern/Template 정리 내부업무시스템을단계적으로구축후 Global 확대진행중 ( 자체인력 2~3 명 ) 자료제공 :
.NET Upgrade 진단및수행기간 ( 예시 ) 자료제공 : 본업그레이드기간예시는 ASP.NET 기반의약 2000 본을대상으로업그레이드한결과입니다. 주 ) Database 및시스템업그레이드기간을제외한순수소스코드업그레이드기간입니다. 고객인터뷰 ( 진단방향설정 ) 업그레이드대상선정 ASIS 분석 TOBE 요건정의 TOBE 샘플링 CodeChanger Rule 작성 업그레이드소스변환 테스트 예상소요기간 : 2 일투입인원 : 1 명설명 : 고객과시스템을진단하기위한인터뷰를진행 예상소요기간 : 3 일투입인원 : 1 명설명 : 고객과대상선정을위한인터뷰를진행 예상소요기간 : 2 주투입인원 : 1 명설명 : 고객과시스템을분석을위한인터뷰, 소스코드분석진행 예상소요기간 : 1 주투입인원 : 1 명설명 : 고객과 TOBE 요건정의를위한인터뷰진행 예상소요기간 : 2 주투입인원 : 1 명설명 : TOBE 샘플링후업그레이드보고서작성 예상소요기간 : 3 주투입인원 : 개발자 1 명, 컨설턴트 1 명이하의과정은도구를사용할경우에만이과정이포함됩니다. 예상소요기간 : 1 개월투입인원 : 개발자 2 설명 : 수작업비율에따라개발자투입인원이달라질수있음 예상소요기간 : 1.5 개월투입인원 : 현업테스트 3 명, 개발자 2 명 설명 : 전체시스템규모에따라현업의참여도에따라테스기간20산정가능 업그레이드컨설팅컨설턴트약 1.5MM 업그레이드프로젝트개발자약 4MM 컨설턴트약 0.5MM
마이크로소프트어플리케이션 Upgrade 무료진단프로그램 목적 고객의성공적인어플리케이션업그레이드을위해필요한사전현황파악및적용범위, To-Be 로드맵정의 적용대상 2015 년상반기.NET 업그레이드추진고객.NET 1.x, 2.x 로구축된어플리케이션운영고객 수행방법 고객 /MS 간사전미팅 ( 일정, 범위, 상호참여인원, 준비사항 ) 협의 고객 Readiness 확인및점검 업그레이드진단활동수행 ( 인터뷰, 아키텍쳐리뷰, 리포팅, 등 ) 업그레이드진단결과브리핑 수행기간 5 일 ( 수행기간은고객및기타상황에따라조정될수있습니다 ) 문의처 마이크로소프트담당영업대표