SlideShare a Scribd company logo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
박진우
개발본부장, 레코벨
추천서비스 고군분투기
on AWS
Me?
몇 년 전까지만 해도, 반도체하고 싶어한 학생
어쩌다가 창업을 하고,
회사를 팔고,
지금은 레코벨에서 빅데이터를 경험중
AWS 는 사용 6년차
본 강연에서 다룰 내용
이번 강연에서는 빅데이터에 관심있으신 분들에게 도움이
될 내용들을 다룹니다. 레코벨의 추천서비스가 성장해온
과정을 통해서, 기존의 IDC 환경에서 Cloud환경으로
어떻게 옮겨왔는지, Cloud 환경에서의 구조는 어떤식으로
바뀌어왔는지, 그 과정에서 AWS 의 어떤 서비스들을
사용하였는지를 소개드립니다.
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
데이터가 돈이 된다는 것을 증명하는 사람들
- 추천서비스
- 개인화 마케팅 서비스
- 검색광고 솔루션
- Retargeting 광고
- 대용량 푸시 서버
+ 데이터를 이용한 돈벌이
추천서비스?
추천서비스
추천서비스 사용 사이트 숫자
0
50
100
150
200
250
300
350
2014. 12 2015. 3 2015. 9 2016. 4 2016. 10
본 강연에서 다룰 내용
이번 강연에서는 빅데이터에 관심있으신 분들에게 도움이
될 내용들을 다룹니다. 레코벨의 추천서비스가 성장해온
과정을 통해서, 기존의 IDC 환경에서 Cloud환경으로
어떻게 옮겨왔는지, Cloud 환경에서의 Architecture는
어떤식으로 바뀌어왔는지, 그 과정에서 AWS 의 어떤
서비스들을 사용하였는지를 소개드립니다.
추천서비스 IDC -> Cloud
Cloud Architecture AWS Service
데이터 분석?
Logging Analysis Operation
레코벨은 대기업에 SI 형태로 추천서비스 제공
Engineer 보다는 Data Scientist 로 구성된 팀
추천서비스를 클라우드 위에 SaaS 형태로 파는 것이 목표
간간히 알바/외주를 써서 몇 개의 고객사에 대한 추천시스템을 IDC 에 구현
Server on IDC
Legacy on IDC
Logger
API
DB
(+Engine) Client Site
User Behavior
Result (HTML)
JS SDK
Server on IDC
Legacy on IDC
Logger
API
DB
Client Site
User Behavior
Result (HTML)
JS SDK
고객사 영업돼서 들어오면 세팅 한 세월
장애 대응 한 세월
테스트 한 세월
내가 SE 도 아니고
Server on IDC
To AWS
Logger
API
DB
AWS RDS
• 관리용이성
• 뛰어난 확장성
• 가용성 및 내구성
• 빠른속도 (SSD)
• 보안
• 저렴한비용
MySQLs
Logger API
이런 구조가 가능했던 이유는
대기업은 SI 위주였고
작은 업체들 위주로 클라우드 추천을 영업
하지만..
MAU 천만 업체 등장
추천엔진이 수시간째 돌고있다!
엔진이 도는 동안 DB 가 바보가 되서 Log도 안쌓임
AWS RDS
• 관리용이성
• 뛰어난 확장성
• 가용성 및 내구성
• 빠른속도 (SSD)
• 보안
• 저렴한비용
AWS RDS
• 빠른속도 (SSD)
• 저렴한비용(?)
• SSD $0.138/GB.Month
당장 서비스를 해야하는데
엔진은 계속 돌고
로그는 유실되고
엔진은 더 큰 instance 에서 돌려야겠고
Logging & Result
Logger API
Partial Log
Recommendation Result
Recommendation Engine
긴 RDS instance 생성시간
여전한 IOPS 문제
아.. 안정성이여
다행히 그 동안 하던 큰 프로젝트 하나가 마무리
새로운 구조를 위한 숙제
Logger 는 한 번 잘 만들어 놓고 신경쓰고 싶지 않아
API 도 구조 잘 짜고 새로운 추천상품이 나오지 않으면 업데이트 안 할래
Engine 의 안정성에 신경쓰고 싶지 않아
추천서비스는 커머스 특성상 200ms 이하의 Latency 만 보장
Simple Storage Service (S3)
• 간편성
• 내구성
• 확장가능
• 보안
• 가용성
• 저렴한비용
• 간편한 데이터 전송
• 통합
• 손쉬운관리
그래 데이터란 데이터는 다 S3 에 넣자
Infra on AWS
Candidate
Logger API
Client Site
User Behavior Result (JSON)
Engine
Logger
Kinesis
PUT
Producer Consumer
S3
Log Bucket
Amazon Kinesis Stream
Real-Time Streaming Data Buffer
• 실시간
• 사용편의성
• 병렬처리
• 탄력성
• 저렴한비용
• 안정성 (~24H)
Engine
좋은데서 빨리 끝내자
기존 SQL 쓰던 것을 이어가자
c4.8xlarge EC2 Instance
• vCPU : 36
• ECU : 132
• Mem : 60G
EBS : io2 w/3000 IOPS
Java8 w/SpringBoot
Engine – DB선택
장점 단점
H2 엄청 빠름 가끔 죽음..
디버깅..
PostgreSQL 디버깅 상대적으로 느림
Spark 빠름 코드복잡도..
디버깅..
API
"recType": "a002",
"iids": "354427372",
"results”:
[
{
"itemId": "362054013",
"categoryId": "5502167”,
"rank": 1,
"score": 1,
S3 로 부터 데이터를 가져와서, JSON 형태로 내보내는 것
MAU 천만이상의 고객사 사이트 성공적 라이브
Logger / API 그리고 Engine 까지 안정적으로 서비스
AWS 위에 고객사 20개
사이트 200개 추가
Problem 1
추천 서비스의 특성을 한 마디로 말하자면
“Customize”
온 사이트에 들어가는 기능이기 때문에
고객들은 자기들이 원하는 것을 충분히 만족시켜주길 원함
원래 계획은 PostgreSQL 로 되어있으니
Data Scientist 들이 SQL 을 잘 수정하면
고객사의 요구사항을 빠르게 만족시킬 수 있겠다고 생각
하지만, 그런거 없다.
Java + SpringBoot App 이다보니 어려움이 있었음
개발자 2명이서 죽어남
Problem 2
일단 가장 쉽게 생각할 수 있는건..
EC2 Instance 의 limitation 을 푸는 것.
Unfortunately,
I am unable to confirm when the capacity will become available
for the Tokyo region.
어어…? 이거 불안한데
Problem 2+
실제로 Peak Time 에는 15대 정도 쓰면,
도쿄리전 capacity 부족
게다가 커머스는 특성상 돈을 받고 시작했지만
미디어는 미래가치를 위해서 먼저 추천을 제공하고
다른 BM으로 돈을 벌려고 했기때문에
ROI 가 안나옴
c4.8xlarge instance 는 시간당 $2.122
두 마리 토끼를 잡자
SQL을 최대한 이용하는 구조를 만들어서
(개발자없이)
고객사의 요구사항을 들어줄 수 있도록하자.
더 가격이 싼 구조를 만들어서
AWS 서버비용이 폭발하지 않도록 하자.
Redshift
AWS 의 Data Warehouse 서비스
- 신속함
- 저렴함
- 간편성
- 탄력성
- 보안
- 호환성 (Postgresql)
Spark / Zeppelin
- Spark
- MapReduce 와 유사
- 높은 확장성
- 간단한 인터페이스
- In-Memory
- Hadoop 호환
- Zeppelin
- Web-based Notebook
- 정말정말 쉬움
Redshift vs. Spark/Zeppelin
특별히 크게 차이 나지 않고,
Redshift 를 ReservedNode 로 사용하면 더 싸지고,
상용 Workbench 로 쉽게 접속가능한 Redshift 로 결정
Instance(Node) Type Count Estimated Cost
PostgreSQL on EC2 c4.8xlarge (on demand) 1 $2.122 /hr
Redshift dc1.large (on demand) 2 $0.628 /hr
Spark / Zepplin m3.xlarge (spot) 10(slave) + 1(master) $0.5 /hr
Redshift Spark / Zepplin
Load 1 0.6 ~ 0.7
Execution (count, partition, join) 1 7
Execution (function) 1 0.25
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
결과
대략 1/6 가격으로 추천엔진 운용
• 대부분의 logic 이 SQL 로 이루어져있음
고객사 요구사항에 빠른 대응
개발자 2명 / Data Scientist 4명
사이트 220+
하지만 방심해선 안되죠..
Simple Storage Service (S3)
• 간편성
• 내구성
• 확장가능
• 보안
• 가용성
• 저렴한비용
• 간편한 데이터 전송
• 통합
• 손쉬운관리
비용
100만개의 상품을 가진 고객사라면 PUT 비용이…
한 번 업데이트 하는데,
$0.0047 / 1,000 * 1,000,000 = $4.7
하루에 세 번이면, 한달에..
$4.7 * 3 * 30 = $423
DB 로 옮겨야할까..?
Aurora
AWS 의 고성능, 고-확장성 DB
- 고성능
- 뛰어난 보안
- MySQL/PostgreSQL 호환
- 뛰어난 확장성
- 높은 가용성 및 내구성
- 완전 관리형
실패
Aurora 는 IOPS 에 비례해서 과금하는 시스템
배치시간 이후에 모든 데이터가 업데이트 될 때 마다 과금이 폭발
안정적인 서비스를 위해서 Replica 운영 필수
배치시간 이후 모든 데이터가 한번에 업데이트 될 때
Replica Lag 증가
현재 레코벨 데이터모델로는 불가능
향후 모델 수정 후 재시도하기로..
Simple Storage Service (S3)
• 간편성
• 내구성
• 확장가능
• 보안
• 가용성
• 저렴한비용
• 간편한 데이터 전송
• 통합
• 손쉬운관리
Hashing
Hashing 을 하여, 여러개의 결과 파일을 하나의 파일에
압축시켜 놓자.
하나의 ”압축”파일에는 약 20개의 원본파일이 들어가도
괜찮을 것 같다.
PUT 비용 대략 1/20
한가지만 더
Task Management
현재 사용하고 있는 TaskManagement Tool은
LinkedIn 에서 만든 Azkaban
많은 고객사사이트에 대해서 추천엔진을 돌리지만
오래걸리는 고객사는 사실 20%에 불과
나머지 고객사들은 빠른 시간내에 태스크가 끝남
하지만, AWS 는 시간당 과금
태스크들의 시간 관리가 중요
Task-Bundler 라는 모듈을 만들어서
각 번들내에 태스크들이
50분 정도의 실행시간을 가지도록 만듦
체크 포인트
- RDS 를 사용할 땐 IOPS 에 주의하자.
- 웬만한 데이터는 S3 에 담자.
- 스트리밍 데이터에는 Kinesis 를 사용하자.
- Aurora 의 요금 체계를 숙지하자.
- Redshift 꼭 쓰자.
We wants You!
(recruit@recobell.com)
함께 해주셔서 감사합니다!
https://www.awssummit.kr
AWS Summit 모바일 앱을 통해 지금 세션 평가에
참여하시면, 행사후 기념품을 드립니다.
#AWSSummitKR 해시태그로 소셜 미디어에
여러분의 행사 소감을 올려주세요.
발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜
채널로 공유될 예정입니다.
여러분의 피드백을 기다립니다!

More Related Content

PDF
AWS를 활용한 미디어 서비스 혁신 방법 - AWS Summit Seoul 2017
PDF
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
PDF
AWS IoT 기반 사물 인터넷 아키텍처 구현하기 - AWS Summit Seoul 2017
PDF
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
PDF
클라우드 네이티브 서비스를 통한 실질적 비용 절감 사례 - AWS Summit Seoul 2017
PDF
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
PDF
고급 클라우드 아키텍처 방법론- 양승도 솔루션즈 아키텍트:: AWS Cloud Track 2 Advanced
PDF
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017
AWS를 활용한 미디어 서비스 혁신 방법 - AWS Summit Seoul 2017
AWS를 통한 빅데이터 기반 비지니스 인텔리전스 구축- AWS Summit Seoul 2017
AWS IoT 기반 사물 인터넷 아키텍처 구현하기 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
클라우드 네이티브 서비스를 통한 실질적 비용 절감 사례 - AWS Summit Seoul 2017
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
고급 클라우드 아키텍처 방법론- 양승도 솔루션즈 아키텍트:: AWS Cloud Track 2 Advanced
MBC의 클라우드 미디어 서비스 실험 - AWS Summit Seoul 2017

What's hot (20)

PDF
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
PDF
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
PDF
Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017
PDF
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
PDF
미디어 산업의 AWS 기반 운영 관리 노하우 - AWS Summit Seoul 2017
PDF
AWS로 사용자 천만명 서비스 만들기 - 윤석찬 (AWS 테크에반젤리스트) :: AWS 웨비나 시리즈 2015
PDF
[2017 Gaming on AWS] The Braves of Japan (일본 게임시장의 AWS 활용법)
PDF
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
PDF
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
PDF
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
PDF
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
PDF
국내 핀테크 스타트업을 통한 미래 클라우드 기반 금융 혁신 - AWS Summit Seoul 2017
PDF
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
PDF
AWS Summit Seoul 2015 - 엔터프라이즈에서의 하이브리드 환경 전략
PDF
AWS CLOUD 2017 - EC2 X1 인스턴스 기반 SAP HANA 서비스 운영 업무 최적화 (이진욱 테크니컬 트레이너)
PDF
클라우드를 통한 엔터프라이즈 산업 변신 사례 - AWS Summit Seoul 2017
PDF
AWS Enterprise Summit 2016 - 환영사 (국내 엔터프라이즈 클라우드 도입 현황)- 염동훈 대표
PDF
AWS에 대해 가장 궁금했던 열 가지 (정우근) - AWS 웨비나 시리즈
PDF
AWS Enterprise Summit :: 빅데이터 워크로드를 위한 AWS 활용방법 (김기완 솔루션즈 아키텍트)
PDF
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
Amazon EMR 고급 활용 기법 - AWS Summit Seoul 2017
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
미디어 산업의 AWS 기반 운영 관리 노하우 - AWS Summit Seoul 2017
AWS로 사용자 천만명 서비스 만들기 - 윤석찬 (AWS 테크에반젤리스트) :: AWS 웨비나 시리즈 2015
[2017 Gaming on AWS] The Braves of Japan (일본 게임시장의 AWS 활용법)
AWS DirectConnect 구성 가이드 (김용우) - 파트너 웨비나 시리즈
멀티 어카운트 환경의 보안과 가시성을 높이기 위한 전략 - AWS Summit Seoul 2017
AWS 빅데이터 아키텍처 패턴 및 모범 사례- AWS Summit Seoul 2017
천만 사용자를 위한 AWS 클라우드 아키텍쳐 진화하기- AWS Summit Seoul 2017
국내 핀테크 스타트업을 통한 미래 클라우드 기반 금융 혁신 - AWS Summit Seoul 2017
Amazon SNS로 지속적 관리가 가능한 대용량 푸쉬 시스템 구축 여정 - AWS Summit Seoul 2017
AWS Summit Seoul 2015 - 엔터프라이즈에서의 하이브리드 환경 전략
AWS CLOUD 2017 - EC2 X1 인스턴스 기반 SAP HANA 서비스 운영 업무 최적화 (이진욱 테크니컬 트레이너)
클라우드를 통한 엔터프라이즈 산업 변신 사례 - AWS Summit Seoul 2017
AWS Enterprise Summit 2016 - 환영사 (국내 엔터프라이즈 클라우드 도입 현황)- 염동훈 대표
AWS에 대해 가장 궁금했던 열 가지 (정우근) - AWS 웨비나 시리즈
AWS Enterprise Summit :: 빅데이터 워크로드를 위한 AWS 활용방법 (김기완 솔루션즈 아키텍트)
AWS 클라우드 비용 최적화를 위한 모범 사례-AWS Summit Seoul 2017
Ad

Viewers also liked (20)

PDF
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
PDF
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
PDF
AWS 클라우드를 통한 쓰나미 연구 사례: 日츄오대 - AWS Summit Seoul 2017
PDF
AWS와 비즈니스 프로젝트 협력 방식 및 사례 소개 - 노경훈 매니저:: AWS Cloud Track 2 Advanced
PDF
[1주차] 알파 유저를 위한 AWS 스터디
PDF
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
PDF
Cloud Taekwon 2015 - 비트패킹컴퍼니 사례 공유
PDF
AWS 기반 스마트시티 제언 및 사례 - AWS Summit Seoul 2017
PDF
AWS를 이용해서 나만의 글로벌 인터넷 방송국 만들기 :: 이상오 :: AWS Summit Seoul 2016
PDF
[백서 요약] Building a Real-Time Bidding Platform on AWS
PDF
AWS를 활용한 글로벌 아키텍처 운용 전략 - 김상필 솔루션즈 아키텍트:: AWS Cloud Track 2 Advanced
PDF
AWS Innovate: Smart Deployment on AWS - Andy Kim
PDF
AWS 기반 문서중앙화 솔루션 구축 방안::이덕재::AWS Summit Seoul 2016
PDF
AWS CLOUD 2017 - AWS와 함께하는 엔터프라이즈 비즈니스 애플리케이션 도입하기 (임혁용 매니저)
PDF
20160503 Amazed by AWS | Tips about Performance on AWS
PDF
스플렁크를 이용한 AWS운영 인텔리전스 확보:: Splunk 최승돈 :: AWS Summit Seoul 2016
PDF
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
PDF
소프트웨어 기반의 비디오 처리 기술을 통한 확장성 및 비용 절감 사례 :: Elemental Technologies :: AWS Medi...
PDF
클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사
PDF
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
찾아가는 AWS 세미나(구로,가산,판교) - AWS에서 작은 서비스 구현하기 (김필중 솔루션즈 아키텍트)
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
AWS 클라우드를 통한 쓰나미 연구 사례: 日츄오대 - AWS Summit Seoul 2017
AWS와 비즈니스 프로젝트 협력 방식 및 사례 소개 - 노경훈 매니저:: AWS Cloud Track 2 Advanced
[1주차] 알파 유저를 위한 AWS 스터디
IGAWorks, 혼자서 2주일만에 서비스 론칭하기 -백정상 팀장 :: AWS 파트너 테크시프트 세미나
Cloud Taekwon 2015 - 비트패킹컴퍼니 사례 공유
AWS 기반 스마트시티 제언 및 사례 - AWS Summit Seoul 2017
AWS를 이용해서 나만의 글로벌 인터넷 방송국 만들기 :: 이상오 :: AWS Summit Seoul 2016
[백서 요약] Building a Real-Time Bidding Platform on AWS
AWS를 활용한 글로벌 아키텍처 운용 전략 - 김상필 솔루션즈 아키텍트:: AWS Cloud Track 2 Advanced
AWS Innovate: Smart Deployment on AWS - Andy Kim
AWS 기반 문서중앙화 솔루션 구축 방안::이덕재::AWS Summit Seoul 2016
AWS CLOUD 2017 - AWS와 함께하는 엔터프라이즈 비즈니스 애플리케이션 도입하기 (임혁용 매니저)
20160503 Amazed by AWS | Tips about Performance on AWS
스플렁크를 이용한 AWS운영 인텔리전스 확보:: Splunk 최승돈 :: AWS Summit Seoul 2016
AWS 기반 실시간 서비스 개발 및 운영 사례 - AWS Summit Seoul 2017
소프트웨어 기반의 비디오 처리 기술을 통한 확장성 및 비용 절감 사례 :: Elemental Technologies :: AWS Medi...
클라우드 뉴노멀 시대의 글로벌 혁신 기업들의 디지털 트랜스포메이션 :: 정우진 이사
엔터프라이즈를 위한 AWS 지원 및 사례 (서수영) - AWS 웨비나 시리즈
Ad

Similar to 레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017 (20)

PDF
2017 Ad-Tech on AWS 세미나ㅣ추천서비스 고군부투기 on AWS
PDF
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
PPTX
Amazon web service를 활용한 모바일 게임 서버 개발 퍼즐 주주의 사례를 중심으로
PDF
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
PDF
KGC 2013 DevSisters
PDF
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
PDF
추천서비스고군분투기 On Aws - 박진우 (레코벨)
PDF
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
PDF
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
PPTX
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
PDF
AWS Finance Symposium_천만 고객을 위한 AWS 클라우드 아키텍쳐 확장하기
PDF
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
PDF
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
PDF
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
PDF
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
PDF
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
PDF
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
PDF
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
PDF
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
PDF
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
2017 Ad-Tech on AWS 세미나ㅣ추천서비스 고군부투기 on AWS
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
Amazon web service를 활용한 모바일 게임 서버 개발 퍼즐 주주의 사례를 중심으로
[Gaming on AWS] 넥슨 - AWS를 활용한 모바일 게임 서버 개발: 퍼즐 주주의 사례
KGC 2013 DevSisters
re:Invent 2015 이모저모 - 키노트 요약 (윤석찬) :: re:Invent re:Cap 2015 웨비나
추천서비스고군분투기 On Aws - 박진우 (레코벨)
데이터베이스 운영, 서버리스로 걱정 끝! - 윤석찬, AWS 테크에반젤리스트 - AWS Builders Online Series
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
[테크데이즈2015] 개발하기 바쁜데 푸시와 메시지큐는 있는거 쓸래요
AWS Finance Symposium_천만 고객을 위한 AWS 클라우드 아키텍쳐 확장하기
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Photon게임서버 네트워크엔진과 GBaaS를 통한 AWS DB 서비스 구성 방법 소개 - AWS Summit Seoul 2017
찾아가는 AWS 세미나(구로,가산,판교) - AWS 클라우드로 서비스 무한대로 확장하기 (박철수 솔루션즈 아키텍트)
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
아마존웹서비스와 함께하는 클라우드 비용 최적화 전략 - 윤석찬 (AWS 코리아 테크에반젤리스트)
AWS 와 함께하는 클라우드 컴퓨팅:: 방희란 :: AWS Summit Seoul 2016
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...

More from Amazon Web Services Korea (20)

PDF
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
PDF
[D3T1S06] Neptune Analytics with Vector Similarity Search
PDF
[D3T1S03] Amazon DynamoDB design puzzlers
PDF
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
PDF
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
PDF
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
PDF
[D3T1S02] Aurora Limitless Database Introduction
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
PDF
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 2
PDF
AWS Modern Infra with Storage Roadshow 2023 - Day 1
PDF
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
PDF
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
PDF
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
PDF
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
PDF
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
PDF
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
PDF
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
PDF
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
PDF
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...
[D3T1S01] Gen AI를 위한 Amazon Aurora 활용 사례 방법
[D3T1S06] Neptune Analytics with Vector Similarity Search
[D3T1S03] Amazon DynamoDB design puzzlers
[D3T1S04] Aurora PostgreSQL performance monitoring and troubleshooting by use...
[D3T1S07] AWS S3 - 클라우드 환경에서 데이터베이스 보호하기
[D3T1S05] Aurora 혼합 구성 아키텍처를 사용하여 예상치 못한 트래픽 급증 대응하기
[D3T1S02] Aurora Limitless Database Introduction
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
[D3T2S03] Data&AI Roadshow 2024 - Amazon DocumentDB 실습
AWS Modern Infra with Storage Roadshow 2023 - Day 2
AWS Modern Infra with Storage Roadshow 2023 - Day 1
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon DocumentDB - Architecture 및 Best Practice (Level 200) - 발표자: 장동훈, Sr. ...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...

레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 박진우 개발본부장, 레코벨 추천서비스 고군분투기 on AWS
  • 2. Me? 몇 년 전까지만 해도, 반도체하고 싶어한 학생 어쩌다가 창업을 하고, 회사를 팔고, 지금은 레코벨에서 빅데이터를 경험중 AWS 는 사용 6년차
  • 3. 본 강연에서 다룰 내용 이번 강연에서는 빅데이터에 관심있으신 분들에게 도움이 될 내용들을 다룹니다. 레코벨의 추천서비스가 성장해온 과정을 통해서, 기존의 IDC 환경에서 Cloud환경으로 어떻게 옮겨왔는지, Cloud 환경에서의 구조는 어떤식으로 바뀌어왔는지, 그 과정에서 AWS 의 어떤 서비스들을 사용하였는지를 소개드립니다.
  • 5. 데이터가 돈이 된다는 것을 증명하는 사람들 - 추천서비스 - 개인화 마케팅 서비스 - 검색광고 솔루션 - Retargeting 광고 - 대용량 푸시 서버 + 데이터를 이용한 돈벌이
  • 8. 추천서비스 사용 사이트 숫자 0 50 100 150 200 250 300 350 2014. 12 2015. 3 2015. 9 2016. 4 2016. 10
  • 9. 본 강연에서 다룰 내용 이번 강연에서는 빅데이터에 관심있으신 분들에게 도움이 될 내용들을 다룹니다. 레코벨의 추천서비스가 성장해온 과정을 통해서, 기존의 IDC 환경에서 Cloud환경으로 어떻게 옮겨왔는지, Cloud 환경에서의 Architecture는 어떤식으로 바뀌어왔는지, 그 과정에서 AWS 의 어떤 서비스들을 사용하였는지를 소개드립니다. 추천서비스 IDC -> Cloud Cloud Architecture AWS Service
  • 11. 레코벨은 대기업에 SI 형태로 추천서비스 제공 Engineer 보다는 Data Scientist 로 구성된 팀 추천서비스를 클라우드 위에 SaaS 형태로 파는 것이 목표 간간히 알바/외주를 써서 몇 개의 고객사에 대한 추천시스템을 IDC 에 구현
  • 12. Server on IDC Legacy on IDC Logger API DB (+Engine) Client Site User Behavior Result (HTML) JS SDK
  • 13. Server on IDC Legacy on IDC Logger API DB Client Site User Behavior Result (HTML) JS SDK 고객사 영업돼서 들어오면 세팅 한 세월 장애 대응 한 세월 테스트 한 세월 내가 SE 도 아니고
  • 14. Server on IDC To AWS Logger API DB
  • 15. AWS RDS • 관리용이성 • 뛰어난 확장성 • 가용성 및 내구성 • 빠른속도 (SSD) • 보안 • 저렴한비용
  • 17. 이런 구조가 가능했던 이유는 대기업은 SI 위주였고 작은 업체들 위주로 클라우드 추천을 영업 하지만..
  • 18. MAU 천만 업체 등장 추천엔진이 수시간째 돌고있다! 엔진이 도는 동안 DB 가 바보가 되서 Log도 안쌓임
  • 19. AWS RDS • 관리용이성 • 뛰어난 확장성 • 가용성 및 내구성 • 빠른속도 (SSD) • 보안 • 저렴한비용
  • 20. AWS RDS • 빠른속도 (SSD) • 저렴한비용(?) • SSD $0.138/GB.Month
  • 21. 당장 서비스를 해야하는데 엔진은 계속 돌고 로그는 유실되고 엔진은 더 큰 instance 에서 돌려야겠고
  • 22. Logging & Result Logger API Partial Log Recommendation Result Recommendation Engine
  • 23. 긴 RDS instance 생성시간 여전한 IOPS 문제 아.. 안정성이여 다행히 그 동안 하던 큰 프로젝트 하나가 마무리
  • 24. 새로운 구조를 위한 숙제 Logger 는 한 번 잘 만들어 놓고 신경쓰고 싶지 않아 API 도 구조 잘 짜고 새로운 추천상품이 나오지 않으면 업데이트 안 할래 Engine 의 안정성에 신경쓰고 싶지 않아 추천서비스는 커머스 특성상 200ms 이하의 Latency 만 보장
  • 25. Simple Storage Service (S3) • 간편성 • 내구성 • 확장가능 • 보안 • 가용성 • 저렴한비용 • 간편한 데이터 전송 • 통합 • 손쉬운관리 그래 데이터란 데이터는 다 S3 에 넣자
  • 26. Infra on AWS Candidate Logger API Client Site User Behavior Result (JSON) Engine
  • 28. Amazon Kinesis Stream Real-Time Streaming Data Buffer • 실시간 • 사용편의성 • 병렬처리 • 탄력성 • 저렴한비용 • 안정성 (~24H)
  • 29. Engine 좋은데서 빨리 끝내자 기존 SQL 쓰던 것을 이어가자 c4.8xlarge EC2 Instance • vCPU : 36 • ECU : 132 • Mem : 60G EBS : io2 w/3000 IOPS Java8 w/SpringBoot
  • 30. Engine – DB선택 장점 단점 H2 엄청 빠름 가끔 죽음.. 디버깅.. PostgreSQL 디버깅 상대적으로 느림 Spark 빠름 코드복잡도.. 디버깅..
  • 31. API "recType": "a002", "iids": "354427372", "results”: [ { "itemId": "362054013", "categoryId": "5502167”, "rank": 1, "score": 1, S3 로 부터 데이터를 가져와서, JSON 형태로 내보내는 것
  • 32. MAU 천만이상의 고객사 사이트 성공적 라이브 Logger / API 그리고 Engine 까지 안정적으로 서비스 AWS 위에 고객사 20개
  • 34. Problem 1 추천 서비스의 특성을 한 마디로 말하자면 “Customize” 온 사이트에 들어가는 기능이기 때문에 고객들은 자기들이 원하는 것을 충분히 만족시켜주길 원함 원래 계획은 PostgreSQL 로 되어있으니 Data Scientist 들이 SQL 을 잘 수정하면 고객사의 요구사항을 빠르게 만족시킬 수 있겠다고 생각 하지만, 그런거 없다. Java + SpringBoot App 이다보니 어려움이 있었음 개발자 2명이서 죽어남
  • 35. Problem 2 일단 가장 쉽게 생각할 수 있는건.. EC2 Instance 의 limitation 을 푸는 것. Unfortunately, I am unable to confirm when the capacity will become available for the Tokyo region. 어어…? 이거 불안한데
  • 36. Problem 2+ 실제로 Peak Time 에는 15대 정도 쓰면, 도쿄리전 capacity 부족 게다가 커머스는 특성상 돈을 받고 시작했지만 미디어는 미래가치를 위해서 먼저 추천을 제공하고 다른 BM으로 돈을 벌려고 했기때문에 ROI 가 안나옴 c4.8xlarge instance 는 시간당 $2.122
  • 37. 두 마리 토끼를 잡자 SQL을 최대한 이용하는 구조를 만들어서 (개발자없이) 고객사의 요구사항을 들어줄 수 있도록하자. 더 가격이 싼 구조를 만들어서 AWS 서버비용이 폭발하지 않도록 하자.
  • 38. Redshift AWS 의 Data Warehouse 서비스 - 신속함 - 저렴함 - 간편성 - 탄력성 - 보안 - 호환성 (Postgresql)
  • 39. Spark / Zeppelin - Spark - MapReduce 와 유사 - 높은 확장성 - 간단한 인터페이스 - In-Memory - Hadoop 호환 - Zeppelin - Web-based Notebook - 정말정말 쉬움
  • 40. Redshift vs. Spark/Zeppelin 특별히 크게 차이 나지 않고, Redshift 를 ReservedNode 로 사용하면 더 싸지고, 상용 Workbench 로 쉽게 접속가능한 Redshift 로 결정 Instance(Node) Type Count Estimated Cost PostgreSQL on EC2 c4.8xlarge (on demand) 1 $2.122 /hr Redshift dc1.large (on demand) 2 $0.628 /hr Spark / Zepplin m3.xlarge (spot) 10(slave) + 1(master) $0.5 /hr Redshift Spark / Zepplin Load 1 0.6 ~ 0.7 Execution (count, partition, join) 1 7 Execution (function) 1 0.25
  • 42. 결과 대략 1/6 가격으로 추천엔진 운용 • 대부분의 logic 이 SQL 로 이루어져있음 고객사 요구사항에 빠른 대응 개발자 2명 / Data Scientist 4명 사이트 220+
  • 44. Simple Storage Service (S3) • 간편성 • 내구성 • 확장가능 • 보안 • 가용성 • 저렴한비용 • 간편한 데이터 전송 • 통합 • 손쉬운관리
  • 45. 비용 100만개의 상품을 가진 고객사라면 PUT 비용이… 한 번 업데이트 하는데, $0.0047 / 1,000 * 1,000,000 = $4.7 하루에 세 번이면, 한달에.. $4.7 * 3 * 30 = $423 DB 로 옮겨야할까..?
  • 46. Aurora AWS 의 고성능, 고-확장성 DB - 고성능 - 뛰어난 보안 - MySQL/PostgreSQL 호환 - 뛰어난 확장성 - 높은 가용성 및 내구성 - 완전 관리형
  • 47. 실패 Aurora 는 IOPS 에 비례해서 과금하는 시스템 배치시간 이후에 모든 데이터가 업데이트 될 때 마다 과금이 폭발 안정적인 서비스를 위해서 Replica 운영 필수 배치시간 이후 모든 데이터가 한번에 업데이트 될 때 Replica Lag 증가 현재 레코벨 데이터모델로는 불가능 향후 모델 수정 후 재시도하기로..
  • 48. Simple Storage Service (S3) • 간편성 • 내구성 • 확장가능 • 보안 • 가용성 • 저렴한비용 • 간편한 데이터 전송 • 통합 • 손쉬운관리
  • 49. Hashing Hashing 을 하여, 여러개의 결과 파일을 하나의 파일에 압축시켜 놓자. 하나의 ”압축”파일에는 약 20개의 원본파일이 들어가도 괜찮을 것 같다. PUT 비용 대략 1/20
  • 51. Task Management 현재 사용하고 있는 TaskManagement Tool은 LinkedIn 에서 만든 Azkaban 많은 고객사사이트에 대해서 추천엔진을 돌리지만 오래걸리는 고객사는 사실 20%에 불과 나머지 고객사들은 빠른 시간내에 태스크가 끝남 하지만, AWS 는 시간당 과금 태스크들의 시간 관리가 중요 Task-Bundler 라는 모듈을 만들어서 각 번들내에 태스크들이 50분 정도의 실행시간을 가지도록 만듦
  • 52. 체크 포인트 - RDS 를 사용할 땐 IOPS 에 주의하자. - 웬만한 데이터는 S3 에 담자. - 스트리밍 데이터에는 Kinesis 를 사용하자. - Aurora 의 요금 체계를 숙지하자. - Redshift 꼭 쓰자.
  • 55. https://www.awssummit.kr AWS Summit 모바일 앱을 통해 지금 세션 평가에 참여하시면, 행사후 기념품을 드립니다. #AWSSummitKR 해시태그로 소셜 미디어에 여러분의 행사 소감을 올려주세요. 발표 자료 및 녹화 동영상은 AWS Korea 공식 소셜 채널로 공유될 예정입니다. 여러분의 피드백을 기다립니다!