애드브릭스는 모바일 앱 분석 솔루션으로, 많은 개발사들이 애드브릭스를 통해 앱의 성과를 지표화하여 분석하고 있습니다. 시간이 지나면서 사용자의 요구는 다양해졌고 분석해야 하는 앱의 개수는 폭발적으로 증가하였습니다. 그 결과 애드브릭스는 사용자에게 다양한 지표를 손쉽고 빠르게 고객에게 제공하기 위해 지속적인 서비스 아키텍쳐 재설계 및 데이터의 라이브 마이그레이션을 진행하였습니다.
이 세션은 폭발적으로 성장한 분석툴이 사용자의 다양한 요구사항을 만족시키기 위해 재설계한 아키텍쳐와 그 구현에 대해 설명하고 라이브 마이그레이션을 진행하며 얻은 경험과 인사이트를 공유합니다.
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
대부분의 중소 모바일 게임 업체는 앱을 잘 만들기에도 시간이 모자라 출시일을 잘 맞추기 급급한 상황이다. 그러다 보니 운영을 위한 툴은 소홀히 개발하는 경우가 대부분이고 운영 캠페인은 날림으로 개발하거나 그때 그때 개발자가 필요한 부분만 개발하기 일쑤다. 그러다보니 마케터는 결국 늘 개발자 눈치만 살피게 된다. 필자는 블루윈드에서 이러한 문제를 절감했고 '모바일 게임 개발사가 앱 개발에만 집중할 수 있게 해주고 싶다'는 IGAworks의 철학에 공감하여 라이브 오퍼레이션 프로젝트를 시작하게 되었다.
라이브 오퍼레이션의 개발 중점과제는 5가지였다. 첫번째, 다수의 개발사가 하나의 큰 클라우드 시스템을 사용하도록 multi-tenant 인프라를 구축해야 한다. 두번째, TCO(Total cost of ownership)를 최소화해야 한다. 세번째, 앱의 핵심유저를 실시간으로 그룹화하여 타게팅 캠페인을 할 수 있어야 한다. 네번째, 캠페인의 성과를 마케터에게 실시간으로 피드백해야 한다. 다섯째, 3개월 안에 정식 서비스가 되어야 한다는 점이었다. (왜 우리에게 주어지는 시간은 늘 3개월인가) 그리고 당연하지만 이 서비스를 혼자 개발해야 했다.
이 다섯가지 이슈를 해결하기 위하여 AWS 클라우드 상에 생산성과 성능이 검증된 node.js 와 mongodb를 이용하여 서비스 백엔드를 구성하였고, multi-tenant를 구성하기 위한 여러가지 고민과 그 해결책을 직접 구현하였다. 필자는 node.js와 mongodb를 사용해 본 경험이 충분하다 생각했지만 대규모 정식 서비스를 진행하며 많은 함정에 빠졌고 결국 해결했다.
이 발표를 통해 청강자는 node.js와 mongodb를 이용하여 multi-tenant 인프라를 구축해야 할 때 고려해야 할 설계 방식과 기술적인 고민, 그것에 대한 현실적인 해법을 얻을 수 있다.
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
<p><span>장선진 Softwareinlife 팀장. 웹1.0과 웹2.0, 클라우드컴퓨팅 환경, 구글 앱 엔진의 이해와 장단점 및 개발환경과 활용(Google App Engine)에 대한 것으로 공개SW 역량프라자1차 정기 기술세미나 강연 내용입니다.</span></p>
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
대부분의 중소 모바일 게임 업체는 앱을 잘 만들기에도 시간이 모자라 출시일을 잘 맞추기 급급한 상황이다. 그러다 보니 운영을 위한 툴은 소홀히 개발하는 경우가 대부분이고 운영 캠페인은 날림으로 개발하거나 그때 그때 개발자가 필요한 부분만 개발하기 일쑤다. 그러다보니 마케터는 결국 늘 개발자 눈치만 살피게 된다. 필자는 블루윈드에서 이러한 문제를 절감했고 '모바일 게임 개발사가 앱 개발에만 집중할 수 있게 해주고 싶다'는 IGAworks의 철학에 공감하여 라이브 오퍼레이션 프로젝트를 시작하게 되었다.
라이브 오퍼레이션의 개발 중점과제는 5가지였다. 첫번째, 다수의 개발사가 하나의 큰 클라우드 시스템을 사용하도록 multi-tenant 인프라를 구축해야 한다. 두번째, TCO(Total cost of ownership)를 최소화해야 한다. 세번째, 앱의 핵심유저를 실시간으로 그룹화하여 타게팅 캠페인을 할 수 있어야 한다. 네번째, 캠페인의 성과를 마케터에게 실시간으로 피드백해야 한다. 다섯째, 3개월 안에 정식 서비스가 되어야 한다는 점이었다. (왜 우리에게 주어지는 시간은 늘 3개월인가) 그리고 당연하지만 이 서비스를 혼자 개발해야 했다.
이 다섯가지 이슈를 해결하기 위하여 AWS 클라우드 상에 생산성과 성능이 검증된 node.js 와 mongodb를 이용하여 서비스 백엔드를 구성하였고, multi-tenant를 구성하기 위한 여러가지 고민과 그 해결책을 직접 구현하였다. 필자는 node.js와 mongodb를 사용해 본 경험이 충분하다 생각했지만 대규모 정식 서비스를 진행하며 많은 함정에 빠졌고 결국 해결했다.
이 발표를 통해 청강자는 node.js와 mongodb를 이용하여 multi-tenant 인프라를 구축해야 할 때 고려해야 할 설계 방식과 기술적인 고민, 그것에 대한 현실적인 해법을 얻을 수 있다.
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
<p><span>장선진 Softwareinlife 팀장. 웹1.0과 웹2.0, 클라우드컴퓨팅 환경, 구글 앱 엔진의 이해와 장단점 및 개발환경과 활용(Google App Engine)에 대한 것으로 공개SW 역량프라자1차 정기 기술세미나 강연 내용입니다.</span></p>
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
CloudBread
클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 모든 서비스는 마이크로소프트의 클라우드 서비스인 Azure에 최적화되어 동작하며, 안정성과 확장성을 목표로 개발 중입니다.
기능
•PaaS / DaaS 서버 엔진•PaaS, DaaS 로 손쉬운 개발 및 서비스 즉시 배포
•Real Auto Scale - PaaS
•개발/테스트/배포 = 통합 환경
•서비스 규모에 따른 앱 변경 없음
글로벌 론칭 아키텍처
•글로벌 론칭+데이터 동기화
•설계 부터 클라우드에 최적화된 아키텍처 및 프레임워크로 개발
•오픈소스 프레임워크 활용 개발
보안, 관리, 기술교육
•저장/통신에 표준 암호화 기술 적용
•기본 관리자 서비스 및 커스터마이징
•분석/관리 배치 작업 추가 제작 가능
개발자 그룹
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
지원되는 모바일 & 클라이언트환경
•iOS, Android, Windows Phone, Windows 스토어앱, Xamarin, PhoneGap, Sencha 등
•Microsoft Azure Mobile Service가 지원하는 모바일 및 다양한 클라이언트 플랫폼 지원 : http://azure.microsoft.com/ko-kr/documentation/services/mobile-services/
설치
•Wiki의 튜토리얼 설치 참조
프로젝트 설명
•모바일게임과 모바일 앱에서 사용되는 사용자의 패턴과 액션을 기록해 기능들을 제공
•클라이언트 모바일 디바이스는 게임서버로 JSON 방식의 데이터를 요청하고 서버가 해당 데이터를 처리 후 응답
•약 100여개의 비즈니스 로직이 기본제공(Wiki 참조)
•클라이언트는 마이크로소프트가 오픈소스로 직접 만들어 제공하는 라이브러리를 통해 서버로 API를 호출
실행 예제와 API 리스트는 Wiki 참조
Contribute/질문/토론
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
CloudBread는 클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 이번 CloudBread 캠프는 Unity 개발자를 위한 CloudBread 캠프로 현장에서 제공되는 Unity 예제 게임을 이용해 실제 게임서버와 연동하는 과정을 직접 코딩하는 과정으로 진행됩니다. Unity와 클라우드 기반 게임서버를 연동하는 가장 손쉬운 방법을 CloudBread 캠프에서 확인하세요.
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
CloudBread
클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 모든 서비스는 마이크로소프트의 클라우드 서비스인 Azure에 최적화되어 동작하며, 안정성과 확장성을 목표로 개발 중입니다.
기능
•PaaS / DaaS 서버 엔진•PaaS, DaaS 로 손쉬운 개발 및 서비스 즉시 배포
•Real Auto Scale - PaaS
•개발/테스트/배포 = 통합 환경
•서비스 규모에 따른 앱 변경 없음
글로벌 론칭 아키텍처
•글로벌 론칭+데이터 동기화
•설계 부터 클라우드에 최적화된 아키텍처 및 프레임워크로 개발
•오픈소스 프레임워크 활용 개발
보안, 관리, 기술교육
•저장/통신에 표준 암호화 기술 적용
•기본 관리자 서비스 및 커스터마이징
•분석/관리 배치 작업 추가 제작 가능
개발자 그룹
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
지원되는 모바일 & 클라이언트환경
•iOS, Android, Windows Phone, Windows 스토어앱, Xamarin, PhoneGap, Sencha 등
•Microsoft Azure Mobile Service가 지원하는 모바일 및 다양한 클라이언트 플랫폼 지원 : http://azure.microsoft.com/ko-kr/documentation/services/mobile-services/
설치
•Wiki의 튜토리얼 설치 참조
프로젝트 설명
•모바일게임과 모바일 앱에서 사용되는 사용자의 패턴과 액션을 기록해 기능들을 제공
•클라이언트 모바일 디바이스는 게임서버로 JSON 방식의 데이터를 요청하고 서버가 해당 데이터를 처리 후 응답
•약 100여개의 비즈니스 로직이 기본제공(Wiki 참조)
•클라이언트는 마이크로소프트가 오픈소스로 직접 만들어 제공하는 라이브러리를 통해 서버로 API를 호출
실행 예제와 API 리스트는 Wiki 참조
Contribute/질문/토론
•페이스북 사용자 그룹 : https://www.facebook.com/groups/cloudBreadProject/
CloudBread는 클라우드 기반 무료 오픈소스 프로젝트로, 모바일 게임과 모바일 앱에 최적화된 게임 서버 엔진입니다. 이번 CloudBread 캠프는 Unity 개발자를 위한 CloudBread 캠프로 현장에서 제공되는 Unity 예제 게임을 이용해 실제 게임서버와 연동하는 과정을 직접 코딩하는 과정으로 진행됩니다. Unity와 클라우드 기반 게임서버를 연동하는 가장 손쉬운 방법을 CloudBread 캠프에서 확인하세요.
취향기반의 개인화 서비스를 통한 이커머스 혁신 – 소성운 ZIGZAG 데이터사이언티스트, 강상원 마이셀럽스 대표:: AWS Cloud We...Amazon Web Services Korea
패션 테크 스타트업 지그재그의 AWS 기반 지속 가능한 AWS 데이터 분석 플랫폼 구축과 Personalize를 활용한 개인화 상품 추천 서비스 구축 경험을 공유드립니다. [마이셀럽스] MATS(Mycelebs AI Transformation Suite)를 이용한 Data 수집, 시각화, 자동화를 통해 고객 취향 기반의 추천 서비스를 제공한 사례를 공유합니다.
* 행사 정보 :2016년 10월 14일 MARU180 에서 진행된 '데이터야 놀자' 1day 컨퍼런스 발표 자료
* 발표자 : Dylan Ko (고영혁) Data Scientist / Data Architect at Treasure Data
* 발표 내용
- 데이터사이언티스트 고영혁 소개
- Treasure Data (트레저데이터) 소개
- 데이터로 돈 버는 글로벌 사례 #1
>> MUJI : 전통적 리테일에서 데이터 기반 O2O
- 데이터로 돈 버는 글로벌 사례 #2
>> WISH : 개인화&자동화를 통한 쇼핑 최적화
- 데이터로 돈 버는 글로벌 사례 #3
>> Oisix : 머신러닝으로 이탈고객 예측&방지
- 데이터로 돈 버는 글로벌 사례 #4
>> 워너브로스 : 프로세스 자동화로 시간과 돈 절약
- 데이터로 돈 버는 글로벌 사례 #5
>> Dentsu 등의 애드테크(Adtech) 회사들
- 데이터로 돈을 벌고자 할 때 반드시 체크해야 하는 것
고객 중심 서비스 출시를 위한 준비 “온오프라인 고객 데이터 통합” – 김준형 AWS 솔루션즈 아키텍트, 김수진 아모레퍼시픽:: AWS C...Amazon Web Services Korea
AWS의 빅데이터 서비스들이 데이터 파이프라인 상에서 어떻게 활용 되는지와 데이터 모델링과 플랫폼 구축을 100% 내재화 하여 AWS와 함께 고객기반 서비스의 경쟁력을 강화 해나가는 고객 사례를 전해 드립니다. 국내 뷰티산업을 리딩 하고 있는 아모레퍼시픽에서 온/오프라인 고객 정보를 AWS 기반의 Data Lake로 통합 하고 고객 관점의 데이터 서비스를 출시 하는데 속도를 높이고 있는 성공 스토리를 직접 전해 드립니다.
15. 마케팅 비용과 유저 매출간의 ROI는 어떤지
어떤 마케팅 매체가 우리 앱에 잘 맞는지
마케팅으로 유입된 유저는 우리 앱에서 어떤 행동을 하는지
매출이 일어나긴 하는데 어떤 아이템이 잘 팔리는지
유저가 언제 처음 구매 / 재구매를 하는지
우리 유저들은 언제 이탈하는지
우리 앱은 어떤 국가 / 성별 / 연령 유저들이 주로 이용하는지
주요 마케팅 지표의 증가
16. 앱을 잘 만들어서 대박을 내는 것이 무엇보다 중요
자체 분석 지표를 직접 개발해 보려고 하니
앱 마케팅에 대한 깊은 이해가 필요
가장 중요한 점은 앱을 잘 만들기에도 빠듯한 인력과 시간
중견 개발 업체의 어려움
17. 자체 분석툴과 팀이 이미 존재하며
국내 최강 분석력을 자랑
하지만 트래킹 시스템은 국내 / 해외 매체와의 협업이 문제
성과 트래킹 기능을 직접 개발하기가 어려움
대형 개발 업체의 어려움
24. 애드브릭스 개발팀은
내부를 돌아볼 새도 없이
최대한 빠르게 고객이 원하는 기능을
제공하는 것을 목표로
숨막히는 레이스를 펼침
http://www.motorian.kr/?p=39154
25. 딥링크 성과 측정 (예정)
노출 기반 성과 측정 (예정)
매체 / 광고주 이벤트 포스트백
페이스북 앱 인스톨 캠페인 지원
구글 애드워즈 UAC 캠페인 트래킹 지원
트래킹링크 시스템 개편
매체 성과 포스트백 기능 추가
구글 애드워즈 포스트백 국내 최초 지원
애드브릭스 열람 권한 개편
글로벌 전체 해외 매체 파트너십 연동
모바일 비즈니스 플랫폼 개편
최근 애드브릭스 업데이트
1년 만에
업데이트 한 내용들
44. 기존 시스템은 빠르게 소비자의 요구에 부응하고
그 와중에 새로운 시스템을 구현
기존 데이터를 데이터 레이크에 올린 뒤
양쪽에 동일한 데이터를 입력해서 동일한 결과를 출력하는지 확인
동일한 결과를 출력한 지 2주일이 지나면
‘마치 없었던 일 처럼‘ 시스템을 교체한다!
컨셉
45. 시스템 양쪽에 실시간 데이터를 전달할지
기존에 저장된 데이터를 데이터 레이크에 어떻게 옮길지
양쪽에서 동일한 결과물을 출력하는지 어떻게 확인할지
시스템을 교체하는 동안 유입되는 신규 유저 액티비티는 어떻게 보관할지
막막한 상황
실제로 하려니
46. 중간에 액티비티 큐를 하나 두고,
큐에 있는 데이터를 읽는 워커가 양쪽으로 데이터를 전달
기존에 저장된 스토리지 데이터는
레플리카를 제작해서 우선 데이터를 안전하게 카피하고
카피한 데이터를 데이터 레이크에 올리자
기존 시스템은 기존처럼 고객에게 지표를 제공하고
새 시스템은 개발자가 직접 지표를 확인
해결책
47. Adbrix User
Mobile
Device
Route 53
Analytics
Web Service
MSSQL
Analytics
AWS Tokyo region
Tracking API
MSSQL
Activity
Storage
Activity
Queue
Activity
Storage
Activity
Stream
Worker
Activity
Streams
Web API
Spark
Daily Batch
Process
Adbrix
Developer
Activity
Worker
MSSQL
Activity
Storage
Replica
49. 목요일 새벽에 시스템 교체
예상과는 다르게 큰 문제 없이 수 분 내에 바로 교체완료
50. Adbrix User
Mobile
Device
Route 53
Analytics
Web Service
MSSQL
Analytics
AWS Tokyo region
Tracking
Web API
Activity
Storage
Activity
Stream
Worker
Kinesis
Activity
Streams
Tracking
Web API
Spark
Daily Batch
Process
Activity
Queue
Activity
Worker
52. 금요일에 분석 결과에서 신규 유저 수치에 이슈 발생
키네시스 스트림 리텐선 피리어드 1주일로 연장
분석 지연시키고 바로 로직 확인
이슈 발생
53. 데이터 저장 시 유저 번호 발급 로직에 문제
새로운 스트림 워커에서 데이터 리스토어
리스토어된 데이터에서 분석 다시 진행
이슈 해결
54. Adbrix User
Mobile
Device
Route 53
Analytics
Web Service
MSSQL
Databases
Analytics
AWS Tokyo region
Activity
Storage
Activity
Stream
Worker
Kinesis
Activity
Streams
Activity
Tracking
Web API
Spark
Daily Batch
Process
Activity
Restore
Stream
Worker
Activity
Restore
Storage
55. 금요일 신규유저 수치에도 문제 발생
왜지??
아무리 찾아봐도 문제가 보이지 않음
그런데 토요일에