工學碩士學位 請求論文請求論文 - Inha · 2010-10-16 · 변형 가능한 6 족 로봇 iTiBO 는 복잡한 지형에 유연하게 적응하기 위해서 안정적인 6
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 ,...
-
Upload
minwoo-kim -
Category
Technology
-
view
9.725 -
download
15
description
Transcript of KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 ,...
![Page 1: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/1.jpg)
가볍고 유연하게 데이터 분석하기
: 쿠키런 사례 중심
서버 개발팀 김민우
1
![Page 2: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/2.jpg)
2
• 김민우 - [email protected] - http://julingks.tistory.com
• 전산과 졸업 • 스타트업 1호 맴버로 조인, 2010년 말 KT에 인수 • 선임 연구원
- 빅 데이터 분석 플랫폼 개발 및 연구
• 서버팀 - 쿠키런 게임 서버 개발 - LINE 쿠키런 서비스 총괄
강연자 소개
![Page 3: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/3.jpg)
대표 게임
3
LINE COOKIE RUN 출시 : 2014년 1월 주요 국가 : 일본, 대만, 태국 등 2014년 상반기 태국, 대만 게임 다운로드 1위 기록 총 21개 국가 애플 앱스토어 최고 매출 순위 10위권 기록
쿠키런 for Kakao 출시 : 2013년 4월 주요 국가 : 대한민국 2013년 대한민국 단일 게임 다운로드 순위 1위 기록 [App Annie] 2013년 대한민국 단일 게임 매출 순위 3위 기록 [App Annie] 출시 후 1년 5개월간 매출 순위 상위권(10위 이내) 유지
OvenBreak 시리즈 출시 : 2009년 6월 주요 국가 : 미국, 캐나다, 영국, 호주 등 2010년 11월 미국, 캐나다, 영국 등 20개 국가 애플 앱스토어 무료 1위 기록 2011년 6월 미국, 중국, 캐나다 등 18개 국가 애플 앱스토어 무료 1위 기록 2012년 12월 미국 애플 앱스토어 무료 10위 기록(OvenBreak2)
2,000만 다운로드
2,000만 다운로드
3,900만 다운로드
![Page 4: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/4.jpg)
서버팀이 하는 일
• 게임 서버 개발 • 게임 운영 관리 도구 개발 • 게임 리소스 관리 시스템 개발 • 게임 로그 분석 시스템 개발 • 게임 서비스 운영, 모니터링 • 인프라 관리 • 장애 대응
• 클라이언트 개발팀에서 하는 것 빼고 정말 다 하고 있어요 … - 정말 레알 DevOps
4
![Page 5: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/5.jpg)
데이터 좀 뽑아 주세요~ 네!?상황이 이렇다 보니..
5
![Page 6: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/6.jpg)
다양한 로그 분석 요구 사항
• KPI 지표 - 일별 접속자 수, 일별 매출, 구매 유저의 평균 사용 금액
• 게임 벨런싱 - 유저 레벨 분포, 이벤트 미션 달성률
• 게임 기획 - 요즘 가장 많이 이용하는 쿠키와 펫 조합은 뭐죠?
• 어뷰징 대응 - 메모리 해킹, APK 변조, 변조 API 요청 - 어뷰징인가요? 정상 플레인가요?
• CS 대응 - 보물이 사라졌어요 - 믿어야 될지 말아야 될지..?
6
![Page 7: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/7.jpg)
오늘 접속한 유저 수는 몇 명인가요?가장 쉬운 것 부터
7
![Page 8: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/8.jpg)
KPI 지표
• DAU (일별 유저수) • WAU (주간 고유 유저수) • MAU (월별 고유 유저수) • PU (구매한 고유 유저수) • ARPPU (구매한 유저의 평균 사용 금액) • 등등…
• 물론 게임 비지니스 플랫폼에서 제공
• 그래도 우리도 알고 있어야 되지 않을까?
8
![Page 9: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/9.jpg)
9
• 결제 로그는 가장 중요하므로 트랜잭션으로 보호가 필요 • 따라서 신뢰성이 보장되는 RDB에 저장
• 크리스탈 입/출 로그도 중요 로그이므로 RDB에 저장 • 출석시 1개의 크리스탈 지급 (접속 로그와 동일)
• SQL 쿼리로 간단하게 - 크리스탈 입/출 로그에서 DAU, WAU, MAU를 구함 - 결제 로그에서 PU, ARPPU 등을 구함
• 실시간으로 추이를 보고 싶어요 … 아.. 그래요?
KPI 지표
Auto Scaling group
![Page 10: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/10.jpg)
지표의 추이를 실시간으로 보고 싶어요
• StatsD + Graphite 를 적용 - 본래 시스템 모니터링에 사용하고 있음
• StatsD - 통계 정보를 수집하는 네트웍 데몬 - UDP 또는 TCP로 통계 정보를 보냄
• Graphite • StatsD에 쌓인 통계 정보를 그래프로 시각화
10
https://github.com/etsy/statsd/
![Page 11: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/11.jpg)
지표의 추이를 실시간으로 보고 싶어요
• StatsD + Graphite 시스템 모니터링으로 사용 - 플레이 시작시, 플레이 종료시 - 메소드 평균 응답 시간 (병목 구간을 찾을 수 있음)
• 유저가 접속시, 구매시 UDP 요청을 StatsD로 보냄
• 주의 : UDP이므로 신뢰성을 보장할 수 없다 (1~5% 유실) - 실시간 추이를 파악하는 데 적합함
11
![Page 12: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/12.jpg)
유저 레벨 분포 알려주세요~게임 벨런싱
12
모든게 RDB에 있으면 좋으련만… 세상일이 그렇게 쉬운게 아니지
![Page 13: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/13.jpg)
레벨 정보는 어디에 저장되어 있나?
• 유저 데이터 저장소는 를 사용 - 문서 지향 NoSQL 데이터 베이스 - 분산 Key-Document 저장소
• 예)
13
{ level : 15, // 레벨 coin : 1500, // 코인 crystal : 20, // 크리스탈 …
}
F29F2COW2ZCQPF
키 : 유저별 고유 식별키 값 : JSON 형식의 텍스트
Auto Scaling group
![Page 14: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/14.jpg)
어디에서 분석하지?
• 누적 2,000만 유저 • 약 1 TB 정도 • 준 구조화된 데이터 (JSON 형식)
• 1TB 작다면 작고 크다면 큰 크기인데.. (빅이냐? 스몰이냐? 누구냐 넌) • 우선 하둡에 넣어보자 :-3
• 어떻게든 분석할 수 있겠지… - MapReduce, Pig, Hive, Cascading
14
![Page 15: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/15.jpg)
Hadoop (하둡)
• 빅데이터의 상징이 되어버린.. • GFS와 MapReduce 논문의 오픈소스 구현체 • 2.x 이후 분산 애플리케이션 플랫폼으로 변신 중 (YARN)
• 수십, 수백대 머신을 하나의 파일 시스템 처럼 사용할 수 있다
• 파일 시스템에 저장된 대용량 데이터를 Map함수와 Reduce함수로 병렬 처리하여 빠르게 분석할 수 있다
• 그나저나 하둡을 어떻게 띄우지!?
15
![Page 16: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/16.jpg)
아마존 EMR
• 아마존 Elastic MapReduce • 하둡 클러스터를 손쉽게 구성해준다
• CLI를 이용하면 10여분 만에 수십대의 하둡 클러스터를 생성
• Couchbase 데이터를수십대 노드 하둡 클러스터로 어떻게 가져오지?
16
./elastic-mapreduce --create --alive --name “Hadoop Cluster" \ --num-instances=30 --master-instance-type=m1.large --hive-interactive
예시
![Page 17: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/17.jpg)
아파치 Sqoop
• RDB에 있는 데이터를 하둡으로 가져온다 • Couchbase에서는 sqoop-plugin을 제공
• Couchbase에 저장된 데이터를 하둡으로 가져올 수 있다
17
Auto Scaling group
sqoop { level : 15, // 레벨 coin : 1500, // 코인 crystal : 20, // 크리스탈 …
}
…
bin/sqoop import --connect http://10.2.1.55:8091/pools --table DUMP
![Page 18: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/18.jpg)
하둡의 데이터를 어떻게 분석하지?
• 하둡에 1TB 데이터를 가져왔는데 어떻게 분석하지? - MapReduce 구현 - 추상화된 도구인 Hive, Pig, Cascading
• 가장 익숙한 Hive를 선택
• SQL-like 쿼리로 하둡의 데이터를 분석할 수 있다 • HQL을 Map-Reduce 변환하여 데이터를 처리하고 결과를 보낸다
18
![Page 19: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/19.jpg)
Hive에서 JSON을 어떻게 한담?
• Hive에서는 테이블의 Row를 읽고 쓸때 SerDe를 사용 • Row를 실제 파일 시스템에 어떻게 쓸고 읽을 것이냐를 결정
• 기본적으로 제공하는 SerDe들 - Avro, ORC, RegEx, Thrift, Parquet
• Hive JSON SerDe
19
https://github.com/rcongiu/Hive-JSON-Serde
![Page 20: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/20.jpg)
20
AWS CLI
Auto Scaling group
…
![Page 21: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/21.jpg)
21
AWS CLI
…
Auto Scaling group
클러스터 생성
…
![Page 22: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/22.jpg)
22
AWS CLI
…
Sqoop
{ level : 15, // 레벨 coin : 1500, // 코인 crystal : 20, // 크리스탈 …
}
…
Auto Scaling group
클러스터 생성
…
![Page 23: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/23.jpg)
23
AWS CLI
…
Sqoop
{ level : 15, // 레벨 coin : 1500, // 코인 crystal : 20, // 크리스탈 …
}
…
SELECT count(1) FROM t1 GROUP BY levelHadoop
Job
Auto Scaling group
클러스터 생성
…
![Page 24: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/24.jpg)
24
AWS CLI
…
Sqoop
{ level : 15, // 레벨 coin : 1500, // 코인 crystal : 20, // 크리스탈 …
}
…
SELECT count(1) FROM t1 GROUP BY levelHadoop
Job
Auto Scaling group
클러스터 생성
…
결과
![Page 25: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/25.jpg)
이 방식으로 추출 가능했던 분석 결과들
• 최고 점수 분포 • 유저 레벨 분포 • 최고 점수 상위 N 명 • 쿠키별 보유량 • 보물 보유량 • 펫 보유량 • 부스터 보유량 • 사용자 라이프 타임 분포
- 처음 접속 ~ 접속을 안한지 한달전
25
![Page 26: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/26.jpg)
이벤트 미션 달성률 알려주세요이제 진짜 게임 로그 분석
26
![Page 27: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/27.jpg)
미션 달성률 알려주세요
• 무모한 도전 - 100여개의 도전, 이전 도전을 깨야만 다음 도전이 나온다 - 적절한 난이도가 필수
- 쫌만 더 하면 깰 수 있을것 같은데… (이 느낌이 제일 중요) - 깰 수 없는 어려운 도전이라고 느끼면 쉽게 포기하고 만다
- 유저들이 어느 도전에서 넘어가지 못하고 있는지 알려주세요!
27
![Page 28: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/28.jpg)
게임 로그는 어디에 저장되나?
• 게임 서버(Tomcat)는 JSON 텍스트 파일을 로컬 디스크에 남김 • 하루에 200~400GB 수준, 1년치가 100TB 수준 • 해당 게임 로그는 최종 S3에 적재
28
Auto Scaling group
S3
![Page 29: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/29.jpg)
아마존 S3
• 아마존의 간단한 저장 서비스 • 비교적 싸고 안전하게 보관 • 하둡에서 HDFS 대신 S3 사용 가능 (S3NativeFileSystem) • 다음으로 하둡 위에서 분석을 수행
• 필요할 때 클러스터를 만들어 분석한다 - 데이터 지역성(locality)은 떨어지나 수십 노드의 계산 능력만 사용한다고 생각하면 맘이 편하다
- 실제로는 의외로 빠른 성능. 응!? 속도는 노드 댓수로 극복
29
![Page 30: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/30.jpg)
분석 결과
30
도전 종류 달성률이전 도전 달성률과 차이
보너스타임 많이가기 1회 달성 71.5% 2.4%
핑크곰 젤리 획득하기 300개 달성 69.0% 2.5%
거대 생명물약 획득하기 4개 달성 66.6% 2.4%
점프 많이하기 240회 달성 61.0% 5.5%
게임중 코인 획득하기 700코인 달성 59.6% 1.4%
왕 곰젤리 획득하기 15개 달성 58.3% 1.3%
장애물 많이 충돌하기 4회 달성 57.2% 1.2%
보너스타임 오래하기 6초 달성 56.0% 1.2%
부활 많이하기 1회 달성 53.7% 2.3%
젤리 많이 획득하기 3,000개 달성 52.5% 1.2%
장애물 많이 통과하기 5회 달성 51.6% 1.0%
슬라이드시간 오래하기 100초 달성 48.2% 3.4%
게임중 점수 획득하기 250만점 달성 46.4% 1.8%
핑크곰 젤리 획득하기 650개 달성 45.3% 1.1%
밑으로 갈수록 어려운 도전
난이도가 비슷하게 상승하다가 갑자기 높아지는 도전들이 존재
난이도 조정이 필요
![Page 31: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/31.jpg)
여러 소스의 데이터 분석 하기
31
Auto Scaling group
S3
…sqoop
게임 로그
게임 데이터
유저 데이터
![Page 32: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/32.jpg)
이 유저만 조사 해주세요서울에서 김서방 찾기
32
![Page 33: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/33.jpg)
33
• CS 문의 - 잠깐 한눈 파는 사이에 고양이가 핸드폰을 밟고 지나가서 보물이 팔렸어요
- 진짜 그 보물은 가지고 있었던 걸까?
• 어뷰징 - 용감한 쿠키로 1억점 달성 - 불가능한 점수 달성한 유저의 기록을 발견 - 다른 플레이 기록도 보고 싶은데요?
이 유저만 조사 해주세요
![Page 34: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/34.jpg)
이 유저만 조사 해주세요
• 하둡 - 배치 데이터 분석을 목적으로 하는 시스템 - 모든 데이터를 다 읽어야 하는 불편한 진실
• 대부분의 요구 사항이 특정 유저가 특정 기간에 게임 로그 조회 요청
• 회원 번호와 날짜로 인덱스를 만들자! - 날짜별로 저장된 게임 로그를 회원 번호로 정렬 - 블록 시작 위치와 길이, 시작과 끝 회원번호를 저장하는 인덱스 생성 - 인덱스 파일을 읽어서 필요한 파일과 블록만 읽는
InputFormatter 를 구현
34
![Page 35: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/35.jpg)
데이터 분석 첫 걸음마내가 해 봤는데 말이지..
35
![Page 36: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/36.jpg)
이런 데이터를 뽑아보면 좋을것 같은데..
• 데이터 분석의 가치를 조직에 전파하기 위해서는 첫 출발이 좋아야
• 목적 없이 시작하면 의외의 발견을 할 수도 있으나 가치있는 결과를 얻지 못할 가능성이 높음
• 선 목적 후 분석 - 어떤 목적을 가지고 데이터를 추출할 것이냐? - 그 목적을 달성하려면 어떤 데이터가 필요한 것인가? - 그 데이터를 분석해서 목적을 달성할 수 있는가?
36
![Page 37: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/37.jpg)
주어진 현실
• 하루에도 쏟아지는 많은 게임 로그, 자주 빠르게 변경되는 스키마
• 개발하기도 벅찬데 로그 분석? 형식이 자꾸 바뀌는 데 어떻게 해야되지? - 무조건 남기고 본다, 필요할때 나중에 분석
• 노드 100대 클러스터!? - 클러스터 운영 비용은 고스란히 인건비와 시간을 빼앗아간다
• 구글링 해도 안나와요. - 내가 잘못한건가요? 오픈소스 버그인가요?
• 오픈소스의 소스 레벨까지 이해할 수 있는 엔지니어가 필요 - 찾기 힘듬. In House 로 해결하자.
37
![Page 38: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/38.jpg)
가볍게, 유연하게, 적당히 빠르게
• 최대한 AWS의 장점을 활용한다 - 클러스터는 한번 쓰고 버리는 물건 - 간단한 python 스크립트, 쉘 스크립트로도 수십, 수백대의 클러스터를 이용한 분석 가능
• 분석 싸이클 시간 절약에 집중하여 아키텍처를 구성 - 로컬 머신에서도 손 쉽게 분석 가능
• 누구나 쉽게 분석할 수 있는 개발 접근성 향상에 집중 - 너도 나도 클러스터 생성 가능 - 분석 시간을 줄여줄 간단한 도구를 개발하는 데 시간 투자
38
![Page 39: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/39.jpg)
마무으리
• 소수의 인원으로도 대형 클러스터를 운용 가능 - AWS, 관련 오픈소스의 성장
• DevOps의 장점을 최대한 활용 - 서비스 운영, 개발, 테스트, 배포, 아키텍처 구성 - 모두 한 팀에서 하므로 적은 커뮤니케이션 비용으로 다양한 시도가 가능
- 여러가지 새로운 도구와 프로세스를 빠르게 도입할 수 있음 - 프로세스 혁신이 게임 서버 개발 만큼 우선 순위가 높은 과제 - “프로그램이 할 수 있는 일은 사람이 하지말자”
39
![Page 40: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/40.jpg)
앞으로 뭐하지?
• 준 실시간 분석이 가능하도록 시스템 개선 중 • 카운트, 조인, 집계를 넘어선 클러스터링, 머신러닝 등 고급 분석을 위한 준비중
• 페어 프로그래밍을 할 팀원 모집 중입니다. • [email protected]
40
![Page 41: KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈](https://reader031.fdocuments.net/reader031/viewer/2022013115/5581d335d8b42ae06c8b53f7/html5/thumbnails/41.jpg)
가
41
감사합니다