© 2019, Kmong, Inc. or its affiliates. All rights reserved.
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong’s Growth
GMV
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong’s Growth
x4
Member 99
Team 10
Member25
Team 4
2018년 1월 Present
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong Data Team
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Intro to Kmong’s Data Team
2018.1 최초 팀 빌딩
• 1 Data Analyst
현재 팀원 구성
• 1 Data Analyst
• 1 Server Engineer
• 1 Deep Learning / Modeler
Present
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Intro to Kmong’s Data Team
Data Infra
• 파이프라인 구축 및
자동화
•
•
•
Analysis
• KPI 정의 및 관리
•
•
• Ad-HocAnalysis
•
•
•
•
Big Data /AI
• ML/ DL
•
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Startup & Data
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
2016
1.59 PB 1.45 PB
11.31 PB
9.70 PB
2018
약 7배
기업별 평균 데이터 보유량 급증
약 20배
크몽 데이터 보유량의 변화
1TB
20TB
Startup & Data 스타트업에게 데이터란?
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Startup & Data 스타트업에게 데이터란?
Business
• 경영 전략 지표
• 운영 지표
• 서비스 개발
• 상품 개발
Development
• 이용자 행동 지표
• 퍼널분석
• 전환/이탈
Marketing
• 유입 채널 분석
• 광고 효율
“성장”
Management MarketerUXArchitect
Product Manager
DataAnalyst
Growth Manager CX Manager
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Demands on Data
데이터 수요자
조직 내부 고객

크몽 데이터 팀 이슈
1. 적은 규모의 데이터팀 (1~3인)
2. 반복적이고 비슷한 유형의 데이터 요청
3. 데이터 요구량과 비례하는 커뮤니케이션 비용 증가
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Demands on Data
Data pipeine 구축
빠르고 효율적인 데이터기반 의사결정
환경 도구 문화
데이터 수요자
조직 내부 고객

© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Demands on Data
Data pipeine 구축
빠르고 효율적인 데이터기반 의사결정
환경 도구 문화
데이터 팀 역량 집중
고객 대응 및 데이터 엔지니어링 역량 강화
빅데이터 처리 및 분석 ML/DL
데이터 수요자
조직 내부 고객

© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong Datapipeline 구축과정
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong Data Pipeline Architecture
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Collection
유형별 분류
1. 로그 데이터
User Action Event Log, 고객센터 CTI‧Call
Log, 서버 로그 …
2. 운영 / 상품 데이터
상품 주문, 적립금 관리, 카테고리 관리 …
3. 통계 데이터
Google Analytics, App Report,
Marketing Report
주기별 분류
1. 기간별 (Iteration)
Daily, Weekly, Monthly …
2. 실시간성 (Realtime)
사용자클릭/주문정보등
수집 데이터 분류
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Collection
Data Lake Needs Definition
1. 수집 데이터는 ‘한 곳’에 저장해야한다.
2. 저장 & 처리 공간이 유연(Scalable) 해야 한다.
3. 데이터 생애 주기(Data Life Cycle) 정의가 가능해야한다.
4. 안정적으로 서비스가 운영되어야 한다.
(운영용, 통계용 DB Computing Resource 분리)
5. 데이터 관련 다양한 솔루션들과 호환이 쉬워야 한다.
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Collection
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
RDS(Aurora) Replication Server & Custom Endpoint
Contents DB Replication DB
=>동시다발적인 데이터 요청에도 운영 서비스에 영향을 미치지 않고 동작
Database 워크로드 분산 및 로드밸런싱
Aurora-Cluster
Replication Server
Custom Endpoint
Replication Server
Replication Server
Write
Read
Read
Read
Data Collection
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Infrastructure
Jupyter Server on Single InstanceBefore
• 처리하고자 하는 데이터의 사이즈가 제한적임
• 컴퓨팅 리소스의 한계로 인한 처리 시간 문제
• 팀원이 늘어나면서 한계 상황이 가속화 됨
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Infrastructure
Jupyter Server on Single InstanceBefore
• 처리하고자 하는 데이터의 사이즈가 제한적임
• 컴퓨팅 리소스의 한계로 인한 처리 시간 문제
• 팀원이 늘어나면서 한계 상황이 가속화 됨
EMR(Elastic MapReduce)After
• Amazon EMR은 관리형 하둡 프레임워크
• 유연한 메모리, 저장공간 & 컴퓨팅 리소스
• 개발자별 독립적인 개발환경 제공
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Infrastructure
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Infrastructure
EMR – Jupyter Hub
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Infrastructure
EMR - Zeppelin EMR - Ganglia
Schedule Job Cluster Monitor System
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Deploy Architecture
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Deploy - Data Warehouse & BI
• EMR 배치작업을 통해 처리된 데이터를
시각화
• 전체 프로세스 및 업데이트 자동화 영역
End-Users
사내수요자
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
AWS QuickSight
Deploy - Data Warehouse & BI
Power BI
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Deploy - Service(AI)
• 빅데이터 처리 및 AI영역 강화를 통해 개인화 맞춤추천 등
고객의사결정을 도울 수 있는 컨텐츠 개발 / 제공
End-Users
고객 / 잠재고객
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Process 조직 내 데이터 활용 활성화
2
데이터 추출 템플릿화
• Row-Based Back Data 형태
관점에 따라 재사용 가능
• 분석자가 직접 추출할 수 있는 템플릿제공
데이터 공급 자동화1
3
추출/분석도구 활용
교육• SQL 교육 (최소한 데이터 조건, 쉬운 것 부터..)
• BI 활용법 교육 (BI Tool 접근성 & 난이도 낮추기)
• MSExcel교육
• 다양한 형태의 대시보드 제공 BI, 스프레드시트 …
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Kmong Data Pipeline Architecture
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Data Pipeline 구축 성과
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
Lesson Learned
정석 vs. 속도1
• 저희가 ‘정석’은 아닙니다.
• 스타트업에게 중요한 것은 속도 & 효율 & 커뮤니케이션.
• 정석을 추구해야하지만, 조직 규모에 맞는 환경을 빠르게 구현하는 것이
중요
스타트업은 데이터 파이프라인 구축도 ‘린’하게2
• 개발 조직(데이터팀) 성장 단계에 기능을 순차적으로 구현하는 것도 중요
• 4개월 간 수 많은 시도와 시행 착오, 현재도 ‘린’ 하게 데이터파이프라인
구축 진행
데이터를 가지고 이야기하는 문화3
• 분석자가 누구에게 요청하지 않고 스스로 추출하고, 분석하는 분위기
만들기
• 데이터에 기반한 의사 결정 구조와 조직문화를 만드는 것이 무엇보다 중요
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
유저 데이터 분석 & 퍼널 개선 개인 맞춤 추천 서비스
Achievements
1차
2차1차
2차
추천 컨텐츠 클릭 전환율 80% 상승구매 전환율 30% 상승 / 서비스 이탈율 40% 감소
(2018)
© 2019, Kmong, Inc. or its affiliates. All rights reserved.
감사합니다.
박재영
craig@kmong.com 010.5229.7980
Kmong

[DevGround] 린하게 구축하는 스타트업 데이터파이프라인

  • 1.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved.
  • 2.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved.
  • 3.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong’s Growth GMV
  • 4.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong’s Growth x4 Member 99 Team 10 Member25 Team 4 2018년 1월 Present
  • 5.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong Data Team
  • 6.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Intro to Kmong’s Data Team 2018.1 최초 팀 빌딩 • 1 Data Analyst 현재 팀원 구성 • 1 Data Analyst • 1 Server Engineer • 1 Deep Learning / Modeler Present
  • 7.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Intro to Kmong’s Data Team Data Infra • 파이프라인 구축 및 자동화 • • • Analysis • KPI 정의 및 관리 • • • Ad-HocAnalysis • • • • Big Data /AI • ML/ DL •
  • 8.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Startup & Data
  • 9.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. 2016 1.59 PB 1.45 PB 11.31 PB 9.70 PB 2018 약 7배 기업별 평균 데이터 보유량 급증 약 20배 크몽 데이터 보유량의 변화 1TB 20TB Startup & Data 스타트업에게 데이터란?
  • 10.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Startup & Data 스타트업에게 데이터란? Business • 경영 전략 지표 • 운영 지표 • 서비스 개발 • 상품 개발 Development • 이용자 행동 지표 • 퍼널분석 • 전환/이탈 Marketing • 유입 채널 분석 • 광고 효율 “성장” Management MarketerUXArchitect Product Manager DataAnalyst Growth Manager CX Manager
  • 11.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Demands on Data 데이터 수요자 조직 내부 고객  크몽 데이터 팀 이슈 1. 적은 규모의 데이터팀 (1~3인) 2. 반복적이고 비슷한 유형의 데이터 요청 3. 데이터 요구량과 비례하는 커뮤니케이션 비용 증가
  • 12.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Demands on Data Data pipeine 구축 빠르고 효율적인 데이터기반 의사결정 환경 도구 문화 데이터 수요자 조직 내부 고객 
  • 13.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Demands on Data Data pipeine 구축 빠르고 효율적인 데이터기반 의사결정 환경 도구 문화 데이터 팀 역량 집중 고객 대응 및 데이터 엔지니어링 역량 강화 빅데이터 처리 및 분석 ML/DL 데이터 수요자 조직 내부 고객 
  • 14.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong Datapipeline 구축과정
  • 15.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong Data Pipeline Architecture
  • 16.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Collection 유형별 분류 1. 로그 데이터 User Action Event Log, 고객센터 CTI‧Call Log, 서버 로그 … 2. 운영 / 상품 데이터 상품 주문, 적립금 관리, 카테고리 관리 … 3. 통계 데이터 Google Analytics, App Report, Marketing Report 주기별 분류 1. 기간별 (Iteration) Daily, Weekly, Monthly … 2. 실시간성 (Realtime) 사용자클릭/주문정보등 수집 데이터 분류
  • 17.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Collection Data Lake Needs Definition 1. 수집 데이터는 ‘한 곳’에 저장해야한다. 2. 저장 & 처리 공간이 유연(Scalable) 해야 한다. 3. 데이터 생애 주기(Data Life Cycle) 정의가 가능해야한다. 4. 안정적으로 서비스가 운영되어야 한다. (운영용, 통계용 DB Computing Resource 분리) 5. 데이터 관련 다양한 솔루션들과 호환이 쉬워야 한다.
  • 18.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Collection
  • 19.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. RDS(Aurora) Replication Server & Custom Endpoint Contents DB Replication DB =>동시다발적인 데이터 요청에도 운영 서비스에 영향을 미치지 않고 동작 Database 워크로드 분산 및 로드밸런싱 Aurora-Cluster Replication Server Custom Endpoint Replication Server Replication Server Write Read Read Read Data Collection
  • 20.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Infrastructure Jupyter Server on Single InstanceBefore • 처리하고자 하는 데이터의 사이즈가 제한적임 • 컴퓨팅 리소스의 한계로 인한 처리 시간 문제 • 팀원이 늘어나면서 한계 상황이 가속화 됨
  • 21.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Infrastructure Jupyter Server on Single InstanceBefore • 처리하고자 하는 데이터의 사이즈가 제한적임 • 컴퓨팅 리소스의 한계로 인한 처리 시간 문제 • 팀원이 늘어나면서 한계 상황이 가속화 됨 EMR(Elastic MapReduce)After • Amazon EMR은 관리형 하둡 프레임워크 • 유연한 메모리, 저장공간 & 컴퓨팅 리소스 • 개발자별 독립적인 개발환경 제공
  • 22.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Infrastructure
  • 23.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Infrastructure EMR – Jupyter Hub
  • 24.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Infrastructure EMR - Zeppelin EMR - Ganglia Schedule Job Cluster Monitor System
  • 25.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Deploy Architecture
  • 26.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Deploy - Data Warehouse & BI • EMR 배치작업을 통해 처리된 데이터를 시각화 • 전체 프로세스 및 업데이트 자동화 영역 End-Users 사내수요자
  • 27.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. AWS QuickSight Deploy - Data Warehouse & BI Power BI
  • 28.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Deploy - Service(AI) • 빅데이터 처리 및 AI영역 강화를 통해 개인화 맞춤추천 등 고객의사결정을 도울 수 있는 컨텐츠 개발 / 제공 End-Users 고객 / 잠재고객
  • 29.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Process 조직 내 데이터 활용 활성화 2 데이터 추출 템플릿화 • Row-Based Back Data 형태 관점에 따라 재사용 가능 • 분석자가 직접 추출할 수 있는 템플릿제공 데이터 공급 자동화1 3 추출/분석도구 활용 교육• SQL 교육 (최소한 데이터 조건, 쉬운 것 부터..) • BI 활용법 교육 (BI Tool 접근성 & 난이도 낮추기) • MSExcel교육 • 다양한 형태의 대시보드 제공 BI, 스프레드시트 …
  • 30.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Kmong Data Pipeline Architecture
  • 31.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Data Pipeline 구축 성과
  • 32.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. Lesson Learned 정석 vs. 속도1 • 저희가 ‘정석’은 아닙니다. • 스타트업에게 중요한 것은 속도 & 효율 & 커뮤니케이션. • 정석을 추구해야하지만, 조직 규모에 맞는 환경을 빠르게 구현하는 것이 중요 스타트업은 데이터 파이프라인 구축도 ‘린’하게2 • 개발 조직(데이터팀) 성장 단계에 기능을 순차적으로 구현하는 것도 중요 • 4개월 간 수 많은 시도와 시행 착오, 현재도 ‘린’ 하게 데이터파이프라인 구축 진행 데이터를 가지고 이야기하는 문화3 • 분석자가 누구에게 요청하지 않고 스스로 추출하고, 분석하는 분위기 만들기 • 데이터에 기반한 의사 결정 구조와 조직문화를 만드는 것이 무엇보다 중요
  • 33.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. 유저 데이터 분석 & 퍼널 개선 개인 맞춤 추천 서비스 Achievements 1차 2차1차 2차 추천 컨텐츠 클릭 전환율 80% 상승구매 전환율 30% 상승 / 서비스 이탈율 40% 감소 (2018)
  • 34.
    © 2019, Kmong,Inc. or its affiliates. All rights reserved. 감사합니다. 박재영 [email protected] 010.5229.7980 Kmong

Editor's Notes

  • #3 크몽은 IT, 디자인, 마케팅 등 다양한 카테고리의 15만+ 전문가를 보유한 프리랜서 마켓 서비스이며, 일자리 재편의 시대의 Gig 경제 선두주자로 자리매김 하고 있습니다
  • #5 크몽 내 팀과 멤버의 빠른 성장 속도 소개 크몽의 빠른 조직성장은 데이터 파이프라인구축 동기 -- 조직의 성장과 같이 데이터 또한 크게 증가하게 되었다.
  • #7 크몽 데이터 팀은 작년 1월에 데이터 분석하는 멤버를 영입하면서 빌딩 되었고, 지금 현재 데이터 분석,서버엔지니어,모델러 이렇게 3인의 멤버로 운영되고 있습니다. -- 크몽 데이터 팀 소개를 드리면 작년 1월에 한명의 팀원으로 시작하게 되었고 작년에는 저도 개발에 참가하였고 올해 모델러가 합류하여 총 세명이다.
  • #8 크몽 데이터팀은 인프라 스트럭처를 구축하고 크몽내 필요한 분석 업무를 수행하고, 추천 시스템 개발쪽을 진행하였다
  • #10 전 세계적으로 기업들의 데이터 보유량은 급증해왔고, 크몽 역시 불과 1년 사이의 데이터 보유량은 20배가 증가하였습니다. 물론 데이터 량 뿐 아니라 데이터 질 역시 중요한 것이겠죠. -- 제가 이 이야기를 말씀드리는 이유는 스타트업에게 데이터의 중요성은 이 자리에 계신 여러분께서는 다 알고계시겠지만, 크몽 쪽에서도 데이터의 양이 1년간 약 20배정도 증가하게 되었고, 이 데이터들이 어떻게 비즈니스적인 면에서 효율적으로 활용되었는지
  • #11  스타트업에게 있어 데이터란 어떤 존재일까요? 스타트업의 핵심 키워드는 ‘성장' 이라고 생각하는데 동의하시나요? 이렇게 성장이 핵심 가치인 스타트업은 사업 운영을 위한 경영 전략적인 관점에서, 서비스 개선을 위한 개발적인 관점에서, 그리고 고객 유입을 위한 마케팅적인 관점에서 ‘좋은’ 데이터 지표가 필요합니다. 그리고 사업 모델과 ‘성장’단계마다 바라봐야하는 데이터 지표도 달라질 것입니다. 이렇게 데이터가 각 조직구성원에게 인사이트를 제공하고, 의사 결정과 행동에 실질적으로 반영될 수 있도록 환경을 갖추는 것은 스타트업에 있어 너무나 중요한 과제입니다.
  • #12 크몽 데이터팀이 만들어지고 나서 첫번째 과제는 조직 내부와 고객에게 빠르고 효율적으로 데이터를 공급해야하는 것이었습니다. 조직 내부는 성장에 따라 많은 팀원들이 합류하게 되었고, 데이터 요청량 또한 증가하게 되었습니다. 고객들에게는 데이터를 기반으로 한 추천서비스 같은 개인화된 컨텐츠 개발이 중요 과제 였습니다. 조직 내 데이터 요청 건에 대응하는 것만으로 1~2 인규모의 데이터 팀은 힘들 수 밖에 없었고, 데이터 축출 및 분석 뿐 아니라 커뮤니케이션 비용 또한 만만치 않게 되었습니다. -- 데이터팀의 이슈로는 내부쪽에서 다양한 관점의 데이터를 공급하는 역할을 하고 서비스쪽에서 컨텐츠를 제공하는 역할을 하는데 이런 다양한 역할들을 소규모의 팀에서 어떻게 효율적으로 처리할수있는가? 조직이 커져가면서 다양한 데이터 대응 업무에만 매몰될수밖에 없었기에, 정작 중요한 데이터 분석을 진행할수 없었다. 추천 등을 할 수 있는 여건이 안되었고, 다른 스타트업또한 비슷한 상황에 처해있었다.
  • #13 그래서 저희가 중요한 결심을 하게 됩니다. 타 팀에게 데이터 요청 대응을 최소화하고, 그 시간에 데이터파이프라인을 구축하는 것. 그렇게 해야 데이터팀이 조금더 생산적인 일에 집중할 수 있을 것 같다는 결론을 내리고 회사 전체에게 양해를 구하고 데이터 파이프라인 구축에 집중했습니다. -- 그래서 저희가 결정했었던것이 조직내에 양해를 구하고 데이터 파이프라인을 구축해서 데이터 공급을 자동화하는것을 하였다. 이는 크몽 조직내에서 양해가 있었기에 가능하였다.
  • #14 그런 과정을 거쳐 단순 데이터 대응 뿐 아닌 대용량 데이터 처리 분석 기술을 탐색하고 추천 서비스 같은 머신러닝/딥러닝 개발에 집중할 수 있었고 이는 데이터 팀 구성원의 업무 역량 강화 및 업무 만족도에도 지대한 영향을 끼쳤습니다. 그러기 위해선 먼저 빠른 데이터파이프라인 구축 과정이 필요했습니다. 타 팀의 니즈를 외면한 상황이었기에, 적은 인원으로 빠르게 구축하는 것이 절실했습니다. 30명 정도의 규모일 때도 데이터 요청 대응이 느리다는 원성을 들었습니다. 그것마저 중단하겠다고 선언하자, 욕 엄청 먹었습니다. 그 때부터 머리가 빠지기 시작했어요.. 하지만 데이터 파이프라인을 구축하고, 그것을 활용해 조직 내 데이터 공급을 자동화 시키면서 지금 현재 100명 가까운 조직 내에서도 데이터 요구 대응과 관련한 불만은 현저히 줄었습니다. -- 사내에서 욕을 많이 먹었다. 그런 과정을 끝난 이후에는 개인 컨텐츠 추천 서비스 등을 구현 할 수 있었다. 이런 데이터파이프라인을 구축함으로써 기존의 데이터엔지니어에게 좋은 환경을 제공할수있었고, 이렇게 매력적인 환경은 좋은 데이터 엔지니어를 모시는데 도움이 될꺼라고 생각했다.
  • #16 그렇게 지난 4개월 동안 구축한 데이터파이프라인의 모습은 이와 같습니다. 다음 부터 그렇게 소규모로 빠르게 구축한 과정을 설명드리겠습니다. -- 운영서비스, 우리 서비스를 사용하는 사용자들에게 오는 다양한 정보들을 데이터레이크로 수집하는 과정이 있고, 우리는 이 수집하는 솔루션을 s3를 사용하였고 그 데이터를 처리하기위해서 아마존EMR프레임워크를 사용하였고, EMR에서 처리되어져서 오는 데이터를 데이터 웨어하우스로 넘겨지는 큰 그림으로 구축하였는데 이과정을 단계적으로 여러분에게 설명드리고자한다.
  • #17 먼저 데이터 수집 과정부터 만들어야 했는데 어떤 데이터가 필요할까 에 대한 정의와 데이터 유형별, 수집 주기별 분류가 필요했습니다. 유형으로는 사용자 정보 데이터, 주문, 카테고리별 컨텐츠 수 와 같은 서비스 운영과 관련한 데이터, 그리고 통계 데이터로 분류할 수 있었고, 데이터 수집 주기로 분류했을 땐 일별 주별 같이 텀을 가지고 수집해야하는 데이터와 실시간으로 모으고 적용해야하는 데이터들이 있었습니다. 그리고 그 데이터들을 어떻게 저장하고 관리할 것인가에 대한 고민이 뒤 따랐습니다. -- 먼저 데이터수집단계에서 여러분에게 설명드리려고 하는데, 우리쪽에서 필요한 데이터를 우선 분류하는 작업이 필요하였다. 로그 데이터나 운영/상품 데이터 통계데이터등 유형별로 분류할수있었고 실시간으로 대응해야하는 주기별로 데이터를 분류할수있었다.
  • #18 그 데이터 저장/공급소 같은 역할을 할 곳을 데이터 레이크라고 부르는 데요.. 그것에 대한 우리의 니즈를 정의해봤습니다. 먼저 그 전 크몽의 데이터는 여기저기 분산되어 있었습니다. 그래서 찾기도 힘들고, 가지고 오기도 힘들었습니다. 당연히 보기도 힘들고 처리하기도 힘들었습니다. 그래서 수집 데이터는 한 곳에서 처리해야한다는 니즈를 설정했고, 갖가지 경로로 다양한 데이터를 수집되기 때문에 수집 공간이 유연하게 확장성을 갖출 수 있어야 한다. 그리고 데이터도 생명 주기라는게 있자나요.. 일정 시점이 지나면, 잘 찾지 않게 되고, 버려야하는 데이터들도 있습니다. 이런 데이터 라이프 사이클 관리가 편한 저장소였으면 좋겠다. 그리고 데이터를 가지고 올 때 서비스 운영에 영향을 미치지 않도록 하는 과정의 처리가 필요하다. 그리고 뒤에 구축할 데이터 처리 및 웨어하우스 BI툴과의 호환성도 중요 과제 였습니다. 그래서 그 고민에 있어 구현한 모습은 다음과 같습니다. -- 다양한 데이터를 한곳에 저장하기 위해서 우리가 필요한 요건들을 정의를 내렸다. 이전에는 수집된 데이터들이 굉장히 산재되어 있었다. 어떤것은 운영서버 어떤것은 S3 어떤것은 다른곳에 있었는데, 이는 찾는데도 시간이 걸렸고 처리하는과정도 복잡하였다. 그래서 이러한 데이터들을 한곳에 모으는것을 지금 현재는 진행하고있고, 할수있었다. 아까 보셨다시피 크몽의 데이터는 1TB에서 20TB까지 약 20배정도 성장하였다. 앞으로도 이러한 추세가 지속될것이라고 보고 저장 및 처리 공간이 유연해야 한다. 좋은 데이터를 모으는것도 중요하지만 데이터를 관리하는것도 중요하다. 그러기위해서 데이터 라이프 사이클 정의가 중요한데, S3의 경우 버킷별로 그런 데이터 라이프 사이클에 대한 정의가 가능하였다. 그리고 안정적으로 서비스가 운영되기 위해서는 운영 서버 환경과 분리되어 저장해야하는 환경이 필요했다. 이를 왜 말씀드리냐면 다른, 이전의 스타트업의 경우 모든 데이터를 RDB로 다 모으는 방식이 심심치 않게 볼수있었는데, 이런것들이 서비스에 영향을 미치는것을 지금도 볼수있고 저희또한 그러하였다. 데이터 수집뿐만 아니라 처리에 필요한 다양한 솔루션들과 호환이 쉬어야하는데 우리는 이러한 니즈를 앞서 말씀드린것과 같이 S3에 모으고있다.
  • #19  각종 수집 정보들은 키네시스 등을 통해 S3로 모으고, 실시간으로 대응이 필요한 내용은 보통 운영 데이터베이스에 저장된 데이터가 많아 데이터 파이프라인용 리플리케이션 서버를 만들고, 커스텀 엔드 포인트를 두어 대응할 수 있도록 구성했습니다. S3 의 장점이야 여러분들도 많이 아실건데요. 위에서 정의한 저희의 니즈를 다 만족시킬 뿐더러 쉽게 데이터를 저장하고 활용할 수 있었습니다. 최근엔 AWS 컨설팅을 받아 데이터 생명주기들을 각 데이터별, 버켓 별 적용하기 시작하고 있고, 그래서 그레시어 또한 같이 활용하고 있습니다. 실시간으로 데이터를 가져오는 것에 대한 고민이 많았습니다. 여러 구현 모델들을 살펴보고 검토했었는데, 제일 쉽고 빠른 방법은 -- 실시간적으로 데이터를 바라봐야하는데, 이를 어떻게 처리해야할까 고민중에 배치 프로세싱에 대한 여러 아키텍처를 고민했었는데 의외로 답은 쉬운곳에 있었다. RDB쪽에서 레플리케이션 서버를 만들고 커스텀앤드포인트를 만들었을때 운영서버에 지장을 안주는것을 확인할수 있었고, 이부분에 대해 굉장히 걱정이 많아서 AWS SE분이나 솔루션사 엔지니어분에게도 확인을 받았는데, 크게 지장이 없다는것을 확인받았다. 이러한 데이터 통신 과정을 거쳐서 실시간성데이터는 레플리카서버를 통해 워크로드에 영향을 주지 않는것을 확인하였다.
  • #20 운영 데이터베이스 클러스터에 데이터파이프라인용 리플리케이션 서버을 구성하고, 커스텀 엔드 포인트를 만들어 운영 데이터베이스에 워크로드를 최소화 하면서 데이터를 가지고 오는 방법이었습니다. AWS 레퍼런스에는 그렇게 적혀 있는데, 사실 믿기지 않았습니다. 그렇게 구현했다가, 운영서버에 지장을 주기라도 하면… 그래서 MSP 업체 엔지니어 분과 AWS SA분들에게 자문을 구했었고, 괜찮다라는 답변을 들었습니다. 그래도 걱정은 되었습니다. 테스트를 했었고 위와 같은 결론을 지표를 보고서야 적용할 수 있었습니다. 파란색이 리플리케이션이 몇 분의 지연 없이 바로 가지고 와서 적용할 수 있게 되었고, 데이터 파이프라인에서, 실시간 데이터 대응이 필요한 포인트에 다양한 방법으로 활용하고 있습니다.
  • #21 Emr 의 가장 큰 장점 중 하나는 AWS 스토리지 레이어와 잘 붙는다는 것 -- 그리고 데이터 인프라스트럭처에대해서도 말씀을 드려야 하는데 처음에는 데이터 팀 규모가 한명에서 두명이었을때는 쥬피터서버를 싱글인스턴스를 통해 활용하였는데, 팀원이 많아지면서 데이터가 많아지면서
  • #22 Emr 의 가장 큰 장점 중 하나는 AWS 스토리지 레이어와 잘 붙는다는 것 -- 그래서 저희가 하둡기반의 스파크기반의 환경을 구성하고싶었으나, 이 적은 인원으로 그 환경을 구축하는것은 시간적으로 불가능하였다. 그래서 저희가 선택한것은 AWS의 EMR 이었는데, 아시다시피 프레임워크여서 손쉽게 구성할수있었다. 스케일 옵션을 통해서 유연하게 리소스등을 구축할수있었다. 가장 매력적인것은 팀원별 개발환경을 제공할수 있었다.
  • #23 Emr 의 가장 큰 장점 중 하나는 저희가 사용하고 있는 다양한 AWS 스토리지 레이어와 잘 붙는다는 것 -- EMR의 또다른 장점은 크몽서비스 같은 경우에 AWS 올인원 환경에서 운영되는데, 모든 AWS에서 돌아가는 스토리지등과 호환이 잘되고 그것뿐만아니라
  • #24 -- 저희가 기존에 활용하였던것은 싱글인스턴스 기반의 쥬피터서버였었는데 도커를 통한 쥬피터허브를 통해 기존의 소스를 모두 활용할수있었고 그리고 또한 쥬피터허브는 여려명이 사용했을때 보안 이슈가 있는데, 개발자별 독립된 서버를 제공할수있어서, 독립된 개발 환경을 쾌적한 개발 환경을 제공할수있었고, 향후적으로 고민하고있는것은 팀별 쥬피터허브를 공급함으로써 각팀에서 스파크기반의 데이터 처리 환경을 갖출수 있을꺼라는 기대도 있었다.
  • #25 -- 제플린의 스케줄링잡을 통해 주기적으로 처리해야하는 데이터를 수행하였고, 강글리아라는 툴을 통해 서버의 리소스 환경을 모니터링할수있었다.
  • #27 -- 그런 처리되어진 데이터들을 레드시프트와 S3에 퀵사이트 PowerBI 타블로까지 전조직원에게 BI툴로 제공하고있다.
  • #28 -- 이쪽은 AWS 퀵사이트 구현장면이고 반대쪽은 Power BI 구현장면인데 한조직내에서 여러가지의 BI 툴을 쓰는것은 리소스적인, 유지보수 관리적인 문제가 있지만 우리는 전처리 과정을 자동화함으로 인해 목적성에 맞는 BI툴을 사용하고, 조직원에게 공급할수있었다.
  • #29 -- 그것뿐만 아니라 이렇게 처리된 고객들에게 추천서비스를 제공할수있었고,
  • #30 조직내 데이터 활용 활성화 라고 타이틀을 붙여봤는데 이렇게 구현해놓아도, 조직내에서 데이터를 적절하게 활용하게 만드는 것에 대한 고민이 필요했습니다. 가장 좋은 툴은 본인에게 익숙한 것이라고 보통 이야기들 하자나요.. 일단 데이터 공급을 자동으로 구축하고 나니 요청 건수가 줄어들면서 팀 간 커뮤니케이션에 드는 시간 자체가 많이 줄었들었습니다. 자동화 구축을 통해 각 팀별 보고 싶어 하는 데이터 특성에 맞는 BI 툴도 다양하게 지원할 수 있게 되었구요.
  • #31 그렇게 지난 4개월 동안 구축한 데이터파이프라인의 모습은 이와 같습니다. 다음 부터 그렇게 소규모로 빠르게 구축한 과정을 설명드리겠습니다. -- 운영서비스, 우리 서비스를 사용하는 사용자들에게 오는 다양한 정보들을 데이터레이크로 수집하는 과정이 있고, 우리는 이 수집하는 솔루션을 s3를 사용하였고 그 데이터를 처리하기위해서 아마존EMR프레임워크를 사용하였고, EMR에서 처리되어져서 오는 데이터를 데이터 웨어하우스로 넘겨지는 큰 그림으로 구축하였는데 이과정을 단계적으로 여러분에게 설명드리고자한다.
  • #33 시스템 구축/정석 가이드가 좋은 건 안다 하지만 스타트업에게 중요한 것은 효율/속도/커뮤니케이션 데이터파이프라인 이 구축할 때 중요한 것은 조직이 처한 조직적 환경에 맞추어 기능들을  순차적으로 구현하는 과정이 중요 구축하는 과정 조차 ‘린’’다. 지금도 ‘린’하다. 가장 좋은 것은 데이터를 가지고 이야기하는 문화가 되었다. 보고 싶은 것들은 누구의 요청하지을 받지 않고 스스로 축출 하고, 스스로 분석할 수 있는 분위기로 변화됨을 느꼈다. 중요한 것은 빠르고 유연하며, 데이터에 기반한 의사결정 구조와 조직문화라고 생각 개별 팀원 들의 인사이트 만이 아니라, 데이터를 같이 보고 의견과 지혜를 모아서 각 개별 팀들이 자율적으로 동기를 가지고 공통의 목표를 달성하기 위해 노력하는 문화으로 형성하기 위해 끊임없이 노력하는 것 -- 우리가 이러한것을 구축하면서 배웠었던 것들은 여러분들도 잘 아시겠지만 정석은 아닙니다. 스타트업에게 중요한것은 성장이고, 성장속도에 걸맞는 빠른 속도로 데이터 파이프라인을 구축하고 조직내에 데이터를 공급하는것도 너무나도 중요하다. 정석도 중요하지만, 계속 가져가야할 태도지만, 조직 규모에 맞게 빠르게 구현하는것이 중요하고 데이터파이프라인 구축을 스타트업에서는 처음부터 너무 잘할려고 하지 않아도 된다. 지금은 이렇게 구축되어있는것들도 린하게 발전하려고 하고 있다. 가장 크게 얻은 소득은 데이터를 가지고 이야기하는 문화이다. 예전에는 데이터팀에게 데이터를 요청했는데 왜 빨리 주지않냐? 데이터팀 뭐하냐 등의 백엔드 개발자들이 왜? 라는 이야기를 했지만 지금은 그런 이야기보다는 데이터를 가지고 이야기하는 의사결정 등에 데이터가 활용되고 이런것들이 조직문화에 만드는데 노력하고있다.
  • #34 -- 퍼널 분석을 통해서 이 과정을 통해 데이터파이프라인 구축전에 진행하였는데, 데이터를 기반으로 GA에서 전체적인 서비스를 보았고, 2018년도 한해동안 구매전환율이 30퍼 상승, 서비스 이탈율이 40퍼 감소 라는 성과를 얻었고 추천서비스 같은 경우에는 데이터파이프라인 구축전에 1차에서는 SQL 기반으로 열악한 환경에서 구축하였는데, 당시에도 나쁘지 않았다. 하지만 데이터파이프라인 위에서 추천서비스를 개발하였고 클릭 전환율이 80퍼 상승하였고, 구매 전환율도 늘어나게 되었다.