빅데이터플랫폼 Flamingo 를통해알아보는성공적인오픈소스비즈니스비법 빅데이터개발본부 김병곤상무
GPL 라이선스인 Ghostscript 를한컴오피스에내장 GPL 라이선스위반 Ghostscript 개발사인 Artifex 가소송 소송에서패소 ( 협의만남음 ) 여전히한컴은소스코드를 공개하지않음
오픈소스 (open source) 는소프트웨어의제작자의권리를지키면서원시코드를누구나열람할수있도록한소프트웨어혹은오픈소스라이선스에준하는모든통칭을일컫는다. Wikipedia http://korea.gnu.org/documents/copyleft/osd-korean.html
애플리케이션및서비스등을개발할때 사용할수있는무료라이브러리!!
저작자입장에서오픈소스란무엇인가? 개발의즐거움 공유 ( 나눔 ) 의즐거움 의미있는오픈소스
오픈소스를좀더다른방향에서본다면? 생태계 나눔 독과점 시장교란자
시간이지날수록해당분야의기술이 OLD 해지면오픈소스가그자리를채운다! 상용소프트웨어는없어집니다. Plumbr - Most popular Java application servers: 2017 edition
오픈소스에대한다른관점에서생각해보기 오픈소스로소스코드를모두공개하면누구나복제해서사용할텐데어떻게먹고살지? 내가만든소스코드를그대로복제해서이름만바꾼다면? 오픈소스라이선스의규정에따라서사용자들은어떤감정을느낄까? Apache, GPL, LGPL, AGPL 등등 소스코드가공개되어있으니커스터마이징이자유로운데이것이문제가될까? 고객사에소스코드를주면서기능을자유롭게추가해서수정했을때 상황에따라서다른제약조건을적용할수없을까? 비영리, 학교등의조직에서는무료, 영리조직에서영리적목적의경우유료 유료인경우과연돈을내기는할까? 오픈소스는꼭코드가대단히잘작성해야하나?
오픈소스라이선스에대해서잠깐알아보기
오픈소스프로젝트시작시개발팀내부의고민거리 Commercial Software 를개발하는회사가 OpenSource 를추진했을때개발팀은오픈소스라이선스를기반으로프로젝트를수행함에있어서다양한고민거리가발생합니다. Subscription vs. On- 개발부터공개하고할것인 Premise 공개시기 가? 커머셜정책 부분유료화, 전체유료화 개발완료후공개할것인가? 에디션 양심 라이센스 내가비즈니스를한다면어떤라이선스를적용하는것이좋을가? 소스코드관리와품질 더많은개발조직오픈소스버전과상용버전의관리표준화
오픈소스비즈니스의핵심 누구나접근할수있게하여일단사용하게만들고 생태계가만들어졌을때돈을받는다 시간마케팅커뮤니티레퍼런스
오픈소스라이선스정책정하기 ( 사례 ; Sencha Ext JS)
오픈소스라이선스정책정하기 ( 사례 ; MongoDB)
오픈소스라이선스정책정하기 ( 사례 ; Spring Framework)
오픈소스를팔기위한전략수립 ( 고객에게어려운점이바로비즈니스핵심포인트 ) 각분야별로고객이어려워할수있는것을도출하고그것을오픈소스와엮에서비즈니스로발전시킬수있습니다. 기술문서, 예제, 버그에대 아키텍처 UI 한대응확산시사용자수 Framework 개발편의성및 API 표준의지원 강력한기능성 개발도구 Infra & Platform 복잡한구성 아키텍처 장애및유지보수 DevTool 다양한개발환경지원 생산성 확성을위한플러그인
오픈소스의파는방법정하기 ( 고객에게어려운점이바로비즈니스핵심포인트 )
오픈소스의파는방법정하기 ( 사례 ; Edition) JBoss Community 업계최고의혁신적인미들웨어기술을개발 WIKI 또는 Forum을이용한지원 안정적인배포판의신속한릴리즈 개인사용자대상 ( 비용을지불하지않고사용하고자하는개인, 교육용, 규모가작은사업자등등 ) 최신기술의적용 Red Hat/JBoss의지원 JBoss Enterprise Bug Fix와 Patch를적용한안정적인바이너리제공 (3개월누적패치사이클 ) 5년동안지원 기업고객대상 기술지원 운영수준의품질을보장하는배포판 다양한환경에서테스트하여성능과안정성을보장 (17 OS, 5 DB, 다양한 JVM)
오픈소스의파는방법정하기 ( 사례 ; Edition) 서비스 JBoss Community JBoss Enterprise 오픈소스 X X 전세계커뮤니티에의한테스트의이점 X X 패치업데이트및서비스팩프로그램 X 보안 Errata 프로그램 Hot Fix 프로그램자동소프트웨어업데이트및경고서비스버그에스컬레이션 (Escalation) 프로세스 X X X X 24x7( 연중무휴, 일일 24 시간 ) 프로덕션지원및상담서비스 X 플랫폼인증및교육인증정의된지원 SLA 및 End-of-Life 정책엔터프라이즈용 Out-of-the-Box 구성 JBoss ON(Operations Network) 포함 JBoss ON 모니터링가능광범위한용도의내 / 외부테스트패치가적용된 JBoss 배포판의재배포 X X X X X X X
오픈소스의파는방법정하기 ( 서비스레벨 ) 구분 Developer Professional Developer Enterprise Production Standard Production Premium 지원시간 월요일 ~ 금요일 9AM~5PM 24X7 월요일 ~ 금요일 9AM~5PM 24X7 응답시간 2 일 4 일 4 시간 1 시간 지원방법웹 / 전화지원웹 / 전화지원웹 / 전화지원웹 / 전화지원
복잡한빅데이터플랫폼아키텍처 데이터수집 / 저장 / 전처리 / 분석 / 시각화 / 관리등의일련의생명주기를다루는빅데이터플랫폼은상당히다양한소프트웨어와복잡한시스템구성을하게됨
국내빅데이터의약 80% 이상이 Hadoop, R 등의오픈소스기반 국내빅데이터의대부분은오픈소스인 R, Hadoop EcoSystem 등을기반으로구축이되어있으며이를운영, 관리, 분석하기위한빅데이터플랫폼을구축하는사업이상당수임 80%
빅데이터플랫폼관리시어려운점 빅데이터플랫폼은오픈소스인 Hadoop, Spark, Hive, R 및상용솔루션의통합으로구성되어있어서상대적으로과거의시스템대비복잡합니다. 플랫폼의복잡도 다양한오픈소스와시스템으로구성되어복잡도가매우높아서유지보수가쉽지않음 많은수의서버로구성된클러스터 많은수의서버로구성되므로운영자가관리하는데어려움을느낌 분산처리 분석작업이여러대의서버에서나누어서분산처리를하므로동작상황을파악하기어려움 다양한오픈소스의활용 R, Hadoop, Spark, Hive 등다양한오픈소스가포함되어있으며에러메시지에대한파악이어려움
빅데이터플랫폼관리를단순화하기위한방안 빅데이터플랫폼은오픈소스인 Hadoop, Spark, Hive, R 및상용솔루션의통합으로구성되어있어서상대적으로과거의시스템대비복잡하므로이를위한최적화된솔루션을제공해야합니다. 플랫폼의복잡도 운영자를위한강력한관리 기능을제공해야함 많은수의서버로구성된클러스터 모든노드의정보를한눈에 볼수있도록하고요약정 보를제공해야함 분산처리 분산처리를하는분석애플리케이션의사용현황을손쉽게관리할수있도록해야함 다양한오픈소스의활용 관점에따라서다른뷰를제 공해야함
Flamingo Big Data Platform 의오픈소스비즈니스전략 Big Data Market Hadoop EcoSytem Big Data Experience UI Usability All In One Dual License
빅데이터플랫폼의분석및성능관리를해결하는솔루션 - FLAMINGO Flamingo 는빅데이터플랫폼의분석및성능관리문제를해결하는유일한솔루션입니다. Realtime Monitoring Topology View Powerful Analysis Integrated View Hadoop EcoSystem 에최적화된다양한성능지표의실시간감시 Hive Query> YARN > MapReduce 에이르는추적 YARN, MapReduce, Hive Query 의상세한성능분석 Hadoop EcoSystem 의파편화된모니터링및관리 View 를극복한통합뷰
Flamingo 는 Apache License 2 라이선스를준수하는오픈소스 Flamingo 는성능관리기능과분석기능이통합되어 3.0 으로다시세상에오픈소스로공개됩니다. Flamingo Big Data Platform 2 Flamingo Big Data Performance Management 3 Flamingo 3
Flamingo 의 Architecture Flamingo 는빅데이터플랫폼의분석및성능관리문제를해결하는유일한솔루션입니다. Hadoop Eco Flamingo Users Collector Repository Database Flamingo Web Browser
다양한 Hadoop 배포판지원 Flamingo 는다양한 Hadoop 배포판을지원하여호환성이뛰어납니다.
Flamingo 의레퍼런스 오픈소스이지만국내많은공공 / 민간기업들이빅데이터플랫폼구축에활용하고있습니다.
다양한관점에최적화된뷰제공 다양한사용자관점에따라서, 모니터링관점에따라서최적화된뷰를제공합니다. SINGLE VIEW YARN/MAPREDUCE VIEW Hadoop Cluster 핵심모니터링지표에대한집중적인모니터링 YARN/MAPREDUCE 핵심관리항목의모니터링에최적화 HIVE VIEW OOZIE VIEW HIVE 핵심관리항목의모니터링에최적화 OOZIE 핵심관리항목의모니터링에최적화
Hadoop Cluster 종합감시를위한전용화면제공 Flamingo 는 Hadoop Cluster 의중요한각종지표를한눈에알아볼수있도록전용화면을제공합니다. 모니터링지표들을통해운영자는빠르고쉽게문제를해결해나갈수있습니다.
대용량데이터를관리하는 Namenode 의핵심지표를모니터링 Namenode 는 Hadoop Cluster 의분산파일시스템인 HDFS 를관리하는핵심서비스로서 Flamingo 는 Namenode 의장애와관련지표를실시간모니터링합니다.
분석애플리케이션을관리하는 Resource Manager 의핵심지표를모니터링 Resource Manager 는 Hadoop Cluster 에서분석작업을수행하기위해서각서버의자원을종합관리하는핵심서비스입니다.
각서버의데이터를관리하는데이터노드의핵심지표를모니터링 Datanode 는 Hadoop Cluster 에서실제로데이터를저장하고관리하고분석작업을실행하는핵심노드입니다.
각노드의 Core, RAM 등의자원을관리하는 Node Manager 의핵심지표를모니터링 Node Manager 는각노드의자원을관리하는핵심서비스로 Flamingo 는분석애플리케이션실행시각노드에배정된메모리및코어를모니터링할수있도록하여자원의최적화분배상황을실시간으로파악할수있게해줍니다.
YARN 의분석애플리케이션모니터링 YARN 은분석애플리케이션의자원을분배하고모니터링하는주요서비스로 Flamingo 에서는관리자가수작업으로관리해야하는대부분의작업을 UI 를통해서관리할수있도록해주어생산성을향상시키고모니터링을가시화시킵니다.
MapReduce Job 모니터링 MapReduce 는분산 / 병렬처리프레임워크로 Flamingo 에서는실행통계, MapReduce Job 상세모니터링을제공하여 MapReduce Job 의문제를파악하고이를시각화합니다.
분산파일시스템관리 Hadoop 의 HDFS 는분산파일시스템으로서 Flamingo 에서는 UI 를통해디렉토리및파일을한번에관리할수있는강력한 HDFS 브라우저를제공합니다.
Hive 모니터링및테이블관리 Hive 는 SQL 을기반으로데이터를분석할수있는 Hadoop EcoSystem 의핵심분석도구로써 Flamingo 에서는테이블용량, 메모리, 테이블 / 데이터베이스를관리할수있는핵심기능을제공합니다.
워크플로우디자이너 Workflow Designer 는머신러닝알고리즘, ETL, R, Spark, Hadoop MapReduce, Hive, Python 등의프로그램을하나로묶어서데이터분석흐름을구성하는디자이너입니다.
워크플로우디자이너 - 데이터전처리모듈탑재 데이터분석알고리즘을통합하여제공하는 Workflow Designer 는새로운디자인이적용되어곧 Flamingo 3.0 에포함될예정입니다.
워크플로우디자이너 - 머신러닝알고리즘모듈탑재 데이터분석알고리즘을통합하여제공하는 Workflow Designer 는새로운디자인이적용되어곧 Flamingo 3.0 에포함될예정입니다.
Apache ZooKeeper 모니터링
Notebook Flamingo 에서지원하는 Notebook 은데이터분석가들이웹기반으로 Python, R, Spark 을이용하여데이터를분석하고관리하는통합분석도구입니다.
Apache ZooKeeper 모니터링 Flamingo 에서지원하는 Notebook 은다수의분석가들이독립적인분석환경을구성하고자하기위해서 Docker 기반의애플리케이션가상화를구현합니다. 이를통해 Spark, R, Python, Tensorflow 등의다양한환경을동시에분석시스템을활용할수있도록지원합니다.
감사합니다 빅데이터본부 김병곤본부장