BLOG

AWS re:Invent 2022 세션 후기 #28 – 분석 2
작성일: 2022-12-01
[ANT335] How Disney used AWS Glue as a data integration and ETL framework

연사 : Alona Nadler, AWS Glue 제품 책임자

Ralph Peterkin, 디즈니 수석 건축가

일시: 2022.11.28 16:55 ~ 17:45

장소: MGM Grand Level 1, Grand 121

작성자 : 메가존클라우드 Data Business Center 조예원 매니저

 

 

디즈니가 AWS Glue를 data integration 서비스로 선택하게 된 이유와, 어떻게 AWS Glue로 기존의 Hadoop, Spark를 대체하여 사용하였는지에 대한 사례 소개 세션에 참여 하였습니다.

 

 

Data Integration 프로세스는 크게 아래와 같이 세가지 단계로 나눌 수 있습니다.

  1. Motivation (동기) : 새로운 리포트 요청 / 팀 간의 데이터 파이프라인 등 데이터 통합이 필요한 요건이 생김
  2. Build(구축) : 요건을 세분화하여 정의하고, 데이터에 접근하여 구조를 잡고, 정제 및 집계 하고, 시각화 및 검증하는 과정 통해 데이터 통합을 구축
  3. Operationalize(운영화) : SLA를 설정하고, 워크플로우 및 스케쥴을 걸어 작동하는 것을 모니터 하며 문제가 생길 경우 다시 Build 과정을 거쳐 반영

 

 

하지만 데이터 통합 과정에서 아래와 같은 어려움이 발생하게 됩니다.

  • 기하급수적인 데이터 성장에 비한 요금 및 데이터 용량으로 인한 한계
  • 새로운 데이터 소스가 생길 시, 반영하는데에 오래 걸림
  • 늘어나는 다양성으로 인해 변환에 예전보다 더 많은 힘을 써야함
  • 많은 애플리케이션으로 분석하기 때문에, 보안 및 신뢰 유지가 어려움

 

 

AWS Glue는 이런 데이터 어려움을 해소하는 데이터 통합을 위한 서비스 입니다.

  • 서버리스 솔루션으로 유지보수 필요 없이 데이터에 집중 가능
  • 라이선스 비용 및 인프라 비용이 없이 사용 비용만 지불
  • 크고 혁신적인 에코시스템으로부터 지원 가능한 오픈 소스 엔진 사용
  • 모든 사용자 및 작업을 지원함

 

 

서버리스 데이터 통합 서비스인 AWS Glue가 제공하는 기능은 위와 같이 정리할 수 있습니다.

 

 

AWS Glue는 서버리스로 인프라 관리가 필요 없으며, 빠르게 클러스터를 시작할수 있고,

온디맨드로 요금이 부과되어 비용 효율적인 장점을 가지고 있습니다.

 

 

AWS Glue는 Spark, Python Shell등 다양한 작업을 사용할 수 있으며, “Ray”라는 신규 서비스도 곧 출시될 예정이라고 합니다.

 

Connectors

 

AWS Glue를 통해 80개 이상의 데이터 소스와 연결할 수 있으며 크게 3가지 종류의 커넥터를 제공합니다.

  • Built-in 커넥터 : AWS Glue에서 운영, 제공하는 커넥터
  • Marketplace 커넥터 : 3rd party 데이터 소스 커넥터
  • Custom 커넥터 : 도메인 특정 데이터 연결 가능

Author

 

AWS Glue는 Glue Studio, Glue Studio Notebook, Glue DataBrew, APIS/SDK/Local Notebook, Sagemaker Studio notebook 등 다양한 특성에 맞게 필요한 인터페이스를 제공합니다.

 

 

그 중 대표적인 인터페이스로는 Glue studio가 있는데, 사용자가 원하는 소스 데이터, 변환(기능), 타겟 소스를 UI 상으로 설정하면 자동으로 스크립트를 생성해줍니다.

 

Operationalize

AWS Glue 운영을 위해 크게 3가지 기능을 제공 합니다.

  • Git Intgegration : 버전관리를 위해 AWS Glue, AWS CodeCommit, GitHub의 연결이 가능
  • Job monitoring : AWS Glue에서 제공하는 UI를 통해 작업 모니터링이 가능
  • Workflow & Orchestration : 워크플로우 및 오케스트레이션을 생성하여 자동화 가능

 

Data Management

 

AWS Glue에서 사용할 수 있는 Data Catalog를 활용해서 데이터 레이크의 메타데이터를 저장 및 관리가 가능합니다.

Data Catalog로 메타 데이터를 저장 및 관리할 경우 아래와 같은 이점이 있습니다.

  • 높은 안정성 및 가용성
  • 서버리스이며 비용 효율적
  • 메타 데이터를 다양한 방법으로 접근 가능
  • 스키마 관리소로서 사용 가능

 

 

또한 AWS Glue에서 민감 정보 detection 및 처리가 가능하여 손쉽게 데이터를 관리할 수 있습니다.

 

AWS Glue Use cases

 

사용자들은 아래와 같은 요건 때문에 AWS Glue를 사용합니다.

  • 전통적인 ETL을 통한 Migration
  • 데이터레이크 통합
  • 셀프 서비스 데이터 통합
  • Data Warehouse에서 ETL/ELT
  • 서버리스로 Apache Spark 사용
  • ML을 위한 Data Prepration

 

How Disney Chose AWS Glue – 사례

 

코로나로 인한 사회적 거리두기로 인해 Disney Park에서 게스트 수를 통제하여야 했고, 놀이공원 사용성을 최적화 하기 위해서

현재 및 미래 예약에 대한 인사이트를 뽑아내야 하는 요건이 생기게 되었습니다.

AWS Glue 이전에는 Amazone EC2에 설치된 Hadoop 클러스터를 사용했었고, 위와 같은 서비스들을 사용했었다고 합니다.

 

 

Hadoop 사용시 클러스터 보안, 용량, 스케일링 어려움 등의 문제를 겪고 있었습니다.

 

 

Hadoop을 대체할 서비스로 AWS Glue를 선택한 이유는 Glue는 서버리스이고, 시장에 바르게 적응하며, Spark 베이스이며, 비용 효율적이기 때문이라고 합니다.

 

 

AWS Glue로의 전환에서 디즈니의 동기 및 목표는 아래와 같았습니다.

  • 다양한 단계의 규정 및 데이터를 다룰 표준화된 방법이 필요
  • 단순한 사용성
  • 데이터 엔지니어가 구조를 자세하게 이해할 필요 없이 다룰 수 있는 엔드 투 엔드 툴 제공
  • 파이썬이나 스파크 경험이 없는 SQL developer 등의 사용자들 고려

 

 

내부 Glue Framework는 아래와 같이 구성되었다고 합니다.

  • Internal Glue framework : 새로운 spark 코드 작성이 필요하지 않도록, AWS Glue job을 실행하고 트랙킹하는 YAML 파일을 사용하는 하나의 pyspark로 작성 되어 있음
  • Job runner : AWS Glue Job의 시작점으로, Spark session을 준비하고 작업을 실행시킴
  • Job Tracker : 성공적으로 처리된 파일의 트랙을 저장함

 

 

Dataflow는 위와 같이 구성되어 있으며, 소스 데이터에서 Raw 데이터, Raw History 데이터, Syndicated 데이터를 거쳐 최종적으로 Curated 데이터를 생성하여 데이터 소비자가 사용할 수 있도록 하였습니다.

 

 

High Level Glue Job Runner 아키텍쳐는 위와 같습니다.

control pane에 작업을 실행시키고 tracking 하는 yaml 등 config 파일이 저장되어 있고, control pane을 통해서 Job Runner 작업을 실행시키면,

각 Job Runner가 하위 Job들을 실행시키게 됩니다.

 

 

Config 파일 참고 이미지 입니다.

 

 

또한 Glue Cluster 작업 현황을 간편하게 모니터링 할 수 있습니다.

 

 

현재 디즈니의 AWS Glue Job Excution 현황은 아래와 같습니다.

  • 코로나 관련 작업으로 인해 AWS Glue Job을 사용하기 시작
  • 약 1년정도 후, Hadoop to Glue migration 작업을 시작
  • 현재, Hadoop job을 Glue로 계속 migration 하면서 동시에 Glue에 계속해서 새로운 작업 생성

 

 

결론적으로, AWS Glue는 worlaod scale에 특화 된 서비스 입니다. AWS Glue를 사용함으로써, 엔지니어들이 Hadoop cluster 유지하는데에 신경쓰는 대신

새로운 데이터 작업에만 집중할 수 있게 되었고, AWS Glue를 통해 analytical compute 환경을 진화 시킬 수 있었습니다.

몇달 후엔 디즈니랜드 파리에도 적용을 시작할 예정이라고 합니다.

 

실제로 데이터 통합/변환 등의 작업이 필요로 하는 대부분의 프로젝트에서는 AWS Glue를 많이 활용하고 있는데,

Glue의 장점을 한번에 정리할 수 있었던 세션이었습니다.

Glue의 connector, interface, monitoring 등 작업 및 워크플로우 관련된 기능 외에도 다양한 기능들을 제공하고 있다는 것을 알게 되어 앞으로

Glue를 보다 잘 활용할 수 있을 것 같았고, 디즈니랜드에서 사용하고 있는 Glue Framework의 방식은 전형적인 Glue 사용 방식과는 다른데,

잘 활용하면 효율적일 것 같아서 기회가 된다면 framework를 참고해서 실제로 적용해보고 싶다고 생각했습니다.

 

 

👉본 세션 내용 관련하여 추가 문의나 요청 사항이 있으시다면? 우측 링크로 이동하셔서 편하게 의견을 남겨주세요! https://www.megazone.com/contact/

 

👉 다른 세션 후기글이 궁금하시다면? 아래 링크를 통해 확인해 주세요!

🔷Keynote Report #1. Day1 Monday Night Live with Peter DeSantis 확인하기

🔷Keynote Report #2. Day2 Adam Selipsky Keynote 확인하기

🔷Keynote Report #3. Day3 Swami Sivasubramanian Keynote 확인하기

🔷Keynote Report #4. Day4 Dr.Werner Vogels Keynote 확인하기

 

✅1. 데이터 보호 세션 후기 확인하기

✅2. 마이그레이션 세션 후기 확인하기

✅3. 현대화 (Modernization)세션 후기 확인하기

✅4. SAP 세션 후기 확인하기

✅5. 쿠버네티스 세션 후기 확인하기

✅6. 마이그레이션2 세션 후기 확인하기

✅7. 분석 세션 후기 확인하기

✅8. AI/ML 세션 후기 확인하기

✅9. AI/ML 2 세션 후기 확인하기

✅10. 현대화 (Modernization) 2 세션 후기 확인하기

✅11. 현대화 (Modernization) 3 세션 후기 확인하기

✅12. Data Lakes 세션 후기 확인하기

✅13. 네트워킹 세션 후기 확인하기

✅14. 마이그레이션3 세션 후기 확인하기

✅15.비용 최적화 세션 후기 확인하기

✅16. 보안 세션 후기 확인하기

✅17. SAP 2 세션 후기 확인하기

✅18. 마이그레이션4 세션 후기 확인하기

✅19. DevOps 세션 후기 확인하기

✅20. 신규업데이트 세션 후기 확인하기

✅21. 스토리지 세션 후기 확인하기

✅22. Amazon 세션 후기 확인하기

✅23. 신규업데이트2 후기 확인하기

✅24. 거버넌스 후기 확인하기

✅25. 거버넌스2 후기 확인하기

✅26. DevOps 2 후기 확인하기

✅27. AI/ML 3 세션 후기 확인하기

✅28. 분석2 세션 후기 확인하기

✅29. 쿠버네티스2 세션 후기 확인하기

✅30. 분석 3 세션 후기 확인하기

✅31. 서버리스 컴퓨팅 세션 후기 확인하기

✅32. 신규 업데이트 3 세션 후기 확인하기

✅33. 신규 업데이트 4 세션 후기 확인하기

✅34. 보안 2 세션 후기 확인하기

✅35. 분석 4 세션 후기 확인하기

✅36. 모니터링 세션 후기 확인하기

✅37. AI/ML 4 세션 후기 확인하기

✅38. 운영 세션 후기 확인하기

✅39. 운영 2 세션 후기 확인하기

✅40. 데이터베이스 세션 후기 확인하기

✅41. 데이터베이스 2 세션 후기 확인하기

✅42. 보안 3 세션 후기 확인하기

✅43. SaaS 세션 후기 확인하기

✅44. 컴퓨팅 세션 후기 확인하기

✅45. 신규 업데이트 : AWS SnapStart 세션 후기 확인하기

✅46. 신규 업데이트 : 네트워크 최적화 인스턴스와 최신 Amazon EC2 네트워킹 세션 후기 확인하기

✅47. 아키텍처 세션 후기 확인하기

✅48. SAP 3 세션 후기 확인하기

✅49. 고객사례 세션 후기

✅50. SAP 4 세션 후기 확인하기

✅51. 데이터베이스, 마이그레이션 세션 후기 확인하기

✅52. 보안 4 세션 후기 확인하기

✅53. 보안 규정 세션 후기 확인하기

✅54. 데이터베이스 3 세션 후기 확인하기

✅55. 신규 업데이트 5 세션 후기 확인하기

✅56 .DevOps 3 세션 후기 확인하기

✅57. 분석 5 세션 후기 확인하기

✅58. AI/ML 5 세션 후기 확인하기

✅59. DevOps 4 세션 후기 확인하기

✅60. 신규업데이트 6 세션 후기 확인하기

✅61. 분석 6 세션 후기 확인하기

✅62. 데이터 보호 세션 후기 확인하기

✅63. AI/ML 6 세션 후기 확인하기

✅64. DevOps 5 세션 후기 확인하기

✅65. 신규업데이트 7 세션 후기 확인하기

✅66. 신규 업데이트 8 세션 후기 확인하기