카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf ·...

37
이확영 카카오가 걸어온 길

Upload: phungbao

Post on 11-Feb-2018

238 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

이확영

카카오가����������� ������������������  걸어온����������� ������������������  길

Page 2: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

프로그래밍을 좋아하는 평범한 40대 개발자

삼성SDS

입사교육 때 통신프로그램 개발. 유니텔사업부 발령.

프리챌

친구따라 강남. IT업계 최고 인재들과 동고동락.

NHN

엔토이와 한게임. 짧은 일본 파견 생활.

카카오

Buru, Wisia, Agit. 모바일 시대 개막. 카카오톡의 폭발적 성장.

8cruz

모바일 실시간 대전 캐주얼 게임

발표자����������� ������������������  소개

Page 3: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

카카오가����������� ������������������  걸어온����������� ������������������  길

Page 4: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

첫����������� ������������������  시작����������� ������������������  -����������� ������������������  IWILab

“배는 항구에 정박해 있을 때 가장 안전합니다

하지만 그것이 배의 존재 이유는 아닙니다.”

- 김범수

Page 5: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

세����������� ������������������  번의����������� ������������������  실패����������� ������������������  -����������� ������������������  buru.com

Page 6: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

세����������� ������������������  번의����������� ������������������  실패����������� ������������������  -����������� ������������������  wisia.com

Page 7: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

세����������� ������������������  번의����������� ������������������  실패����������� ������������������  -����������� ������������������  카카오����������� ������������������  아지트

Page 8: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

모바일로의����������� ������������������  방향����������� ������������������  전환

Page 9: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

모바일로의����������� ������������������  방향����������� ������������������  전환����������� ������������������  (Cont’d)

- 2009.2 스마트폰 위젯 개발사 바이콘 인수

- 2009.4 아이폰앱 개발자 모임 IWILunch

- 2010.3 카카오톡, 카카오아지트와 카카오 수다 오픈

Page 10: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

카카오톡,����������� ������������������  날다

- 아이폰 앱스토어 전체 1위

- 성공 요인

타이밍, 타이밍, 타이밍!

무료 서비스

상대적으로 안정적인 서비스

그룹채팅 및 추천친구

Page 11: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

0

21,429

42,857

64,286

85,714

107,143

128,571

150,000

2010.3 2010.9 2010.10 2010.12 2011.4 2011.7 2011.11 2012.6 2013.7 2014.8

(‘000)

150MM

카카오톡����������� ������������������  가입자수

100MM

50MM

20MM10MM

5MM

30MM

2MM1MM

Page 12: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

꿈은����������� ������������������  이루어진다!

Page 13: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

경쟁����������� ������������������  상황

Page 14: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

수익����������� ������������������  모델

Page 15: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

서비스����������� ������������������  확장

Page 16: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

글로벌����������� ������������������  확장

- 2010.6 카카오톡 다국어 지원 (영어, 일본어)

- 2011.7 카카오 재팬 설립

- 2012.10 야후 재팬과 JV 설립

- 2013.3 해외 TV 광고 (인도네시아, 베트남)

Page 17: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

- 2012.4 텐센트와 위메이드로부터 1,000억 펀딩

- 2012.7 카카오 게임하기 오픈과 국민게임의 탄생

두����������� ������������������  번째����������� ������������������  비상

Page 18: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

0

900

1,800

2,700

3,600

4,500

2009 2010 2011 2012 2013 2014

(‘000)

카카오����������� ������������������  매출����������� ������������������  (억)

0.03 0.3 18

458

2,108

4,295 (예상)

Page 19: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

-200

200

600

1,000

1,400

1,800

2009 2010 2011 2012 2013 2014

(‘000)

카카오����������� ������������������  순이익����������� ������������������  (억)

-17 -40-152

70

614

1,600 (예상)

Page 20: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

다음카카오의����������� ������������������  탄생

- 2014.5.26 다음과의 합병 발표

- 2014.10.1 합병 법인 탄생 예정

- 카카오의 성장 지속여부에 대한 우려가 많았음

- 카카오의 모바일 장악력과 다음의 컨텐츠가 결합하여 시너지를 낼 것으로 기대

- 개발자 확보의 어려움도 합병의 이유 중 하나

Page 21: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

카카오����������� ������������������  시스템의����������� ������������������  진화

Page 22: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

모바일����������� ������������������  메신저의����������� ������������������  특성

- 지인들의 전화번호가 폰에 저장되어 있다.

=> 소셜 그래프의 확장 용이. 친구 신청 불필요

- 상대방이 접속 중이 아닌 경우도 있다. (음영지역)

=> 메시지 저장

- 항상 휴대하고 있다.

=> 대용량 서비스

Page 23: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

시작은����������� ������������������  미약하나…⋯

Web

MySQL

NAS

L4 Switch

- Web Application Server 6EA

Ruby on Rails

Push System (APNS)

- Database Server 1EA

MySQL

- NAS

Page 24: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

그����������� ������������������  끝은����������� ������������������  창대하리라

카카오톡 가입자수 1억 5천만명

카카오톡 일 메시지 전송건수 70억건

전체 서버 대수 1만대 이상

사용 중인 디스크 용량 10PB 이상

Page 25: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

1.����������� ������������������  Push����������� ������������������  System����������� ������������������  부하����������� ������������������  증가

- Push Server 분리

- Message Queue를 사용한 비동기 방식

Web

MySQL

ActiveMQ Push Server

APNS

Page 26: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

2.����������� ������������������  Android����������� ������������������  폰����������� ������������������  출시

- C2DM(현 GCM)의 문제점

사용량 제한, 신뢰성 부족

- Channel Server 도입

Channel Server

Web ActiveMQPush Server

Page 27: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

3.����������� ������������������  데이터베이스����������� ������������������  시스템의����������� ������������������  부하����������� ������������������  증가

- Scale Up

32core 서버 도입 => MySQL 5.1 버전의 문제

- NoSQL DB 도입 검토

Cassandra 0.6

- MySQL Sharding

- memcached 및 redis 도입

Page 28: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

4.����������� ������������������  파일서버(NAS)의����������� ������������������  부하����������� ������������������  증가

- 일 수 천만개의 사진 전송 (전체 메시지수의 1% 정도)

- 여러 디렉토리로 분산

유닉스 파일 시스템의 구조적 문제로 인해 접근 시간이 기하급수적으로 증가

개별 삭제가 어려워 볼륨 전체를 삭제

- 대용량 파일 처리를 위한 파일 서버 구현 (HDFS와 유사)

여러 파일을 하나의 청크에 저장, Data Replication

- 이미지 캐시서버 도입 (Yahoo Traffic Server)

Page 29: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

5.����������� ������������������  Ruby����������� ������������������  on����������� ������������������  Rails의����������� ������������������  성능����������� ������������������  문제

- Ruby의 성능 문제

생산성은 뛰어나나 스크립트 언어라는 한계점

VM의 Garbage Collection 성능 문제

- 3-tier Architecture

비지니스 로직을 수행하는 Java Application Server

Web (RoR) MySQLApplication Server (Java)

Page 30: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

6.����������� ������������������  메시징����������� ������������������  서버����������� ������������������  도입

- https 연결의 비효율성

- Channel Server는 단순히 push message 전달 역할

- 2011.10 겁나 빠른 황소 프로젝트

- 메시징 서버 도입을 통한 비약적인 성능 개선

앱 실행 시마다 연결을 맺는 구조 => 항상 서버와 연결

Page 31: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

6.����������� ������������������  메시징����������� ������������������  서버����������� ������������������  도입����������� ������������������  -����������� ������������������  Before

Page 32: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

6.����������� ������������������  메시징����������� ������������������  서버����������� ������������������  도입����������� ������������������  -����������� ������������������  After

Page 33: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

7.����������� ������������������  무정지����������� ������������������  시스템의����������� ������������������  구현

- Fault Tolerant System Design

Network Switch, Database, Application Server 등 전 시스템의 이중화

- MySQL Replication

Online DB Schema Migration이 가능해짐

Page 34: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

마지막으로…⋯

Page 35: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

인생은����������� ������������������  마라톤일까?

Page 36: 카카오가 걸어온 길 - mmlab.snu.ac.krmmlab.snu.ac.kr/courses/2014_fall_seminar/kakao.pdf · 모바일 실시간 대전 캐주얼 게임 ... (영어, 일본어) - 2011.7 카카오

감사합니다.