[113]apache zeppelin 이문수

54
가이드페이지-표지 이름: 이문수 소속: NFLabs (aka. ZeppelinX) Apache Zeppelin 과 오픈소스 비즈니스

Transcript of [113]apache zeppelin 이문수

Page 1: [113]apache zeppelin 이문수

가이드페이지-표지

이름: 이문수

소속: NFLabs (aka. ZeppelinX)

Apache Zeppelin 과오픈소스 비즈니스

Page 2: [113]apache zeppelin 이문수

이문수[email protected]://github.com/Leemoonsoohttp://twitter.com/issuefreakshttps://www.facebook.com/moonsoo.lee.52

NFLabs (aka. ZeppelinX) Co-FounderApache Zeppelin PMC Chair

Page 3: [113]apache zeppelin 이문수

Zeppelin 프로젝트 시작

Page 4: [113]apache zeppelin 이문수

AMP Lab Spark/Shark 위에 Peloton 이라는 분석 솔루션 개발

당시 개발자 4명으로는 enterprise business 를 지속 하기 힘들었음

가장 유용했던 인터렉티브 분석 기능을 오픈소스 해보면 어떨까?

2012년 12월

Page 5: [113]apache zeppelin 이문수

2013년 9월

Hadoop in seoul 2013 컨퍼런스에서 open source 프로젝트로서 Zeppelin 제안-> 아무도 관심 없음

Page 6: [113]apache zeppelin 이문수

그래도 시작해서 Zeppelin 프로젝트 시작해서 시각화, 스케줄러, 온라인 라이브러리 등 다양한 기능을 만들었지만.. 스스로도 잘 사용안함. 그러던 어느날..

2013년 10월

Page 7: [113]apache zeppelin 이문수

다시 interactive 형식으로 뜯어 고치고, SQL 뿐만아니라 scala 코드를 직접 실행할 수 있게 함. -> 이 시점부터 첫번 째 사용자 생김

2014년 8월

Page 8: [113]apache zeppelin 이문수

2014년 8월

Page 9: [113]apache zeppelin 이문수

Zeppelin community bootstrap

Page 10: [113]apache zeppelin 이문수

http://apache-spark-user-list.1001560.n3.nabble.com/REPL-like-interface-for-Spark-td15328.html

Spark mailing list 에서 관련 질문에 Zeppelin 추천

Page 11: [113]apache zeppelin 이문수

Stack overflow 에도 관련 질문에 Zeppelin 추천

Page 12: [113]apache zeppelin 이문수

2014년 10월, 홍보 시작 1달만에 Zeppelin 을 이용해 서비스를 만드는 회사 발생

Page 13: [113]apache zeppelin 이문수

2014년 12월, Apache Software Foundation 에서 incubation 시작

Page 14: [113]apache zeppelin 이문수

Apache 프로젝트가 된다는 것은 ..

소스코드 소유권트레이드 마크브랜드커뮤니티

Zeppelin 프로젝트의 을 Apache 재단으로 이전 함을 의미

Page 15: [113]apache zeppelin 이문수

Opensource 재단

Page 16: [113]apache zeppelin 이문수

다양한 오픈소스 재단이 존재

Linux FoundationApache Software FoundationFree Software FoundationMozilla Foundation Python Software Foundation……

설립 목적, 하는 일의 범위등이 조금씩 다르다

Page 17: [113]apache zeppelin 이문수

“Communityovercode”

Page 18: [113]apache zeppelin 이문수

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’ 를 습득하도록 도와준다.

Page 19: [113]apache zeppelin 이문수

Project structure

PMC Chair

PMC (Project Management Committee) : PMC 와 Committer 를 구성

PMC

Committer

Contributor

Board

Board 와 TLP 커뮤니티 연결

Committer : 코드 수정 권한Contributor: 코드, 문서, 홍보, 디자인, 등 프로젝트의 다양한 부분의 기여

TLP

TLP 의 생성/소멸 권한PMC 임명 허가

Page 20: [113]apache zeppelin 이문수

의사결정

1. 제안2. 토론3. 공감대 형성4. 투표

의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.

‘공감대 형성 -> 투표’ (O)

‘투표 -> 공감대 형성’ (X)

사용자 / 개발자 메일링리스트에서 의사 결정 진행

Page 21: [113]apache zeppelin 이문수

의사결정

1. 제안2. 토론3. 공감대 형성4. 투표

의사결정 (코드 커밋, 릴리즈 등) 은 기본적으로 아래 4단계를 거친다.

‘공감대 형성 -> 투표’ (O)

‘투표 -> 공감대 형성’ (X)

사용자 / 개발자 메일링리스트에서 의사 결정 진행

Page 22: [113]apache zeppelin 이문수

Apache Project 가 되는것의 가장 큰 장점

Apache 브랜드 사용!

• Apache 2 License• Quality• Standard• Open decision making process

Page 23: [113]apache zeppelin 이문수

Opensource 프로젝트의 종류

Page 24: [113]apache zeppelin 이문수

다양한 기준으로 나눌 수 있지만가장 중요한 분류는,

Page 25: [113]apache zeppelin 이문수

소스코드만 공개 소스코드와 의사결정이 공개

Page 26: [113]apache zeppelin 이문수

Zeppelin 의 경우

Apache project 되기 전부터 모든 리뷰/토론을 온라인에서 하려고 노력 - 만약 오프라인에서 프로젝트 관련 대화하면 온라인으로 옮겨서 계속하고 결론을 냄 - 원격근무, Flexible time 으로 일하고 있어, 온라인으로만 프로젝트를 진행하는것에 이미 팀 전체가 익숙했었다.

모든 대화는 영어로만

온라인에서 리뷰 없이 Code push 하지 않음

- 팀에 프랑스, 러시아 개발자들이 있어 이미 팀 전체가 영어로만 커뮤니케이션 하고 있어서 자연스럽게 할 수 있었다.

Page 27: [113]apache zeppelin 이문수

• 사람들이 버그 패치를 제공하는 것 뿐만 아니라• 의사 결정에 참여하고, 새로운 기능을 제안하고 기여.• Zeppelin 이용한 Business 도 다양한 회사들에서 곧바로 시도됨

Page 28: [113]apache zeppelin 이문수

오픈소스 비즈니스

Page 29: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

Page 30: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

가장 일반적으로 시도된다.

Page 31: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

조건부 오픈소스 라이센스

예) 학술, 개발, 테스트 목적으로 Apache2 그 외에는 commercial license

Page 32: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

오픈소스에 추가기능을 붙여 commercial product 로 판매예) 인증, 백업, 장애대응 기능을 사용하려면 엔터프라이즈 버전 구매

Page 33: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

개인 기부 (Donation) 에 의존 하거나프로젝트 자체 재단(Foundation) 을 만들고기업들로부터 기부를 받는다

Page 34: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

오픈소스를 그대로 서비스로서 제공

Page 35: [113]apache zeppelin 이문수

오픈소스 비즈니스

• 서포트• 트레이닝• 컨설팅 • 듀얼 라이센스• 엔터프라이즈 버전• 기부• SaaS• Open adoption

오픈소스에서 직접 수익을 얻지 않고 Adoption 을 이용하는 다른 product 에서 수익을 만든다.

오픈소스의 기능을 제한하고 비즈니스를 독점할 필요가 없다NFLabs 에서는 다른비즈니스 모델보다 여기에 집중

Page 36: [113]apache zeppelin 이문수

악순환 vs 선순환

기능제한 / 비즈니스 독점

사용자 감소시장 크기 감소

다양한 비즈니스 허용

사용자 증가시장 크기 증가

Page 37: [113]apache zeppelin 이문수

ZeppelinHub

2014.12월에 사용했던회사 내부 business slide 중 일부

Zeppelin Notebook 의 공유/협업 환경

Page 38: [113]apache zeppelin 이문수

ZeppelinHubApache 에서 배포한 Zeppelin 뿐만 아니라 3rd party 에서 배포/서비스 하는 Zeppelin 에서도 모두 ZeppelinHub 사용

ZeppelinHub

. . .

Page 39: [113]apache zeppelin 이문수

Open Adoption Business

Adoption 을 극대화 하기 위한 전략을 수행

• Leverage Apache Brand• Open decision making• Integration to the other projects• 3rd party business friendly

Page 40: [113]apache zeppelin 이문수

Integration to the other projects

Page 41: [113]apache zeppelin 이문수

3rd party business

EMR 에서 Zeppelin 서비스

Azure HD Insight 에서 Zeppelin 서비스

Google cloud data proc 에서 Zeppelin 스크립트 제공

Zeppelin 서비스로 제공

Page 42: [113]apache zeppelin 이문수

3rd party business

HDP 패키지에 Zeppelin 탑재

Juju 이용해 Zeppelin 을 on-prem/cloud 에 배포가능

분석 인터페이스로 Zeppelin 제공

Datascience workbench 에서 분석 인터페이스로 Zeppelin 제공

Page 43: [113]apache zeppelin 이문수

Zeppelin 프로젝트 현재

Page 44: [113]apache 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 관련 프로젝트만

Page 45: [113]apache zeppelin 이문수

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

*이전 페이지에 있던 프로젝트들 중

Page 46: [113]apache zeppelin 이문수

2015, 2016 The best opensource bigdata software!

Page 47: [113]apache zeppelin 이문수

aka. NFLabs

150 Contributors world wide

누가 기여하고 있을까?

Page 48: [113]apache zeppelin 이문수

누가 사용하고 있을까?

Page 49: [113]apache zeppelin 이문수

Contributors Users

150 Contributors world wide

Service provider Technology Integration

Zeppelin 생태계

Page 50: [113]apache zeppelin 이문수

ZeppelinHub

Open Adoption business

모든 3rd party Zeppelin 배포/서비스에 ZeppelinHub integration이미 탑재ZeppelinHub 의 기능/품질이 일정 수준에 오르면 Hub integration 스위치를 켜도록 유도

Page 51: [113]apache zeppelin 이문수

성공적인 오픈소스 프로젝트를 만들기 위해서는

프로젝트가 주는 가치

열린 사용자/개발자 커뮤니티

3rd partyprojects/business

Page 52: [113]apache zeppelin 이문수

오픈소스 프로젝트가 가져다 준것

NFlabs 회사이름

위치 한국 실리콘 벨리 & 한국

투자 Seed (한국) Series A (미국)

컨퍼런스/밋업

서울 서울, 센프란시스코, 산호세, 오스틴, 시애틀 밴쿠버, 시드니, 벨번, 부다페스트, 베를린, 암스테르담, 더블린, 상하이, 싱가폴, 런던, 도쿄, 세비야....

Page 53: [113]apache zeppelin 이문수

Apache Zeppelin, 계속 성장하는 중 입니다.

Page 54: [113]apache zeppelin 이문수

QnA

감사합니다.