콘텐츠로 이동하기
데이터 분석

Yahoo에서 Managed Service for Apache Spark의 가변형 VM으로 리소스를 최적화한 방법

2026년 9월 13일
Akshay Jain

Senior Software Engineer, Yahoo

Surjit Singh

Data & AI Engineer, Google Cloud

지금 Gemini Enterprise Business Edition을 사용해 보세요

비즈니스 현장에서 Google AI를 만나기 위한 첫걸음

지금 시작하기

*이 콘텐츠는 AI 번역 도구를 사용하여 번역되었습니다. 정확성을 기하기 위해 노력하고 있으나, 자동 번역에는 오류나 누락이 포함될 수 있습니다. 정확한 정보는 영문 원본을 참고해 주시기 바랍니다.


수억 명의 사용자를 금융, 스포츠, 엔터테인먼트 플랫폼에 연결하는 글로벌 미디어 및 기술 기업인 Yahoo는 분석 워크로드를 지속적으로 빠르게 실행해야 하는 대규모 데이터 인프라를 운영하고 있습니다. 시간적 제약이 따르는 데이터 환경에서 고정된 가상 머신(VM) 구성에 의존하면 시스템의 유연성이 떨어집니다. 특정 머신 유형이 리전 내 용량 제한 문제에 직면하면 Managed Service for Apache Spark(이전 명칭: Dataproc)의 클러스터 프로비저닝이 지연되면서 중요한 데이터 파이프라인이 중단될 수 있습니다.

Yahoo는 Managed Service for Apache Spark 클러스터의 가변형 VM을 활용하여 허용 가능한 VM 유형의 우선순위 목록을 정의하는 방식으로 이러한 리소스 변동에 자동으로 대응합니다. 따라서 시스템은 리전 내 여러 영역을 동적으로 검색하고 수동 개입 없이 파이프라인 실행을 유지할 수 있습니다. 리전 전체에서 용량을 검색하려면 자동 영역 배치도 사용 설정해야 합니다.

이러한 최적화가 가능한 것은 온프레미스 Hadoop 및 빅데이터 환경을 바로 Google Cloud로 마이그레이션한 Yahoo의 광범위한 데이터 현대화 여정 덕분이었습니다. Yahoo는 레거시 워크로드를 이전하여 동적인 리소스 유연성을 갖추고 대규모 배치 및 스트리밍 분석을 실행할 수 있는 클라우드 기반을 구축했습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/maxresdefault_iMaqL8o.max-1300x1300.jpg

이 게시물에서는 Managed Service for Apache Spark에서 가변형 VM 인스턴스의 우선순위를 구성하여 용량 제약을 자동으로 관리하고 파이프라인 실행을 유지하는 방법을 기술적인 관점에서 자세히 설명합니다.

정적 구성의 운영상 절충점

특정 영역에서 단일 고정 머신 유형으로 클러스터를 구성하면 리전 내 영역별 용량이 변동할 때 제약이 발생하여 클러스터 프로비저닝에 영향을 줄 수 있습니다. 가변형 구성을 사용하면 이처럼 용량 변동이 발생할 때 커스텀 재시도 로직이나 수동 개입으로 대응할 필요 없이 인프라가 자동으로 조정됩니다. 가변형 구성은 다양한 VM 유형을 수용하고 선택한 리전 내 여러 영역을 검색하여 프로비저닝을 간소화하며, 이를 통해 대규모 분석 워크로드를 더욱 효과적으로 지원합니다.

가변형 클러스터 구성을 위한 규칙

가변형 구성을 배포하려면 다음과 같이 서로 연결된 여러 설계 요소를 적절히 조정해야 합니다.

  • 자동 영역 배치 사용 설정: Managed Spark가 전체 리전에서 사용 가능한 용량을 검색할 수 있도록 리전(--region=${REGION})이나 빈 영역 문자열(--zone="")을 전달해야 합니다.

  • 코어 및 메모리 균형 유지: Managed Spark 클러스터에서 자동 확장을 사용하는 경우 가변형 목록에 포함된 모든 머신 유형은 서로 다른 VM 제품군에 속하더라도 코어 수와 메모리 크기가 비슷해야 합니다. 기본 작업자와 보조 작업자 간에 CPU 대 메모리 비율을 균일하게 유지하면 성능 저하를 방지할 수 있습니다. 가장 낮은 비율을 기준으로 실질적인 컨테이너 크기가 결정되기 때문입니다.

  • 구성요소 속성 조정: Managed Spark는 VM 코어와 메모리를 기준으로 시스템 속성을 계산합니다. 서로 다른 머신 유형을 함께 사용하는 경우 예상되는 작업자 동작에 맞춰 YARN 및 Spark 리소스 할당을 유지하려면 속성을 명시적으로 재정의해야 할 수 있습니다.

가변형 VM이 대규모 워크로드를 지원하는 두 가지 방법

대규모 데이터 환경의 가변형 구성은 두 가지 방식으로 운영을 지원합니다.

  1. 클러스터 생성 성공률 개선: 선호하는 VM 유형의 가용 용량이 없더라도 Managed Spark가 우선순위 목록에서 다른 유형을 선택하므로 클러스터 생성에 실패하지 않고 프로비저닝을 중단 없이 지속합니다.

  2. 리전 리소스 활용도 향상: 자동 영역 배치는 리전 전체에서 가용 용량을 검색하므로 수요가 급증하는 시기에도 프로비저닝을 더욱 원활하게 처리할 수 있습니다.

gcloud 예시

로드 중...

API 예시

`Dataproc` API의 `instanceFlexibilityPolicy` 필드를 사용하면 이 용량 정책을 자동화된 파이프라인이나 Managed Service for Apache Airflow DAG에 적용할 수도 있습니다.

로드 중...

이 API 정책은 동일한 목표를 달성합니다. 즉, 선호하는 유형을 설정하고 유효한 대체 수단을 명시하며 Managed Spark가 자동화 스크립트를 중단하지 않고 리소스 제약 조건을 해결할 수 있도록 만드는 것입니다.

인프라 정책 수립

이처럼 대규모로 데이터를 관리하려면 하나의 고정된 머신 유형에 의존하기보다 명확한 리소스 정책을 표준화해야 합니다. 구성 표준에는 다음 사항을 포함하는 것이 좋습니다.

  • 보조 작업자에 사용할 기본 및 대체 VM 제품군

  • 가변형 프로비저닝을 지원하기 위한 기본 자동 영역 배치

  • 자동 확장 사용 시 동일한 코어 및 메모리 구성

  • 예측 가능한 컨테이너 크기 유지를 위한 모든 작업자 그룹의 일관된 CPU 대 메모리 비율

  • 서로 다른 머신 계열에서도 일관된 런타임 동작을 보장하기 위한 명시적인 YARN 또는 Spark 속성 재정의

  • Spot 또는 탄력성이 높은 용량에서 실행되는 Spark 워크로드를 위한 셔플 안정성 보장 패턴

가변형 구성을 도입하면 인프라 리소스가 부족한 상황에서도 예측 가능한 대체 계획에 따라 대응하여 중요한 데이터 파이프라인을 계속 실행할 수 있습니다.

Yahoo의 도입 효과 및 성과

Yahoo는 Managed Service for Apache Spark에 가변형 VM을 구현하여 리전 내 용량 부족으로 발생하는 클러스터 프로비저닝 실패를 85% 줄였습니다. 이러한 가변형 구성을 통해 데이터 인프라가 용량 제약에 자동으로 대응하고 수동 개입 없이 리소스를 성공적으로 프로비저닝할 수 있습니다. 그 결과 Yahoo는 대규모 데이터 파이프라인 전반에서 워크로드를 지속적으로 실행하고 다운스트림 처리 지연을 방지할 수 있게 되었습니다.

"Yahoo의 대규모 데이터 분석을 관리하려면 복원력이 뛰어난 자동화된 인프라가 필요합니다. Managed Service for Apache Spark의 가변형 VM으로 전환하면서 접근방식이 완전히 바뀌었습니다. 이제 특정 머신 유형에 용량 제약이 발생하더라도 클러스터가 중단되는 대신 우선순위가 지정된 대체 옵션으로 자동 전환됩니다. 덕분에 프로비저닝 실패를 85% 줄이고 전 세계 미디어 플랫폼을 원활하게 운영하는 데 필수적인 안정성까지 확보하게 되었습니다." - 악샤이 자인, Yahoo! 선임 소프트웨어 개발 엔지니어

가변형 인프라의 전략적 이점

가변형 컴퓨팅 스택을 도입하면 운영 요구사항에 따라 적응하는 동적인 리소스 풀로 환경을 전환할 수 있습니다. 경직된 단일 머신 유형 구성에서 벗어나면 공급 상황이 변하더라도 워크로드에 필요한 컴퓨팅 리소스를 안정적으로 확보할 수 있습니다. 이러한 전환은 워크로드 가용성과 안정성을 극대화할 뿐만 아니라, 최신 VM 세대를 우선적으로 활용하면서도 구형 유형을 안정적인 대체 옵션으로 유지할 수 있게 하여 원활한 하드웨어 현대화를 지원합니다.

복원력이 뛰어난 데이터 파이프라인 구축

유동적인 컴퓨팅 전략으로 전환하면 리전별 리소스 상황이 변하더라도 중요한 분석 워크로드를 계속 실행할 수 있습니다. 다음과 같은 방법으로 지금 바로 인프라 최적화를 시작할 수 있습니다.

  1. 워크로드 점검: 특정 VM 제품군이나 영역에 밀접하게 결합된 애플리케이션을 파악하고 사용할 수 있는 대체 하드웨어 유형을 정리하세요.

  2. 리소스 정책 표준화: Managed Spark 가변형 VM 문서를 살펴보고 선호하는 VM 제품군과 대체 VM 제품군을 설정하세요.

  3. 재무 전략 조정: 워크로드가 대체 머신 유형으로 동적으로 전환될 때 가변형 약정 사용 할인(Flex CUD)을 활용하여 비용 예측 가능성을 유지하세요.

  4. 크레딧 신청: 신규 고객에게는 Managed Service for Apache Spark 및 기타 Google Cloud 제품을 무료로 사용해 볼 수 있는 $300의 크레딧이 제공됩니다.

게시 위치