brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 17. 2021

12탄-마켓 컬리,kurly, AWS로 이전 사례


<1>  트랜드 , 클라우드 

<2>  관리

<3>  데이터 파이프라인?

<4>  마켓 컬리 서비스

<5> IDC에서 AWS로 이관

<6>  추천 시스템

<7> 개인 정리





<1>  트랜드 , 클라우드 


비즈니스 민첩성 - 고객 요구에 빠른 대응

머신 러닝 - 비즈니스 결과는 가속화, 개인화 추천, 이상 탐지, 이미지 객체 인식, 이미지 검색, 물류 마케팅 진행

검증된 설루션 - 특정 서비스에 종속되지 않음.  다양한 서비스 사용하라

강화된 보안



<2>  관리


서비스 모듈화 (MSA)

자동화, 추상화, 표준화

목적에 맞는 DB

운영 관리 노력 최소화

관리, 거버넌스 - 예) S3 삭제할 경우 특정 메시지를 나타나게 함



<3>  데이터 파이프라인?


1

순서?

수집 >  저장 > 처리 > 적용/ 확인  (어디에 활용할지?)


2

데이터 준비 - 모델 학습- 모델 검증  - 학습 - 검증 - 결과 추출 - 데이터 전처리




<4>  마켓 컬리 서비스


저녁 11시까지 주문하면 아침 7시까지 배송

샛별  배송

온라인 장보기 서비스



<5> IDC에서 AWS로 이관


1

lift and shift로 1차 이전함


웹단?

EC2 - Elastic Cache - RDS


백업단?

EC2는 log는 logstash  , S3 - ElasticSearch - Redshift -- Athena ---- DMS 이용

KMS사용

결재 모니터링 Elasticsearch 사용

로그 수집으로  실시간 모니터링 진행


2

기존 구조 한계?


1차 운영 최적화 진행

ALB - EC2 Autoscaling - EalstiCache - Aurora Mysql Read Replica * 15

code deploy - Blue Green 배포, 빠른 롤백


3

DB 부하, 쿠폰,  쿠폰 push 발생 -  부하로 전체 시스템 장애로 이어짐.


4

변경?

개별 도메인으로 분리.

적절한 DB로 변경  

쿠폰 , 할인은 다큐멘트 DB로 변경

상품 전시는 다이나모  DB로 변경

마케팅 시스템은 분리함 = 쿠폰 시스템 = 쿠폰 장애가 전체 장애로 이어지지 않음.


5

Push트래픽 발생으로 상품 조회 부하가 증가해도, 장바구니 결제는 정상적으로 진행 필요?

MSA 도입

가장 많이 사용자 부하를 받는 상품 전시를  DB 복제

MainDB를 복제해서 DynamodB 복제 변경.  통신 채널은 매니지드 카프카 사용함..

변경정보는 카프카로 전송, 다이 나오 DB로 복사됨.

DynamoDB 및 ElasticCache 기반의 서비스 사용

전시를 위한 DB는  DynamodB로 분리

장바구니 , 주문서는 API를 통해 mainDB로 접근함.


6

측정?

상품 전시 API  응답 속도  개선됨.


S3로 Lake (호수) 사용 , Redshift로 분석 진행함.




<6>  추천 시스템


1

Rule 기반 개인화

Curation 기반 - 우선 , 전담 마케터가 상품 추천. 비 오는 날 상품 등 

Item유사도 기반 개인화 영역


2

단기간에 최소 비용으로 개인화 추천 시스템 개발?

Personalized 도입

AWS와 협업 -  데이터 사이언 티스트와 프로토 타이핑팀 지원 받음



3

Personalized  기반 추천 시스템 구조


모바일 ----(사용자 이벤트)------------- Managed Streaming for Apache Kafka -------------------S3 -------------------- EMR  / Redshift (Master DB)

             실시간 상품 조회 이력 보관 ( Dynamo DB)                   :

                                          Elastic Cache로  중복 방지            Personalized  사용




<7> 개인 정리


개인화 추천 서비스를 빠르게 만들 수 있군요~

1단계로 우선은 그대로 이전하는 것도 방법이네요.

서비스에 따라 DB를 분리 운영하여 전체 장애를 막는 것도 인상 깊네요





https://brunch.co.kr/@topasvga/1716


감사합니다.







브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari