[113]apache zeppelin 이문수
TRANSCRIPT
가이드페이지-표지
이름: 이문수
소속: NFLabs (aka. ZeppelinX)
Apache Zeppelin 과오픈소스 비즈니스
이문수[email protected]://github.com/Leemoonsoohttp://twitter.com/issuefreakshttps://www.facebook.com/moonsoo.lee.52
NFLabs (aka. ZeppelinX) Co-FounderApache Zeppelin PMC Chair
Zeppelin 프로젝트 시작
AMP Lab Spark/Shark 위에 Peloton 이라는 분석 솔루션 개발
당시 개발자 4명으로는 enterprise business 를 지속 하기 힘들었음
가장 유용했던 인터렉티브 분석 기능을 오픈소스 해보면 어떨까?
2012년 12월
2013년 9월
Hadoop in seoul 2013 컨퍼런스에서 open source 프로젝트로서 Zeppelin 제안-> 아무도 관심 없음
그래도 시작해서 Zeppelin 프로젝트 시작해서 시각화, 스케줄러, 온라인 라이브러리 등 다양한 기능을 만들었지만.. 스스로도 잘 사용안함. 그러던 어느날..
2013년 10월
다시 interactive 형식으로 뜯어 고치고, SQL 뿐만아니라 scala 코드를 직접 실행할 수 있게 함. -> 이 시점부터 첫번 째 사용자 생김
2014년 8월
2014년 8월
Zeppelin community bootstrap
http://apache-spark-user-list.1001560.n3.nabble.com/REPL-like-interface-for-Spark-td15328.html
Spark mailing list 에서 관련 질문에 Zeppelin 추천
Stack overflow 에도 관련 질문에 Zeppelin 추천
2014년 10월, 홍보 시작 1달만에 Zeppelin 을 이용해 서비스를 만드는 회사 발생
2014년 12월, Apache Software Foundation 에서 incubation 시작
Apache 프로젝트가 된다는 것은 ..
소스코드 소유권트레이드 마크브랜드커뮤니티
Zeppelin 프로젝트의 을 Apache 재단으로 이전 함을 의미
Opensource 재단
다양한 오픈소스 재단이 존재
Linux FoundationApache Software FoundationFree Software FoundationMozilla Foundation Python Software Foundation……
설립 목적, 하는 일의 범위등이 조금씩 다르다
“Communityovercode”
Apache Project
Sub project
Incubator
TLP (Top Level Project
New Project
Graduation vote
IncubationProposal / Vote
프로젝트가 Incubator 에 들어오면, TLP 이나 Sub project 로 졸업.가끔 Incubator 안거치고 곧바로 TLP 가 되는 경우도 있음
Incubator 는 TLP 중의 하나로 맨토들이 프로젝트가 ‘Apache way’ 를 습득하도록 도와준다.
Project structure
PMC Chair
PMC (Project Management Committee) : PMC 와 Committer 를 구성
PMC
Committer
Contributor
Board
Board 와 TLP 커뮤니티 연결
Committer : 코드 수정 권한Contributor: 코드, 문서, 홍보, 디자인, 등 프로젝트의 다양한 부분의 기여
TLP
TLP 의 생성/소멸 권한PMC 임명 허가
의사결정
1. 제안2. 토론3. 공감대 형성4. 투표
의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.
‘공감대 형성 -> 투표’ (O)
‘투표 -> 공감대 형성’ (X)
사용자 / 개발자 메일링리스트에서 의사 결정 진행
의사결정
1. 제안2. 토론3. 공감대 형성4. 투표
의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.
‘공감대 형성 -> 투표’ (O)
‘투표 -> 공감대 형성’ (X)
사용자 / 개발자 메일링리스트에서 의사 결정 진행
Apache Project 가 되는것의 가장 큰 장점
Apache 브랜드 사용!
• Apache 2 License• Quality• Standard• Open decision making process
Opensource 프로젝트의 종류
다양한 기준으로 나눌 수 있지만가장 중요한 분류는,
소스코드만 공개 소스코드와 의사결정이 공개
Zeppelin 의 경우
Apache project 되기 전부터 모든 리뷰/토론을 온라인에서 하려고 노력 - 만약 오프라인에서 프로젝트 관련 대화하면 온라인으로 옮겨서 계속하고 결론을 냄 - 원격근무, Flexible time 으로 일하고 있어, 온라인으로만 프로젝트를 진행하는것에 이미 팀 전체가 익숙했었다.
모든 대화는 영어로만
온라인에서 리뷰 없이 Code push 하지 않음
- 팀에 프랑스, 러시아 개발자들이 있어 이미 팀 전체가 영어로만 커뮤니케이션 하고 있어서 자연스럽게 할 수 있었다.
• 사람들이 버그 패치를 제공하는 것 뿐만 아니라• 의사 결정에 참여하고, 새로운 기능을 제안하고 기여.• Zeppelin 이용한 Business 도 다양한 회사들에서 곧바로 시도됨
오픈소스 비즈니스
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
가장 일반적으로 시도된다.
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
조건부 오픈소스 라이센스
예) 학술, 개발, 테스트 목적으로 Apache2 그 외에는 commercial license
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
오픈소스에 추가기능을 붙여 commercial product 로 판매예) 인증, 백업, 장애대응 기능을 사용하려면 엔터프라이즈 버전 구매
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
개인 기부 (Donation) 에 의존 하거나프로젝트 자체 재단(Foundation) 을 만들고기업들로부터 기부를 받는다
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
오픈소스를 그대로 서비스로서 제공
오픈소스 비즈니스
• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption
오픈소스에서 직접 수익을 얻지 않고 Adoption 을 이용하는 다른 product 에서 수익을 만든다.
오픈소스의 기능을 제한하고 비즈니스를 독점할 필요가 없다NFLabs 에서는 다른비즈니스 모델보다 여기에 집중
악순환 vs 선순환
기능제한 / 비즈니스 독점
사용자 감소시장 크기 감소
다양한 비즈니스 허용
사용자 증가시장 크기 증가
ZeppelinHub
2014.12월에 사용했던회사 내부 business slide 중 일부
Zeppelin Notebook 의 공유/협업 환경
ZeppelinHubApache 에서 배포한 Zeppelin 뿐만 아니라 3rd party 에서 배포/서비스 하는 Zeppelin 에서도 모두 ZeppelinHub 사용
ZeppelinHub
. . .
Open Adoption Business
Adoption 을 극대화 하기 위한 전략을 수행
• Leverage Apache Brand• Open decision making• Integration to the other projects• 3rd party business friendly
Integration to the other projects
3rd party business
EMR 에서 Zeppelin 서비스
Azure HD Insight 에서 Zeppelin 서비스
Google cloud data proc 에서 Zeppelin 스크립트 제공
Zeppelin 서비스로 제공
3rd party business
HDP 패키지에 Zeppelin 탑재
Juju 이용해 Zeppelin 을 on-prem/cloud 에 배포가능
분석 인터페이스로 Zeppelin 제공
Datascience workbench 에서 분석 인터페이스로 Zeppelin 제공
Zeppelin 프로젝트 현재
Apache Project Github 레파지토리 별 갯수
1 Spark 10,310
2 PredictionIO 9,665
3 Kafka 3,898
4 Airflow 3,626
5 Storm 3,586
6 Cassandra 3,030
7 Thrift 3,026
8 CouchDB 2,718
9 Mesos 2,622
10 Hadoop 2,401
11 Zookeeper 2,118
12 Zeppelin 2,0272016.10.12
13 Flink 1,637
14 Hive 1,069
15 mahout 922
16 Hbase 896
17 Flume 745
18 Dril 697
19 Arrow 666
20 Geode 629
21 Kylin 620
22 Ignite 583
23 Lucene-Solr 470
24 Accumulo 252
*Data 관련 프로젝트만
Apache Project Github 레파지토리 컨트리뷰터
1 Spark 977
2 Kafka 232
3 Storm 230
4 Flink 230
5 Mesos 211
6 Airflow 192
7 Cassandra 187
8 Zeppelin 153
9 Thrift 126
10 CouchDB 106
11 PredictionIO 99
12 Hive 922016.10.12
13 Hbase 91
14 Hadoop 82
15 Ignite 76
16 Dril 67
17 Accumulo 65
18 Kylin 51
19 Lucene-Solr 50
20 Geode 46
21 Arrow 22
22 Flume 26
23 mahout 23
24 Zookeeper 9
*이전 페이지에 있던 프로젝트들 중
2015, 2016 The best opensource bigdata software!
aka. NFLabs
150 Contributors world wide
누가 기여하고 있을까?
누가 사용하고 있을까?
Contributors Users
150 Contributors world wide
Service provider Technology Integration
Zeppelin 생태계
ZeppelinHub
Open Adoption business
모든 3rd party Zeppelin 배포/서비스에 ZeppelinHub integration이미 탑재ZeppelinHub 의 기능/품질이 일정 수준에 오르면 Hub integration 스위치를 켜도록 유도
성공적인 오픈소스 프로젝트를 만들기 위해서는
프로젝트가 주는 가치
열린 사용자/개발자 커뮤니티
3rd partyprojects/business
오픈소스 프로젝트가 가져다 준것
NFlabs 회사이름
위치 한국 실리콘 벨리 & 한국
투자 Seed (한국) Series A (미국)
컨퍼런스/밋업
서울 서울, 센프란시스코, 산호세, 오스틴, 시애틀 밴쿠버, 시드니, 벨번, 부다페스트, 베를린, 암스테르담, 더블린, 상하이, 싱가폴, 런던, 도쿄, 세비야....
Apache Zeppelin, 계속 성장하는 중 입니다.
QnA
감사합니다.