- 창조컨버전스를이끄는기술리더로서의아키텍트역량과비전 Track 3, Session 7 Open Source Software 기반의 Reference Architecture Model 2014. 07. 17 박상우연구소장, 최재희과장 kt ds TS 센터 SW 개발연구소 www.ktds.co.kr Copyright 2014 kt ds. all right reserved.
목차 I. 개요 1. 개념 2. 오픈소스동향 3. 목표 & 전략 4. Case Study II. kt ds OSS Reference Architecture Model 1. kt ds OSS Reference Architecture Model(RAM) 정의 2. OSS RAM 구성 3. OSS RAM Architecture 4. OSS RAM Component 1) OSS Policy Governance 2) Organization 3) Hunting 4) OSS Stack 5) Repository 6) Support 7) Change Management 5. 활용체계 6. 실적및기대효과 7. 발전방향 [ 별첨 1]. kt ds OSS Stack 개념도
1. 개념 Ⅰ. 개요 Low-Cost High-Performance IT 서비스제공을위하여 Open Source Software( 이하 OSS) 기반으로 Application 을개발하고유지보수를할수있는 Reference Model 을정의함 Open Source Software 기반의 Reference Architecture Model IT Service Consulting Maintenance Development Infrastructure Cost Process People Organization Technology Culture Quality 2
2. 오픈소스동향 - 대외 Ⅰ. 개요 최근몇년간전세계적으로 OSS 의발전과확산이매우빠르게이루어지고있으며, 이로인한 OSS Business 의복잡한생태환경이만들어짐 OSS 연평균매출 OSS 프로젝트건수 OSS : Open Source Software [* 단위 : 백만달러 ] 1,390 1,730 2,932 연평균 22.4% 3,929 4,872 5,895 7,015 8,067 [* 단위 : 프로젝트건수 ] 250,000 300,000 350,000 950,000 2,000,000 2006 2007 2008 2009 2010 2011 2012 2013 출처 : IDC Consulting Estimate, 2011 2006 2008 2010 2012 2014 출처 : Black Duck 2013 Knowledge Asset 연평균매출은매년 22.4% 증가하고있으며, 2014 년프로젝트건수는 2012 년대비 110.5% 증가하여 200 만건으로예상 초기구축비용절감 기술지원부족 Cloud 컴퓨팅확대 제품완성도부족 OSS 장점유지보수비용절감 OSS 단점 OSS간호환성문제 Fast, Flexible Development 기술종속성탈피 라이선스준수 3
2. 오픈소스동향 - 내부 Ⅰ. 개요 Open Source Software 장점으로인한시스템별적용이확대되었지만개별진행으로인한 Silo effect 가발생함 OSS 적용주요사례 OSS 적용현황 사례 1. MVNO 영업전산 ( 신규구축 ) PPAS 기반신규구축으로클라우드기반 DB 이중화 영업전산시스템이라는 Mission Critical 한시스템에대해최초로 PPAS 를적용 OSS 적용현황 단위 : 시스템수 ( 비율 ) 사례 2. 올레맵 (DB 전환 ) 오라클에서 PPAS 로성공적으로전환 트래픽이많고복잡한 GIS 로직이많은사례 사례 3. ktds SMARTFramework( 신규구축 ) OSS 를활용한 Java 기반통합프레임웍개발 현재 2.0 고도화를통해업그레이드수행중 고객만족도분석 (DB 전환 ), 클라우드 NMS( 신규구축 ) 등다양한적용사례 OSS 영역별수행범위 개발팀 Infra Tools & Application Framework Middleware Database Operating System 각프로젝트별로 OSS 도입및관리를독립적으로수행 출처 : kt ds 내부, 2014 년 5 월기준 현장 프로젝트 A 프로젝트 B 운영시스템 C OSS Hunting, Profiling 중복수행으로인한커뮤 니케이션 Noise 및생산성저하 OSS 적용 선정 분석 평가 선정 학습 분석 선정 학습 문제 위험 다양한 OSS 사용으로인한조직의역량분산 4
3. 목표 & 전략 Ⅰ. 개요 전사 OSS 기반 IT Service 지원체계를마련하여생산성향상, 역량향상및 TCO 절감을추구하는 Cost-Performance 형 Software Foundry 비전을달성하고자함 Cost-Performance 형 Software Foundry TCO와 ROI를고려한선택과집중전문영역확대 OSS 기반 IT Service 지원체계 Policy Governance Process of utilization OSS Stack Organization 라이선스정책 선정프로세스 카탈로그 감사 / 검수 / 통제 품질정책 사용프로세스 메타정보 POC 및기술지원 검증 / 평가정책 지원프로세스 Best Fit Set 전문가그룹확보 현장활용정책 변화관리프로세스 레파지토리 개발 / 컨설팅 / 교육 OSS 관리체계와운영, 방향등전사관점의지원체계를일관성있고효율적인정책으로제공 OSS 의관련라이프사이 클을정형화하고, 오픈소 스도입과활용을명확한 프로세스로실행 선정된 OSS를주요특징별로구분하고, 사내 / 외전문지식과노하우를시스템화하여현장의도구로제공 OSS 가상 / 정규조직으로운영하고, 운영 / 기술 / 컨설팅등으로전문화하고현장중심의지원및전문가양성 5
4. Case Study(1/1) - HP Ⅰ. 개요 HP 사는비즈니스성과를위한오픈소스지원서비스및컨설팅서비스제공을위한모델을정립하였음 출처 : HP Solution World 2007 6
4. Case Study(2/2) - TCS Ⅰ. 개요 TCS 는역량을집중할수있는 OSS 핵심영역을지정하여프로젝트자문, 구축및지원서비스를제공하고있음 자문 기술평가 & 선택 아키텍처컨설팅 성숙도평가 오픈소스 COE 셋업 구축 Application 포팅 마이그레이션 POC 구축 테스트 지속 지원서비스 업그레이드 출처 : TCS 제공자료 (2014) 7
1. kt ds OSS Reference Architecture Model 정의 Ⅱ. kt ds OSS RAM kt ds OSS Reference Architecture Model( 이하 RAM) 이란? 회사사업전략에맞춰 OSS 를발굴하고전문화하여, 현장에서요구하는 Open Source Software 를제공하고, 기술지원을하는통합관리 / 지원하는체계를말함 Company Project Customer 신규사업경쟁력강화 OSS 기술력대외홍보 개발생산성향상 기술지원및문제해결 인프라 SW 비용절감 검증된 OSS 인프라확보 OSS Reference Architecture Model Governance 조직 OSS Stack 지식공유 Repository 라이선스검토, 제품평가 발굴 Monitoring Middleware OS / DB System Infra. 지원 ( 프로젝트 ) 기술지원 Mgmt. Lifecycle Dev. Toolset Framework App. Dev 문제해결 지원 ( 유지보수 ) CRM.. 그룹웨어 전자결재 Biz. App Change Management 8
2. OSS RAM 구성 Area Ⅱ. kt ds OSS RAM kt ds OSS RAM 은 7 개 Area 로구성되며 Policy, Organization, Hunting 하는 OSS Stack 기반을마련하는분야와 Repository, Support, Change Management 의 OSS Stack 을활용하는분야로되어있음 기반 kt ds OSS RAM 구성요소 Policy Organization OSS Stack Hunting OSS Policy OSS 체계, 지원범위, 지원채널및조직등 OSS 사업구축및운영에필요한정책을구성하고체계화하는영역 Organization OSS 의통합관리 / 지원체계를수행하기위해거버넌스및하위의기술지원조직을운영하는영역 Hunting 사업구축및운영에필요한최적의 OSS 를선정및분석하여지식화하는영역 OSS Stack kt ds 의표준 OSS 의논리적인분류체계뿐만아니라 Knowledge 및전문역량까지포함된영역 활용 Change Management Support Repository Support Repository 선정된 OSS Stack 의정보가통합관리되고, 공유 / 활용하기위한물리적저장소영역 OSS Stack 을현장에적용하기위해현장의기술요청, 문제해결, 교육등을체계적으로관리하고지원하기위한영역 Change Management 현장프로젝트성과를반영하여 OSS Stack 을현행화하고 Best Fit Set 등개선을위한영역 9
3. OSS RAM 구성 Component Ⅱ. kt ds OSS RAM OSS Reference Architecture 는 7 개의 Architecture Area( 프로젝트제외 ) 와하위 36 개 Architecture Component 로구성되어짐 Policy Hunting OSS Stack Support OSS 관리체계구성 지원방안, 범위및프로세스수립 Core 솔루션선정및정책 현장 / 사외지원채널정책 역량확보계획 (CDP/ 교육 ) 조직구성정책 반영 요구기능및타당성조사 환경, 라이선스및기능분석 사내외지원커뮤니티정보파악 채택 Business Application Development Middleware Infrastructure Support Tools 활용 OSS Repository 온라인지원 COE 기술지원 반영 가상조직운영 (OSS 지원 ) 정규조직운영 반영 Organization CoE 운영 ( 사내전문가 ) 투입 POC ( 설치및테스트 ) 검증및평가 ( 기능, 보안, 성능등 ) 리스크분석및대응 Repository 이관및폐기 Profile Tip Competency Repository Guide Competency 사내외사용자커뮤니티 사내 / 외정기 / 비정기교육 Bug & Bug fix 정보알림 Trouble shooting 지원및사례전파 Change Management 선택적용 직 / 간접지원 OSS 현행화대상도출 OSS 현행화현장지원 / 교육 선진사례조사 Project OSS Stack 버전관리 BP 도출 성과측정 Feed back 신규 SI 구축 Migration 제안 & 컨설팅 사내공식화 Best Fit Set 구성 지식공유및전파 적용사례및 OSS lesson learned 성능, Bug & Trouble shooting 적용성과보고 10
4. OSS RAM Component(1/7) Ⅱ. kt ds OSS RAM 1) Policy 전사 OSS 사업을위한전략수립및정책을개발하는 Control Tower 역할을수행하는영역으로서프로세스와 R&R 정의가핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Policy 설명 OSS 관리체계구성 사내지원 OSS 에대한관리체계를수립함 아키텍처참조모델에대한구성요소와관계, 속성을관리 지원방안, 범위및프로세스수립 지원 OSS 에지원정책과프로세스를구체적으로수립 지원대상에대한범위및 R&R 을정의 Core 솔루션선정및정책 지원 OSS 중핵심솔루션을선정하고중점관리하고지원을보 다상세화하고사업및역량확보와연결 현장 / 사외지원채널정책 현장과사외에 OSS 지원을위한채널을지정하고관리주기나 지원원칙을정의 역량확보계획 (CDP/ 교육 ) 지원 OSS 에대한사내역량을확보하기위한 CDP(Career Development Path) 와교육과업무를연계및확보방안개발 조직구성정책 OSS 조직구성과 R&R 을명확히정리하여사내공지 가상조직과정규조직으로구성하고전문가로양성 11
4. OSS RAM Component(2/7) Ⅱ. kt ds OSS RAM 2) Organization OSS 의통합관리 / 지원체계를수행하는거버넌스조직및기술지원조직을운영하는영역으로구분하며현장의 OSS 과제를적기지원할수있도록조직을편제하고운영하는것이핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Organization Virtual Organization COE (Center Of Excellence) Regular Organization OSS Manager Team Leader Team Leader Team Leader Specialists Pool Governance COE - DB, MW COE - AP Etc 기획 인사 DB WAS FrameWork AP 프로젝트, TF, 사무국등파트타임형태로지원 비정기및적은규모의사내선정 OSS에대한지원조직 신규 & 역량이성숙하지않은사내선정 OSS에대한거버넌스, 현장지원및온라인지원을담당 전사 OSS 전문가 COE 구성 정기및상시적용분야의사내선정 OSS 에대한정규지원조직 현장지원및온라인지원을담당 PPAS, Jboss, Application Framework. PMD, CI 등 12
4. OSS RAM Component(3/7) Ⅱ. kt ds OSS RAM 3) Hunting 사업구축및운영에필요한최적의 OSS 를선정및지식화하는영역으로현장의요청및대내외사업전략에따라타당성분석및 POC 를수행하여요구사항과의 GAP 을명확화하는것이핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Hunting 설명 요구기능및타당성조사 현장요구분석후수용 / 대체가능한 OSS 대상추출 추출대상의사업전략 / 기술 / 활용도등방향성및타당성조사 환경, 라이선스및기능분석 대상 OSS 의제공환경, GPL 등라이선스, 기능에대한상세분석 요구사항과대상 OSS 간 GAP 파악 사내외지원커뮤니티정보파악 POC ( 설치및테스트 ) 검증및평가 ( 기능, 보안, 성능등 ) 대상 OSS의기술지원범위및추가비용, 사내전문인력, 사내외지원커뮤니티및버그, 기술지원동향파악 분석기능에대한실제 POC 적용및문제점파악 기능성, 완성도, 편의성, 안정성등테스트 기능및비기능 ( 품질 ) 에대한 GAP 수용범위예측 / 검증및평가 현장요구수용가능성, 향후활용도및지원정도평가 리스크분석및대응 현장요구와의 GAP 에따른리스크대응방안도출 솔루션지원방안상세화및해당 OSS 전문역량확보방안계획 Repository 이관및폐기 kt ds OSS Stack 반영및 Repository 이관또는폐기 POC 검토이력 Reporting 13
4. OSS RAM Component(4/7) Ⅱ. kt ds OSS RAM 4) OSS Stack 표준으로선정된 OSS 의논리적인분류체계뿐만아니라축적된전문역량까지포함한영역으로서현장의 OSS 전문지식을축적해나가는것까지를포함한것이특징임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 OSS Stack Portal, CMS, Business Process, BI 등협업 / 업무생산성등 Business Package 솔루션관련 SI 개발시필요한기반기술, UI, 모바일및라이브러리 DB, WAS, Web Server, Integration 등솔루션 Business Application Development Middleware jbilling, Liferay, Pentaho, jbpm, OpenSSO, Alfresco 등 Spring, Spring Batch, Apache CXF, mybatis, Hibernate, jquery, jqgrid, jcharts, Node.js, PhoneGap, jquery Mobile 등 PPAS, PostgreSQL, Hadoop, MongoDB, Jboss, Tomcat, Apache, Nginx, ActiveMQ, OpenESB 등 Support Tools StarUML, Amataras UML/ERD, Eclipse, Junit, Mock PDM, Maven Jenkins, Redmine, SW Development Life Cycle, Quality, Management 등프로젝트지원을위한솔루션 Subversion 등 OS, Cloud, Network, Monitoring 솔루션 Infrastructure CentOS, KVM, Xen, Ganglia, OpenNebula, Open vswitch, SSH 등 내재화된전문역량 별첨 1. kt ds OSS Stack 개념도참조 14
4. OSS RAM Component(5/7) Ⅱ. kt ds OSS RAM 5) Repository 선정된 OSS Stack 의전문정보를통합관리하고활용하기위한물리적저장소 ( 시스템 ) 영역으로일반적인기능정보뿐만아니라사내전문가정보및현장에서축적된 Trouble shooting 및적용사례등현장활용도가높은정보를제공하는것이핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Repository OSS Information 기능점검결과서 성능 / 보안체크및결과서 관련커뮤니티정보 관련적용사례 설치 / 사용가이드 FAQ Add-On 모듈정보 Bug/Bug fix 정보 현장프로젝트 Lesson Learned Trouble shooting 정보 교육과정정보 유관 OSS 정보 사내전문가정보 15
4. OSS RAM Component(6/7) Ⅱ. kt ds OSS RAM 6) Support OSS Stack 에대한현장의요구사항, 이슈, 문제해결, 역량교육등을체계적으로지원하기위한영역으로현장의어려움을신속하게해결하고문제해결역량을전파하는것이핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Support 설명 OSS Repository Knowledge 사이트 OSS Stack 자료실을통한 OSS 정보제공 환경분석정보, 가이드, Download 등제공 온라인지원 ( 전문가 Q&A 및사이버컨설팅 ) Knowledge 사이트 kt ds Open Source Group COE 기술지원 현장사업에전문가투입을통한직접지원 Virtual 조직투입을통한조직유연성확보 사내외사용자커뮤니티 문제해결및전문역량확보를위한사내외커뮤니티제공 사외주체가운영하는각커뮤니티사이트정보제공 사내 / 외정기 / 비정기교육 OSS 전문역량확보를교육과정서칭및개설 교육과정개발및실시 Bug & Bug fix 정보알림 유관사업현장에 OSS Bug & Bug fix 정보주기적전파 Bug 관련유의및대응방안제시 Trouble shooting 지원및사례전파 Bug 및에러에대한 Trouble shooting 지원 Trouble shooting 이력및 Case Study 전사전파 16
4. OSS RAM Component(7/7) Ⅱ. kt ds OSS RAM 7) Change Management 현장프로젝트성과를 OSS Stack 에반영하여현행화하고개선하는영역으로현장과의커뮤니케이션과사례검증을통해 OSS Stack 의버전관리와 Best Fit Set 을구성하고, OSS Stack 을지속적으로발전시키는것이핵심임 정책 변화관리 조직 OSS Stack 지원 발굴 저장소 Change Management 적용 Process OSS 현행화대상도출 OSS 현행화된정보전파 선진사례조사 OSS 현행화대상도출 OSS Stack 버전관리 BP 도출 성과측정 현장사례분석, 기술동향파악 유지관리대상 OSS 도출 영향도분석및적용가능여부파악 사내공식화 Best Fit Set 구성 지식공유및전파 Best Fit Set 구성 OSS 현행화수행 현장사례 Project A Framework Set 1 JBoss Project B Framework Set 2 Weblogic Project C Framework Set n JBoss PPAS Mysql Oracle 활용성범용성 Best Fit Set Packaging Nginx JBoss Spring jbpm PPAS Liferay JBoss jbilling SmartFrame work 표준 Cloud Setting, Guide, Trouble shooting 등 Packaging 정보문서 Profiles 정보수정 기능점검및아키텍처점검 관련 OSS 정보변경 재평가및등재 ( 버전업그레이드공표 ) OSS 현행화현장지원 버전업그레이드에따련현장적용계획수립 현장 OSS 패치 / 수정가이드및설명회 eg. OpenSSL 취약점전파 / 해결책공유 17
5. 활용체계 Ⅱ. kt ds OSS RAM 사업을수행하는현장에서 OSS RAM 을활용하여과업을보다성공적으로수행할수있음 현장인력 1 현장의 OSS 요구사항이식별되었는 가? 3 현장의 OSS Stack 에필요한컴포넌 트를스스로활용할수있는가? Repository OSS Stack Best Fit Set 2 현장의요구사항이맞는솔루션이 OSS Stack 에있는가? Yes 4 관련 OSS 교육및커뮤니티가있는 가? OSS Stack 교육 / 세미나 OSS Stack Online Channel 5 관련조직의 Support 를받을수있 는가? Organization Support OSS Stack No 6 OSS Stack 에대한추가나수정이필 요한가? Hunting Change Management 18
6. 실적및기대효과 Ⅱ. kt ds OSS RAM 상용솔루션의오픈소스전환을통해개발 / 유지보수비용을절감할뿐만아니라, 10~60% 의성능향상효과를보고있으며, OSS RAM 의통합관리체계의제공으로현장의개발생산성향상및대내외사업경쟁력을강화함 1 현장개발생산성향상 2 기술지원및문제해결 OSS Stack 지식을활용신속한개발환경구축 신뢰도높은설치 / 환경구성 / 활용가이드제공 현장에최적화된맞춤형개발 Tools 제공 Shared Service 를통한지식공유활성화 표준 Process 를통한 OSS 적기도입및적용 사내전문가 Pool 구성및기술지원채널제공 3 구축및운용비용절감 4 대 내외사업전략지원 상용 SW 대체위한 OSS Line-Up 및기술내재화 축적된기술 / 경험으로대외사업원가절감 상용 SW 전환 / 대체를통한 License 비용절감 OSS 기반 Biz. Solution(BSS/OSS) 경쟁력강화 지식공유 / 재활용으로내부인력전문화 교육 / 컨설팅등비즈니스영역확대 19
7. 발전방향 Ⅱ. kt ds OSS RAM OSS Stack 영역의전략적 Focusing 을통해오픈소스비즈니스에코시스템을확산하여 OSS 생태계와더불어성장하며, ICT Convergence Service 를통해고객에게 Business Intelligence & Insight 를지속적으로제공함 OSS 생태계 Project Vendors Project Partners Developers OSS Project OSS Community Cloud ICT Partner 성장고도화 OSS 기반의 Service 시장리더 OSS SaaS 기반의 IT 서비스구축 / 운영 OSS Service 역량강화 OSS 통합지원체계확립 핵심 OSS 기반신규사업추진 전문역량내재화및적용 OSS 기반의 IT Service Provider OSS 에코체계강화 OSS Project 개설및참여 OSS 산학협력추진 OSS 기반의 IT Service Leading 20
[ 별첨 1]. kt ds OSS Stack 개념도 Lifecycle Management 주력 OSS 지원 OSS 정규팀 N/W Management IDE & Web Dev Build Management Continue Integration Automatic Test Version Control Project Management Business Analysis SNS Diaspora StatusNet Accounting FrontAccounting Gnucash Pacakaged Application Integration Application Framework & Library Middleware Database & NoSQL Monitoring Datacenter & Cloud ecommerce Wiki Blog CMS&ECM CRM ERP Portal BI BPM Identity App Server ESB MQ Integration Cluster Magento Spree Confluence xwiki Roller Pebble Movable Type WordPress Joomla Drupal Magnolia Alfresco Plone Typo3 Sugar CRM Centric CRM OpenCRX VTiger Compiere ERP OpenBravo ERP xtuple OpenERP Liferay JBoss Portal Pentaho JasperReport JBoss jbpm INTALIO BPM OpenDS Open SSO Three.js Bootstrap jchart Boost ibatis Hibernate Node.js PhoneGap jquery Sencha Touch Spring Security Apache CXF Spring Seam Struts Grails JBoss Glassfish Tomcat Geronimo Mule ServiceMix WO2 ESB OpenESB ActiveMQ JBoss Message Rabbit MQ HornetQ Spring Integration Meta Matrix Terracotta Continuent MongoDB Couchbase Neo4j Riak Hadoop Cascading & Scalding Redis Cassandra MySQL & MariaDB Db4o SlyeepyCat PostgreSQL Nagios Ganglia Ceph FreeNAS Openfiler Opennebula CFEngine Slack Open vswitch Cloud Foundry Chef JuJu GlusterFS JClouds Openqrm Qlusters Zenoss Hyperic Eclipse jedit Code Blocks Netbeans Maven Maestro LuntBuild Cruise Control Hudson & Jenkins OCafe JUnit Selenium Test Link Subversion CVS Git Mercurial Trac Redmine Jude & StarUML Freemind OpenStack CloudStack Puppet NAS4Free Eucalyptus Ganeti OS REAL Suse Enterprise Open Solaris Ubuntu
End of Document