AI Briefing

뱅크샐러드, Spark 컴퓨팅 환경 EMR에서 Kubernetes로 이전… 비용 45% 절감

·2023.01.05 09:00

핵심 내용

뱅크샐러드가 Spark 컴퓨팅 환경을 EMR에서 Kubernetes로 전환해 운영 비용을 약 45% 절감했다.

자세히 보기

뱅크샐러드 Data Platform 팀은 기존 Amazon EMR 기반의 Spark 데이터 분석 환경을 Self-hosted Kubernetes로 이전하는 프로젝트를 진행 중이다. EMR 운영 중 인스턴스 부족으로 인한 Autoscaling 실패, Driver 종료, 복잡한 설정 등 운영상의 어려움이 지속되면서, DevOps 팀이 익숙한 Kubernetes 기반 전환이 장기적으로 유리하다고 판단했다.

아키텍처 변경 및 기술적 과제

기존 YARN 기반 실행 구조에서 Kubernetes로 전환하면서 Spark 3.1부터 지원되는 Kubernetes GA 기능을 활용했다. Airflow의 KubernetesPodOperator를 통해 Spark job을 제출하며, Glue Catalog 참조를 위해 awslabs의 Hive Metastore 클라이언트를 Spark image에 포함했다. 특히 EMR 외부에서 Glue 테이블의 s3:// 프로토콜 접근 문제를 해결하기 위해 s3a:// 변환 로직을 적용한 forked 코드를 사용했다.

성능 최적화 및 비용 절감 효과

EMR의 EMRFS와 달리 Kubernetes 환경에서는 S3 접근 시 파일 커밋 지연이 발생할 수 있어, Magic Committer 옵션을 적용해 INSERT OVERWRITE 쿼리의 성능을 개선했다. 또한 Spot instance를 활용한 Kubernetes Autoscaler를 구성해 리소스 효율을 높였다. 그 결과, 기존 대비 운영 비용을 약 45% 절감하는 성과를 거두었다.

남은 과제 및 향후 계획

현재 프로젝트는 약 **40~50%**의 진행률을 보이고 있다. 남은 과제로는 Pod 내 Spark 리소스 사용량에 대한 상세한 metric 수집, Spark log 관리 체계 구축, 그리고 Spark 버전 업그레이드(3.0.3에서 3.1 이상) 시 발생할 수 있는 Glue/Hive dependency 문제 해결이 있다. 뱅크샐러드는 이러한 기술적 도전을 통해 데이터 플랫폼의 안정성과 확장성을 강화할 계획이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.