SlideShare a Scribd company logo
1 of 42
Download to read offline
우리는 왜 Glue를 버렸나?
2020. 02. 06
메 쉬 코 리 아 박 동 현
22020 All Rights Reserved by Mesh Korea Co., Ltd.
발표자 소개 - 박동현
University of Illinois Urbana-Champaign (UIUC) 컴퓨터과학 학사
SK 커뮤니케이션즈 선행연구원 (스킨 메뉴효과, 음악 개인화 추천)
벅스뮤직 추천 엔진 개발자 (빅데이터 인프라 및 개인화 추천 엔진)
메쉬코리아 백엔드 개발자 (경로 최적화 엔진, 부릉 서버, 데이터 엔지니어링)
https://www.linkedin.com/in/thomas-hyun-park-m1004/
https://github.com/GomKeeper
32020 All Rights Reserved by Mesh Korea Co., Ltd.
메쉬코리아
- IT 기반의 물류 플랫폼 스타트업
- 2019년 예비유니콘 선정
- 투자유치 1,000 억 (네이버, 현대자동차 등)
- 국내 350 여개의 거점 (전국 기준 70%)
- 주요 법인 화주(버거킹, 올리브영, CU 등)
- 약 10,000 개 상점 & 6,000 명의 기사
42020 All Rights Reserved by Mesh Korea Co., Ltd.
부릉
- 프리미엄 배송 물류망
- 2륜 배송 & 4륜 배송 서비스 제공
- 배송 경로 & 배차 최적화 TMS 엔진
- 2륜 + 4륜 = 당일배송 서비스
- 크라우드 소싱 부릉 프렌즈
52020 All Rights Reserved by Mesh Korea Co., Ltd.
목차
❏ AWS Glue를 선택한 이유
❏ AWS Glue를 버린 이유
❏ 우리가 선택한 Data Pipeline Architecture
AWS Glue를 선택한 이유
72020 All Rights Reserved by Mesh Korea Co., Ltd.
기존 데이터 분석 작업
- 상점 배달완료 시간 예측
- 기사 픽업 시간 예측
- 배달 알리미
82020 All Rights Reserved by Mesh Korea Co., Ltd.
데이터 사이언스 실 설립
- 2019년 3월 김명환 실장님 합류
데이터 사이언스 업무 총괄
- ML / AI 의 초석인 데이터 수집 강화
- 사내 구성원이 쉽게 사용 할 수 있는
데이터 플랫폼 구축
92020 All Rights Reserved by Mesh Korea Co., Ltd.
데이터 사이언스 실의 과제들
- 기사의 주차지점 확보
- 자동배차
- 오더 수 예측
102020 All Rights Reserved by Mesh Korea Co., Ltd.
통합 Data Platform Architecture
112020 All Rights Reserved by Mesh Korea Co., Ltd.
통합 Data Pipeline 주요 목표 및 요구 사항
주요 목표: 파편화된 데이터를 S3로 seemless하게 &
effortless 하게 적재하고 관리하자.
요구 사항들
1. 기존 데이터를 Data Lake로 ETL하는 방법 도출
2. 소스코드 모듈화 및 SCM 관리 확보
3. 새로 추가되는 data pipeline도 고려한 확장성
4. Scaling Data를 효과적으로 처리하는 생산성 확보
122020 All Rights Reserved by Mesh Korea Co., Ltd.
최초의 시도 - Database Migration Service(DMS)
- AWS Summit 2019의 AWS
Database 기술 자문
- RDS -> S3를 위한 AWS Database
Migration Service (DMS)의 적용 여부
확인
132020 All Rights Reserved by Mesh Korea Co., Ltd.
DMS의 문제점
- 현재 DMS Task에서 업데이트 주기를 설정할 수 있는 부분이 없음.
- AWS Technical Support 문의한 결과, target endpoint가 S3 인 경우 batch
mode가 동작하지 않는다는 feedback 받음. (2019.05)
- 새로운 서비스를 위한 data pipeline에 적용 어려움
142020 All Rights Reserved by Mesh Korea Co., Ltd.
두번째 시도 - AWS Glue
Effective Data Lake session in AWS
Summit 2019
AWS에서 제공하는 fully-managed Data
Orcastration 서비스
https://www.slideshare.net/awskorea/effective-data-lake-aws-aw
s-summit-seoul-2019
152020 All Rights Reserved by Mesh Korea Co., Ltd.
AWS Glue의 특징
- Serverless
- Databases (tables & connections)
- Crawler
- Job & Trigger
162020 All Rights Reserved by Mesh Korea Co., Ltd.
AWS Glue 주요 확인 사항
AWS Glue는 우리 목표를 얼마나 충족 시킬 수 있을지 확인 필요
1. 기존 데이터를 Data Lake로 ETL하는 방법 도출
2. 소스코드 모듈화 및 SCM 관리 확보
3. 새로 추가되는 data pipeline도 고려한 확장성
4. Scaling Data를 효과적으로 처리하는 생산성 확보
AWS Glue를 버린 이유
182020 All Rights Reserved by Mesh Korea Co., Ltd.
Serverless is not effortless
- 모든 script 구동 시 약 10분의 boot up 시간 소요
- 디버깅 시 1시간에 최대 6번 수정 가능
- 하나의 스크립트에 여러개의 데이터를 처리해야 함 (모듈화 anti-pattern)
- Resource Unavailable!!!!! (문의하니 재시도 하라는 답변만 반복)
192020 All Rights Reserved by Mesh Korea Co., Ltd.
GlueContext 활용 가치 떨어짐
- GlueContext = subclass of SparkContext
- Glue의 핵심 기능 (schema 자동 적용 등)
- Dev endpoint에서는 GlueContext 사용 불가
- 모든 script를 SparkContext 기준으로 작성
202020 All Rights Reserved by Mesh Korea Co., Ltd.
비용 절감 효과 반감
- dev endpoint 유지비 >= EMR 유지비
(개발을 위해 EMR을 실행하고 있는 격)
- 실행 하는 script가 많아질수록 EMR이
유리 (spot instance 활용 가능)
212020 All Rights Reserved by Mesh Korea Co., Ltd.
Source Code Management(SCM) 어려움
- editor 수준의 Glue Script 수정화면
(vs lambda)
- 모든 코드는 S3 내 존재
- 스크립트의 모듈화 & 경량화의 anti-pattern
222020 All Rights Reserved by Mesh Korea Co., Ltd.
Jobs 관리 툴 부재
- 모든 Job이 단일 리스트로 관리 됨
- 환경 별 & 서비스 별 분리 불가
- 공통 코드 부분 명시 불가
232020 All Rights Reserved by Mesh Korea Co., Ltd.
No DAGs
- 여러개의 Job으로 엮여 있는 DAG
확인 불가
- 2019년 하반기 workflow 탭
구현됐으나, 아직 미흡
242020 All Rights Reserved by Mesh Korea Co., Ltd.
Backfill 기능 부재
- 별도의 backfill 용 코드 또는 스크립트 제작 필요
252020 All Rights Reserved by Mesh Korea Co., Ltd.
버리게 된 이유가 7가지
1. Serverless 부작용
2. GlueContext 효용성 떨어짐
3. 비용 절감 미비
4. SCM 어려움
5. Jobs 관리 툴 부재
6. No DAGs
7. Backfill 미지원
결론: 우리의 주요 목표를 충족 시키기에는 아직 많이 부족한 서비스
우리가 선택한 Data Pipeline Architecture
272020 All Rights Reserved by Mesh Korea Co., Ltd.
Data Pipeline Architecture 요구사항
1. Data ETL
2. 모듈화 & SCM
3. 확장성
4. 생산성
282020 All Rights Reserved by Mesh Korea Co., Ltd.
AWS EMR with Apache Airflow
a platform to programmatically author,
schedule and monitor workflows
Workflows are defined as code, they
become more maintainable,
versionable, testable, and collaborative.
(python)
https://airflow.apache.org/
292020 All Rights Reserved by Mesh Korea Co., Ltd.
즉시 실행
- Airflow Trigger로 EMR 즉시 실행
- Airflow Test로 바로 테스트
- API 방식으로 실행 가능
302020 All Rights Reserved by Mesh Korea Co., Ltd.
DAGs
- python 코드 기반의 DAG 구현
- 다양한 작업들을 관리하기 용이함
- 우월한 시각화 제공
312020 All Rights Reserved by Mesh Korea Co., Ltd.
Seamless 한 SCM
- DAG와 script를 같은 repository에서
관리
- 코드 내 Versioning 적용 가능
322020 All Rights Reserved by Mesh Korea Co., Ltd.
환경 분리 용이
- 환경 별 (개발, QA, 상용) 코드 분리
- Business Analyst 들도 손쉽게 실행 가능
332020 All Rights Reserved by Mesh Korea Co., Ltd.
다양한 plugin 존재
- 연동 가능한 많은 plug-ins
- 직접 plug-in 제작 가능
342020 All Rights Reserved by Mesh Korea Co., Ltd.
Native Backfill 지원
- execution_date 기반의 backfill 자체 지원
352020 All Rights Reserved by Mesh Korea Co., Ltd.
다양한 작업의 스케줄링
- EMR 뿐만 아니라 다른 task 실행 가능 (ex. bash)
362020 All Rights Reserved by Mesh Korea Co., Ltd.
Airflow의 단점
- DAG와 Git의 직접 연동 부재
(별도의 개발 필요)
- 설치 및 관리 비용 필요
(k8s 로 관리 및 모니터링 비용 최소화)
- UTC Timezone
372020 All Rights Reserved by Mesh Korea Co., Ltd.
결론
AWS Glue는 Data ETL, SCM, 확장성,
생산성을 모두 고려하기엔 부족한 서비스
계속해서 발전해 나가는 모습 발견
(우리는 베터테스터?)
계속해서 사용자의 피드백을 잘 적용하는 AWS
382020 All Rights Reserved by Mesh Korea Co., Ltd.
결론
- AWS Glue는 별도의 지식없이 간단히
구현 가능
- 우리의 니즈가 Glue의 발전 속도보다
빠르기에 직접 만들어가는 방식 채택
AWS Glue 발전 속도
메쉬코리아 요구사항
392020 All Rights Reserved by Mesh Korea Co., Ltd.
데이터사이언스 발전 방향
다양한 분석 데이터 존재
state-of-the-art 기술 활용 가능
402020 All Rights Reserved by Mesh Korea Co., Ltd.
인재 채용
- Data Engineer
- Data Scientist
- A.I. Engineer
- DataInfraOps
- Software Engineer (Java & PHP)
- Engineer Manager
- DevOps
https://www.wanted.co.kr/company/676
Q & A
감사합니다

More Related Content

What's hot

What's hot (20)

데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
 
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
 
Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)Amazon Redshift 概要 (20分版)
Amazon Redshift 概要 (20分版)
 
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
AWS IoT SiteWise のご紹介 (AWS IoT Deep Dive #5)
 
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
AWS 상의 컨테이너 서비스 소개 ECS, EKS - 이종립 / Principle Enterprise Evangelist @베스핀글로벌
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS Glue
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - Datalake
 
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...
 
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service20210216 AWS Black Belt Online Seminar AWS Database Migration Service
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
 
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
 
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要[GKE & Spanner 勉強会] Cloud Spanner の技術概要
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless20200728 AWS Black Belt Online Seminar What's New in Serverless
20200728 AWS Black Belt Online Seminar What's New in Serverless
 
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
 
20190319 AWS Black Belt Online Seminar Amazon FSx for Lustre
20190319 AWS Black Belt Online Seminar Amazon FSx for Lustre20190319 AWS Black Belt Online Seminar Amazon FSx for Lustre
20190319 AWS Black Belt Online Seminar Amazon FSx for Lustre
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3Black Belt Online Seminar AWS Amazon S3
Black Belt Online Seminar AWS Amazon S3
 
AWS Black Belt - AWS Glue
AWS Black Belt - AWS GlueAWS Black Belt - AWS Glue
AWS Black Belt - AWS Glue
 

Similar to 2020.02.06 우리는 왜 glue를 버렸나?

MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
문기 박
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
uEngine Solutions
 

Similar to 2020.02.06 우리는 왜 glue를 버렸나? (20)

경력 공유와 AWS-GCP 비교.pptx
경력 공유와 AWS-GCP 비교.pptx경력 공유와 AWS-GCP 비교.pptx
경력 공유와 AWS-GCP 비교.pptx
 
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
[전득진_22년4월] AI_ML담당_Tech_seminar-emart.pdf
 
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
[금융고객을 위한 AWS re:Invent 2022 re:Cap] 3.AWS reInvent 2022 Technical Highlights...
 
How to build oneM2M application solution based on open source
How to build oneM2M application solution based on open sourceHow to build oneM2M application solution based on open source
How to build oneM2M application solution based on open source
 
주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기주니어 개발자의 서버 로그 관리 개선기
주니어 개발자의 서버 로그 관리 개선기
 
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
 
Winodws workload를 aws와 함께 해야하는 이유
Winodws workload를 aws와 함께 해야하는 이유Winodws workload를 aws와 함께 해야하는 이유
Winodws workload를 aws와 함께 해야하는 이유
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
 
블로코 웨비나 세션1 - 박헌영 CTO
블로코 웨비나 세션1 - 박헌영 CTO블로코 웨비나 세션1 - 박헌영 CTO
블로코 웨비나 세션1 - 박헌영 CTO
 
락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
mago3D 한국어 소개 자료
mago3D 한국어 소개 자료 mago3D 한국어 소개 자료
mago3D 한국어 소개 자료
 
[APN Specialty Partner Webinar Series] TechData와 Siemens편
[APN Specialty Partner Webinar Series] TechData와 Siemens편[APN Specialty Partner Webinar Series] TechData와 Siemens편
[APN Specialty Partner Webinar Series] TechData와 Siemens편
 
AWS와 함께하는 슬기로운 재택생활
AWS와 함께하는 슬기로운 재택생활AWS와 함께하는 슬기로운 재택생활
AWS와 함께하는 슬기로운 재택생활
 
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
스마트 팩토리: AWS 사물인터넷과 인공지능을 활용한 스마트 팩토리 구축 – 최영준 AWS 솔루션즈 아키텍트, 정현아 AWS 솔루션즈 아키...
 

2020.02.06 우리는 왜 glue를 버렸나?

  • 1. 우리는 왜 Glue를 버렸나? 2020. 02. 06 메 쉬 코 리 아 박 동 현
  • 2. 22020 All Rights Reserved by Mesh Korea Co., Ltd. 발표자 소개 - 박동현 University of Illinois Urbana-Champaign (UIUC) 컴퓨터과학 학사 SK 커뮤니케이션즈 선행연구원 (스킨 메뉴효과, 음악 개인화 추천) 벅스뮤직 추천 엔진 개발자 (빅데이터 인프라 및 개인화 추천 엔진) 메쉬코리아 백엔드 개발자 (경로 최적화 엔진, 부릉 서버, 데이터 엔지니어링) https://www.linkedin.com/in/thomas-hyun-park-m1004/ https://github.com/GomKeeper
  • 3. 32020 All Rights Reserved by Mesh Korea Co., Ltd. 메쉬코리아 - IT 기반의 물류 플랫폼 스타트업 - 2019년 예비유니콘 선정 - 투자유치 1,000 억 (네이버, 현대자동차 등) - 국내 350 여개의 거점 (전국 기준 70%) - 주요 법인 화주(버거킹, 올리브영, CU 등) - 약 10,000 개 상점 & 6,000 명의 기사
  • 4. 42020 All Rights Reserved by Mesh Korea Co., Ltd. 부릉 - 프리미엄 배송 물류망 - 2륜 배송 & 4륜 배송 서비스 제공 - 배송 경로 & 배차 최적화 TMS 엔진 - 2륜 + 4륜 = 당일배송 서비스 - 크라우드 소싱 부릉 프렌즈
  • 5. 52020 All Rights Reserved by Mesh Korea Co., Ltd. 목차 ❏ AWS Glue를 선택한 이유 ❏ AWS Glue를 버린 이유 ❏ 우리가 선택한 Data Pipeline Architecture
  • 7. 72020 All Rights Reserved by Mesh Korea Co., Ltd. 기존 데이터 분석 작업 - 상점 배달완료 시간 예측 - 기사 픽업 시간 예측 - 배달 알리미
  • 8. 82020 All Rights Reserved by Mesh Korea Co., Ltd. 데이터 사이언스 실 설립 - 2019년 3월 김명환 실장님 합류 데이터 사이언스 업무 총괄 - ML / AI 의 초석인 데이터 수집 강화 - 사내 구성원이 쉽게 사용 할 수 있는 데이터 플랫폼 구축
  • 9. 92020 All Rights Reserved by Mesh Korea Co., Ltd. 데이터 사이언스 실의 과제들 - 기사의 주차지점 확보 - 자동배차 - 오더 수 예측
  • 10. 102020 All Rights Reserved by Mesh Korea Co., Ltd. 통합 Data Platform Architecture
  • 11. 112020 All Rights Reserved by Mesh Korea Co., Ltd. 통합 Data Pipeline 주요 목표 및 요구 사항 주요 목표: 파편화된 데이터를 S3로 seemless하게 & effortless 하게 적재하고 관리하자. 요구 사항들 1. 기존 데이터를 Data Lake로 ETL하는 방법 도출 2. 소스코드 모듈화 및 SCM 관리 확보 3. 새로 추가되는 data pipeline도 고려한 확장성 4. Scaling Data를 효과적으로 처리하는 생산성 확보
  • 12. 122020 All Rights Reserved by Mesh Korea Co., Ltd. 최초의 시도 - Database Migration Service(DMS) - AWS Summit 2019의 AWS Database 기술 자문 - RDS -> S3를 위한 AWS Database Migration Service (DMS)의 적용 여부 확인
  • 13. 132020 All Rights Reserved by Mesh Korea Co., Ltd. DMS의 문제점 - 현재 DMS Task에서 업데이트 주기를 설정할 수 있는 부분이 없음. - AWS Technical Support 문의한 결과, target endpoint가 S3 인 경우 batch mode가 동작하지 않는다는 feedback 받음. (2019.05) - 새로운 서비스를 위한 data pipeline에 적용 어려움
  • 14. 142020 All Rights Reserved by Mesh Korea Co., Ltd. 두번째 시도 - AWS Glue Effective Data Lake session in AWS Summit 2019 AWS에서 제공하는 fully-managed Data Orcastration 서비스 https://www.slideshare.net/awskorea/effective-data-lake-aws-aw s-summit-seoul-2019
  • 15. 152020 All Rights Reserved by Mesh Korea Co., Ltd. AWS Glue의 특징 - Serverless - Databases (tables & connections) - Crawler - Job & Trigger
  • 16. 162020 All Rights Reserved by Mesh Korea Co., Ltd. AWS Glue 주요 확인 사항 AWS Glue는 우리 목표를 얼마나 충족 시킬 수 있을지 확인 필요 1. 기존 데이터를 Data Lake로 ETL하는 방법 도출 2. 소스코드 모듈화 및 SCM 관리 확보 3. 새로 추가되는 data pipeline도 고려한 확장성 4. Scaling Data를 효과적으로 처리하는 생산성 확보
  • 18. 182020 All Rights Reserved by Mesh Korea Co., Ltd. Serverless is not effortless - 모든 script 구동 시 약 10분의 boot up 시간 소요 - 디버깅 시 1시간에 최대 6번 수정 가능 - 하나의 스크립트에 여러개의 데이터를 처리해야 함 (모듈화 anti-pattern) - Resource Unavailable!!!!! (문의하니 재시도 하라는 답변만 반복)
  • 19. 192020 All Rights Reserved by Mesh Korea Co., Ltd. GlueContext 활용 가치 떨어짐 - GlueContext = subclass of SparkContext - Glue의 핵심 기능 (schema 자동 적용 등) - Dev endpoint에서는 GlueContext 사용 불가 - 모든 script를 SparkContext 기준으로 작성
  • 20. 202020 All Rights Reserved by Mesh Korea Co., Ltd. 비용 절감 효과 반감 - dev endpoint 유지비 >= EMR 유지비 (개발을 위해 EMR을 실행하고 있는 격) - 실행 하는 script가 많아질수록 EMR이 유리 (spot instance 활용 가능)
  • 21. 212020 All Rights Reserved by Mesh Korea Co., Ltd. Source Code Management(SCM) 어려움 - editor 수준의 Glue Script 수정화면 (vs lambda) - 모든 코드는 S3 내 존재 - 스크립트의 모듈화 & 경량화의 anti-pattern
  • 22. 222020 All Rights Reserved by Mesh Korea Co., Ltd. Jobs 관리 툴 부재 - 모든 Job이 단일 리스트로 관리 됨 - 환경 별 & 서비스 별 분리 불가 - 공통 코드 부분 명시 불가
  • 23. 232020 All Rights Reserved by Mesh Korea Co., Ltd. No DAGs - 여러개의 Job으로 엮여 있는 DAG 확인 불가 - 2019년 하반기 workflow 탭 구현됐으나, 아직 미흡
  • 24. 242020 All Rights Reserved by Mesh Korea Co., Ltd. Backfill 기능 부재 - 별도의 backfill 용 코드 또는 스크립트 제작 필요
  • 25. 252020 All Rights Reserved by Mesh Korea Co., Ltd. 버리게 된 이유가 7가지 1. Serverless 부작용 2. GlueContext 효용성 떨어짐 3. 비용 절감 미비 4. SCM 어려움 5. Jobs 관리 툴 부재 6. No DAGs 7. Backfill 미지원 결론: 우리의 주요 목표를 충족 시키기에는 아직 많이 부족한 서비스
  • 26. 우리가 선택한 Data Pipeline Architecture
  • 27. 272020 All Rights Reserved by Mesh Korea Co., Ltd. Data Pipeline Architecture 요구사항 1. Data ETL 2. 모듈화 & SCM 3. 확장성 4. 생산성
  • 28. 282020 All Rights Reserved by Mesh Korea Co., Ltd. AWS EMR with Apache Airflow a platform to programmatically author, schedule and monitor workflows Workflows are defined as code, they become more maintainable, versionable, testable, and collaborative. (python) https://airflow.apache.org/
  • 29. 292020 All Rights Reserved by Mesh Korea Co., Ltd. 즉시 실행 - Airflow Trigger로 EMR 즉시 실행 - Airflow Test로 바로 테스트 - API 방식으로 실행 가능
  • 30. 302020 All Rights Reserved by Mesh Korea Co., Ltd. DAGs - python 코드 기반의 DAG 구현 - 다양한 작업들을 관리하기 용이함 - 우월한 시각화 제공
  • 31. 312020 All Rights Reserved by Mesh Korea Co., Ltd. Seamless 한 SCM - DAG와 script를 같은 repository에서 관리 - 코드 내 Versioning 적용 가능
  • 32. 322020 All Rights Reserved by Mesh Korea Co., Ltd. 환경 분리 용이 - 환경 별 (개발, QA, 상용) 코드 분리 - Business Analyst 들도 손쉽게 실행 가능
  • 33. 332020 All Rights Reserved by Mesh Korea Co., Ltd. 다양한 plugin 존재 - 연동 가능한 많은 plug-ins - 직접 plug-in 제작 가능
  • 34. 342020 All Rights Reserved by Mesh Korea Co., Ltd. Native Backfill 지원 - execution_date 기반의 backfill 자체 지원
  • 35. 352020 All Rights Reserved by Mesh Korea Co., Ltd. 다양한 작업의 스케줄링 - EMR 뿐만 아니라 다른 task 실행 가능 (ex. bash)
  • 36. 362020 All Rights Reserved by Mesh Korea Co., Ltd. Airflow의 단점 - DAG와 Git의 직접 연동 부재 (별도의 개발 필요) - 설치 및 관리 비용 필요 (k8s 로 관리 및 모니터링 비용 최소화) - UTC Timezone
  • 37. 372020 All Rights Reserved by Mesh Korea Co., Ltd. 결론 AWS Glue는 Data ETL, SCM, 확장성, 생산성을 모두 고려하기엔 부족한 서비스 계속해서 발전해 나가는 모습 발견 (우리는 베터테스터?) 계속해서 사용자의 피드백을 잘 적용하는 AWS
  • 38. 382020 All Rights Reserved by Mesh Korea Co., Ltd. 결론 - AWS Glue는 별도의 지식없이 간단히 구현 가능 - 우리의 니즈가 Glue의 발전 속도보다 빠르기에 직접 만들어가는 방식 채택 AWS Glue 발전 속도 메쉬코리아 요구사항
  • 39. 392020 All Rights Reserved by Mesh Korea Co., Ltd. 데이터사이언스 발전 방향 다양한 분석 데이터 존재 state-of-the-art 기술 활용 가능
  • 40. 402020 All Rights Reserved by Mesh Korea Co., Ltd. 인재 채용 - Data Engineer - Data Scientist - A.I. Engineer - DataInfraOps - Software Engineer (Java & PHP) - Engineer Manager - DevOps https://www.wanted.co.kr/company/676
  • 41. Q & A