daum apis: a to z - api meetup 2014

46
Channy Yun @channyun Daum Developers Network & Affiliates http://dna.daum.net 오픈 API 서비스 AtoZ Daum 사례를 중심으로

Upload: channy-yun

Post on 13-May-2015

7.621 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Daum APIs: A to Z  - API Meetup 2014

Channy Yun @channyun

Daum Developers Network & Affiliates

http://dna.daum.net

오픈 API 서비스 AtoZ Daum 사례를 중심으로

Page 2: Daum APIs: A to Z  - API Meetup 2014

2

글로벌 API 산업 성장세

<최근 글로벌 API의 성장세가 매우 빠르다!>

Page 3: Daum APIs: A to Z  - API Meetup 2014

3

웹 2.0과 오픈 API의 출현

<웹 2.0에서 소셜웹까지>

JVM Platform Web service

Java API Interface Restful API

Java Application Software Data

Developer Participators User, Small Biz.

API Lock-in Key Factor Data Lock-in

Page 4: Daum APIs: A to Z  - API Meetup 2014

4

Page 5: Daum APIs: A to Z  - API Meetup 2014

5

해외 API 관련 행사

<명실상부 API 산업으로 자리매김 중…>

Page 6: Daum APIs: A to Z  - API Meetup 2014

왜 오픈 API를? 업체 관점

• 다양한 비즈니스 개발 타진 – 자원이 부족한 스타트업의 경우, 서드파티 및 파트너와의 협업을 위해 가능성 탐지

• 서비스 주변 개발자 생태계 확보 – 외부 개발자들이 언제든지 API를 통해 매쉬업 개발, 버그 리포팅, 아이디어 제공

• 개발 비용 감소 – 표준 기술 기반으로 하므로, Learning Cost가 적어서 개발 비용이 감소

Page 7: Daum APIs: A to Z  - API Meetup 2014

왜 오픈 API를? 개발자 관점

• 프로그래밍은 결국 API 디자인 – 좋은 코드는 Module화 되어 있고, 각 모듈은 API로 구성되어 있다.

• 좋은 API는 높은 재사용성 제공 – API 사용자가 생기면 변경하기가 어려우며, 처음 부터 설계에 노력을 들이게 된다.

• 외부 개발자와의 협업이 가능 – 일반 기업에서 개발자는 외롭다. 하지만 API를 오픈하면 밖에도 내 편을 만들 수 있다.

Page 8: Daum APIs: A to Z  - API Meetup 2014

4가지 주요 사항

8

• 가치 있는 서비스 제공 – 개발자 및 서드파티에 유용한 플랫폼 혹은 데이터 – 명확한 대상과 필수 기능 제공

• 비즈니스 모델 필요

– 무료로 제공하더라도 도움이 되는 비즈 모델 필요 – 제휴 업체나 개발자가 수익화할 수 있도록 지원

• 쉽게 사용할 수 있는 기술

– 초보 개발자들이 바로 따라 할 수 있는 방법 – 다양한 라이브러리 및 기술지원

• 외부 개발자 지원

– 지속 가능하다는 신뢰와 소통 채널 구축

Page 9: Daum APIs: A to Z  - API Meetup 2014

1. 가치 있는 서비스 제공

• 개발자 및 서드파티에 유용한 플랫폼 – 비싼 플랫폼을 값싸게 대여 – API 서비스는 핵심이 아니라 부가 기능

• 명확한 대상과 필수 기능 제공 – 다양한 유즈케이스가 나올 수 있도록 – 요구 사항을 계속해서 청취하여 개선

9

Page 10: Daum APIs: A to Z  - API Meetup 2014

10 <부동산 114의 지도 API 사용>

CHEAP PLATFORM

Page 11: Daum APIs: A to Z  - API Meetup 2014

11

<훈장마을의 로드뷰 API 사용>

EXCLUSIVE CONTENT

Page 12: Daum APIs: A to Z  - API Meetup 2014

12

<매일 영어봇>

<아이엠티쳐>

EASY ADOPTION

Page 13: Daum APIs: A to Z  - API Meetup 2014

13

Page 14: Daum APIs: A to Z  - API Meetup 2014

14

2. 비즈니스 모델 필요

(1) Free (4) Indirect Content Acquisition Content Syndication API as SaaS service Intenal API use case

(2) Developer Pays Pay as You Go Tiered Pricing Freemium Unit-based Pricing Transaction Fee

(3) Developer Gets Paid Affiliate Revenue Share CPA CPC

<다양한 API 비즈니스 모델>

Page 15: Daum APIs: A to Z  - API Meetup 2014

15

<에버랜드 지도앱 사용 예>

DATA ACQUSITION

Page 16: Daum APIs: A to Z  - API Meetup 2014

16

<코리아닷컴의 클릭스 사용 예>

REVENUE SHARE

Page 17: Daum APIs: A to Z  - API Meetup 2014

17

<다음 아이디 로그인 API 사용 예>

AFFILIATES

Page 18: Daum APIs: A to Z  - API Meetup 2014

18

http://tvpot.daum.net/v/ve789DBrdDsVVuurDoVeudr

<인트로의 음성인식 API 사용 예>

UNEXPCTED USECASE

Page 19: Daum APIs: A to Z  - API Meetup 2014

19

INTERNAL APIS

Page 20: Daum APIs: A to Z  - API Meetup 2014

20

<다음 사내 API 사용 예>

Page 21: Daum APIs: A to Z  - API Meetup 2014

21

Page 22: Daum APIs: A to Z  - API Meetup 2014

22

3. 쉽게 사용할 수 있는 기술

<SOAP와 REST의 비용>

Page 23: Daum APIs: A to Z  - API Meetup 2014

Fred Wilson’s

10 Golden Principles of Successful Web Apps

• 5. Make it Programmable

http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/

Page 24: Daum APIs: A to Z  - API Meetup 2014

API 설계 및 서비스 시 유의 사항

• 1. 객체 표현 POST /photos/create POST /photos/show/foobar POST /photos/update/foobar POST /photos/delete/foobar

• 2. 호환성 http://apis.daum.net/maps/v1/js http://apis.daum.net/maps/v2/js

• 3. 에러처리 <apierror> <code>404</code> <message>App 인증 실패</message> <dcode>22</dcode> <dmessage>등록되지 않은 apikey 입니다.</dmessage> </apierror>

24

Page 25: Daum APIs: A to Z  - API Meetup 2014

• 4. 거의 단일 포맷 (JSON) { 'person' : { 'name': '...', 'age' : 22, 'dogs' : [...] } }

자바스크립트 개발자를 위한 Callback 함수 지원 필수

• 5. 보안 강화? – APIKey와 트래픽 제어가 필수는 아니다!

– 사용자 데이터는 oAuth 이용 – 암호화 제공은 선택 사항

Page 26: Daum APIs: A to Z  - API Meetup 2014

• 6. 문서화 – 레퍼런스, 변경기록, 코드샘플 및 코드 놀이터

• 7. 기술 지원 – 오픈소스 개발방법 : 이슈트래커, 포럼, gitHub

• 8. 개발자 만나기 – Hackerton, DevDay, CodeJam, DevConference

26

Page 27: Daum APIs: A to Z  - API Meetup 2014

27

Page 28: Daum APIs: A to Z  - API Meetup 2014

28

Page 29: Daum APIs: A to Z  - API Meetup 2014

29

http://dna.daum.net/ko/developer-support-handbook

Page 30: Daum APIs: A to Z  - API Meetup 2014

<다양한 서드파티의 등장>

Page 32: Daum APIs: A to Z  - API Meetup 2014

32 http://www.3scale.net/pricing/

Page 33: Daum APIs: A to Z  - API Meetup 2014

33

Page 34: Daum APIs: A to Z  - API Meetup 2014

34

4. 외부 개발자 지원

Page 35: Daum APIs: A to Z  - API Meetup 2014

35 <1st DevNight in 2007>

Page 36: Daum APIs: A to Z  - API Meetup 2014

36 <DevDay in Jeju 2008>

Page 37: Daum APIs: A to Z  - API Meetup 2014

37 <DevDay in Mashup Skycamp 2010>

Page 38: Daum APIs: A to Z  - API Meetup 2014

38 <DevOn 2013>

Page 39: Daum APIs: A to Z  - API Meetup 2014

39

Page 40: Daum APIs: A to Z  - API Meetup 2014

2001

2005.02

2005.03

2006.10

Page 41: Daum APIs: A to Z  - API Meetup 2014

Daum 개발자 네트워크

41

Page 42: Daum APIs: A to Z  - API Meetup 2014

300 million per month

7000 api keys per day

Page 43: Daum APIs: A to Z  - API Meetup 2014

43

• 데이터형- 검색, 지도, 로컬, 콘텐츠(영화), 지도형- 지도뷰, 인증형-카페, 마이피플, 캘린더 등으로 구분해 서비스 중

• 지도(45%), 검색(25%), 로컬(25%) 기타(5%) 정도로 트래픽 점유중

• 외부 API 호출은 지속 성장세 월간 3억건 육박 일간 1천만 / 7천개 API 키 호출

Daum API 서비스 개괄

Page 44: Daum APIs: A to Z  - API Meetup 2014

44 <Daum 지속 가능성 보고서 2013>

Trust

Page 45: Daum APIs: A to Z  - API Meetup 2014

45

Page 46: Daum APIs: A to Z  - API Meetup 2014

감사합니다

46