Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3...

21
Open API Architecture 네이버랩스 D2 에반젤리스트 옥상훈 부장 2014-07-15

Transcript of Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3...

Page 1: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

Open API Architecture

네이버랩스 D2 에반젤리스트

옥상훈 부장

2014-07-15

Page 2: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

2

목차

• Open API 관련 트렌드

• 아키텍쳐 고려 사항

• Open API 시스템 아키텍쳐

Page 3: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

3

오픈 API 개요

Application Programming Interface

소프트웨어가 서로 의사 소통을 하는 규약

일반적 의미로는 운영체제, 어플리케이션, 라이브러리 등 다양한 수준의 인터페이스를 총칭

플랫폼의 기능을 외부에서 쓸 수 있도록 개방한 API를 Open API라고함

Open API 관련 트렌드

Page 4: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

4

오픈 API 관련 기업 동향

2013년 12월: 인텔, API 스타트업 ‘매셔리’ 인수

2013년 8월: APIGee, $3500만 투자 유치, 액센츄어와 전략적 제휴

2013년 4월: CA가 API 관리 및 보안 업체 ‘Layer 7 Technologies’인수

2013년 4월: 뮬소프트에서 프로그래머블웹 인수

2013년 4월: API관리 솔루션사 ‘3Scale’, $450만 투자 유치

Open API 관련 트렌드

Page 5: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

5

OpenAPI 전세계 현황

인터넷 기업뿐만 아니라 통신/제조/유통사에서도 OpenAPI 제공 시작

http://blog.programmableweb.com/2011/01/03/api-growth-doubles-in-2010-social-and-mobile-are-trends/

Open API 관련 트렌드

Page 6: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

6

출처: http://blog.programmableweb.com/2013/04/30/9000-apis-mobile-gets-serious/

OpenAPI 전세계 현황

신규 OpenAPI는 빠르게 증가하고 있으며, 1,000개 돌파 기간은 8년에서 3개월로 단축되었으며 2013년 4월 기준 9,000 종 돌파

Open API 관련 트렌드

Page 7: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

7

Open API 제공 방법 아키텍쳐적 고려사항

Page 8: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

8

Open API 제공 방법 아키텍쳐적 고려사항

Page 9: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

9

Open API 제공 방법 아키텍쳐적 고려사항

Web Servcies1

In Service2

SDK3

- 웹 프로토콜로 제공- 소량 데이터 전송 처리 중심

- 완성된 형태로 구현이 가능- 웹/앱에 간단한 코드로 서비스 연계 가능

- 소켓과 같은 특수 프로토콜 구현- 개발의 편의성

Page 10: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

10

Open API 핵심 기술 – 프로토콜 관점 아키텍쳐적 고려사항

• 통신– HTTP

– Streaming (실시간 대량 데이터 전송 시)

• 데이터 포맷– XML

– JSON (XML보다 가볍고 빠른 처리 가능)

• 프로토콜– REST

– XML-RPC

– SOAP

웹서버에서 처리 가능

Page 11: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

11

Open API 핵심 기술 – API 비즈니스 관점 아키텍쳐적 고려사항

• 인증– API 호출시 허가된 사용자인지 확인

– API Key 발급, OAuth 인증

• 트래픽 제어– API 허용량만큼 쓰도록

– 서버 스케일링

• 통계– 사용량 통계 -> 과금 처리

– 어뷰징 감지

API Gateway 서버(웹서버 겸)

Page 12: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

12

Open API 핵심 기술 – API 개발사 관리 관점 아키텍쳐적 고려사항

• 개발자 등록– 기본 정보

– 애플리케이션 정보

• API 키 발급– API 별 발급

– 요청 API 및 사용량

• 통계– API 사용량 관리

– 제휴 신청

• 개발 지원– 개발 가이드

– 커뮤니티, Q&A

API 포털

Page 13: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

13

핵심 컴포넌트 - 1 (웹서버) Open API 아키텍쳐

Web Server3rd Party

데이터 포맷 변환(XML, JSON)

Request처리

비즈니스 서버

(DB, 서비스)

웹서버는 컨트롤러의 역할로서 모델(API 비즈니스 서버)로부터의 데이터를 다양한 뷰(XML, JSON)로 제공하는 역할을 함

Page 14: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

14

Web ServerWeb Server

핵심 컴포넌트 - 1 (웹서버 성능 향상) Open API 아키텍쳐

Web Server3rd Party

데이터 포맷 변환(XML, JSON)

Request처리

비즈니스 서버

(DB, 서비스)

웹서버의 성능 향상을 위해 1) 서버 증설 2) 메모리 캐시 서버 추가

Cache 서버

Page 15: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

15

Web ServerWeb Server

비즈니스서버

핵심 컴포넌트 – 2 (API 게이트웨이 서버) Open API 아키텍쳐

API Gateway3rd Party

API Gateway는 API 인증/데이터 포맷 변환 뿐만 아니라 로그 및 트래픽관리 등 API 핵심 컨트롤러 타워의 역할

데이터 포맷 변환(XML, JSON)

Request인증 처리

로깅트래픽 모니터링

Page 16: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

16

핵심 컴포넌트 - 2 (게이트웨이 서버) Open API 아키텍쳐

• 다양한 API를 묶어 하나로 제공

• API 트래픽 제어– 각 API에 대한 트래픽 모니터링

• API 보안– 3rd party에 API 서버 은닉

– 이용자 식별을 위해 인증 처리

• API 사용 로깅– 서비스별 API 사용현황 집계

– 향후 서버 증설 시점 예측

Page 17: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

17

Web ServerWeb Server

핵심 컴포넌트 – 전체 Open API 아키텍쳐

Cache 서버

통계 서버

API Gateway

데이터 포맷 변환(XML, JSON)

Request인증 처리

로깅트래픽 모니터링

비즈니스서버

API 포털 서버

3rd Party정보처리

3rd Party

인증 서버

Page 18: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

18

핵심 컴포넌트 - 전체 Open API 아키텍쳐

• API 포털 서버– 제휴사 정보 관리

– 키 발급

– API 사용 관리

• 인증서버– OAuth 인증

– HMAC 인증

• 통계 서버– API 이용 로그 데이터 추출

– 통계 데이터 생성 API 대시보드

• 캐시 서버– 빠른 서비스 속도를 위한 캐싱

– 소셜 네트워크에서 서비스가 퍼지는 경우 트래픽이 급증 가능

– 네이버의 경우 메모리 캐시 ‘Arcus’ 사용

Page 19: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

19

오픈API 아키텍쳐의 미래 Open API 아키텍쳐

• “지난 몇 년간 우리의 대답은 간단했습니다: 오픈 API를 만들면 됩니다.”

• – Martin Tantow1)

• Martin Tantow, APIs and Beyond, Open Distribution Platforms, SlideShare, 2010

Page 20: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

20

오픈API 아키텍쳐의 미래 Open API 아키텍쳐

• 더 많은 사용자들에게 더 적은 비용으로 다가간다.

• Martin Tantow, APIs and Beyond, Open Distribution Platforms, SlideShare, 2010

Page 21: Open API Architecture - kosta.or.krkosta.or.kr/mail/2014/download/Track3-9_2014Architect.pdf · 3 오픈API 개요 Application Programming Interface 소프트웨어가서로의사소통을하는규약

- 감사합니다 -

http://facebook.com/naverd2

http://d2.naver.com