[113]apache zeppelin 이문수

Post on 15-Apr-2017

777 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

가이드페이지-표지

이름: 이문수

소속: NFLabs (aka. ZeppelinX)

Apache Zeppelin 과오픈소스 비즈니스

이문수moon@nflabs.comhttps://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

감사합니다.

top related