요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

국내 IT 기업은 한국을 넘어 세계를 무대로 할 정도로 뛰어난 기술과 아이디어를 자랑합니다. 이들은 기업 블로그를 통해 이러한 정보를 공개하고 있습니다. 요즘IT는 각 기업의 특색 있고 유익한 콘텐츠를 소개하는 시리즈를 준비했습니다. 이들은 어떻게 사고하고, 어떤 방식으로 일하고 있을까요?

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

클라우드 비용 최적화: 수백만 달러 절약한 쿠팡의 노력

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

국내 IT 기업은 한국을 넘어 세계를 무대로 할 정도로 뛰어난 기술과 아이디어를 자랑합니다. 이들은 기업 블로그를 통해 이러한 정보를 공개하고 있습니다. 요즘IT는 각 기업의 특색 있고 유익한 콘텐츠를 소개하는 시리즈를 준비했습니다. 이들은 어떻게 사고하고, 어떤 방식으로 일하고 있을까요?

 

이번 글은 국내 대표 이커머스 기업 ‘쿠팡(Coupang)’이 클라우드 비용을 줄이기 위해 사용량을 관리한 사례에 대해 소개합니다.

 

쿠팡 엔지니어링 조직들이 클라우드 비용을 줄이기 위해 들인 노력과 그 결과에 대하여

By Luke Travers & Amit Arora

 

쿠팡의 파이낸스 및 엔지니어링 팀들은 지난 몇 분기 동안 로드맵을 바탕으로 서로 협력하며 클라우드 서비스에 지출되는 온디맨드(on-demand) 비용을 관리하고 최적화해왔습니다. 여러 엔지니어링 조직들이 하나의 팀이 되어 노력했기에 가능한 일이었습니다.

 

하나의 팀으로서 저희는 다음과 같은 세 가지 핵심 원칙하에 비용 최적화 작업을 수행했고, 이 포스트를 통해 어떤 작업이 이루어졌는지 공유드리고자 합니다.

 

  • 예산 할당 및 준수
  • 목표 절감액
  • 쿠팡 리더십 원칙인 Hate Waste에 기반해 서비스 신뢰성, 지속 가능성 및 서비스 사용량 통제 부분에 집중

 

 

배경 및 과제

비용 최적화 작업을 시작할 당시 쿠팡은 다음과 같은 상황에 처해있었습니다.

 

  1. 클라우드 서비스를 효율적으로 사용하는 방법에 대한 엔지니어링 팀들은 이해도가 그리 높지 않은 상태였습니다. 그로 인해 필요 이상으로 서비스를 더 많이 사용하면서 불필요한 비용을 지출하고 있었습니다.
  2. 파이낸스 팀들은 어떤 팀이 클라우드 서비스 사용료를 지출하고 있는지, 그리고 성장하는 비즈니스에 영향을 주지 않으면서도 지출을 억제할 수 있는 방법이 무엇인지 이해하고자 고군분투 중이었습니다.
  3. 리더십 팀은 클라우드 서비스 비용 지출에 대해 충분히 분석하고 있지 못했습니다.

 

이에 리더십 팀은 클라우드 서비스의 가변 비용 모델에 대한 재정적 책임을 명확히 해야 한다는 판단을 내렸습니다. 리더십 팀의 지원하에 클라우드와 관련해 전문성을 지닌 동료들이 엔지니어링 팀들에 합류하게 되었고, 모두 다 함께 클라우드 서비스를 효율적으로 사용하면서 동시에 비용도 절감할 수 있는 방법을 찾기 시작했습니다.

 

 

1 단계: 최적화 프로젝트 팀 구성하기

클라우드 인프라 엔지니어와 테크니컬 프로그램 관리자(Technical Program Manager, TPM)를 주축으로 한 최적화 프로젝트 팀이 만들어졌습니다. 팀 구성원들은 서로 협력하며 클라우드 서비스 비용을 효율적으로 지출할 수 있는 방법을 찾아냈습니다.

 

프로젝트 팀은 각 도메인 팀과의 협업을 통해, 클라우드 서비스를 소유하고 사용할 때에는 서비스의 가변 비용 모델을 활용해야 한다는 점을 도메인 팀이 이해할 수 있도록 도왔습니다. 예를 들어, 저희는 Amazon S3에 저장된 데이터를 이해하고 유휴 상태(at rest)에서 스토리지 구조를 최적화할 수 있도록 도메인 팀과 협업했습니다. 또한 AWS Spot Instances 및 ARM 기반 AWS Graviton과 같은 서비스를 활용해 데이터 저장 및 처리 비용을 획기적으로 줄일 수 있는 방법을 찾아냈습니다. 그리고 프로젝트 팀은 정확한 분석이 제공되는 환경을 만들었고, 이에 도메인 팀들이 데이터에 기반해 의사 결정을 내릴 수 있게 되면서 클라우드 서비스를 더 잘 활용할 수 있게 되었습니다.

 

프로젝트 팀은 도메인 팀들 전체가 클라우드 서비스의 효율적인 사용을 하나의 엔지니어링 문화로 받아들일 수 있게끔, 팀들이 필요로 하는 애널리틱스(analytics), 도구 및 프로세스를 만들어 제공했습니다. 가령 Amazon Athena를 통해 처리된 Amazon CloudWatch 데이터를 사용해 맞춤형 대시보드를 개발했고 AWS CUR(Cost & Usage Reports) 데이터 처리를 위해 저희의 BI(Business Intelligence) 대시보드도 활용했습니다. 다른 한편으로는 파이낸스 팀이 저희와 함께 도메인 팀들을 지원하였고, 그 과정에서 도메인 팀들은 팀에 할당된 월별 및 분기별 예산을 관리하는 것이 얼마나 중요한지를 이해하게 되었습니다.

 

2 단계: 더 적게 쓰고 더 적게 지불하기

프로젝트 팀은 도메인 팀들이 필요로 하는 애널리틱스와 도구들을 개발할 때 다음과 같이 서로 연관되어 있지만 대조되는 두 가지 방법에 중점을 두고 필요한 작업들을 진행했습니다.

 

  1. 더 적게 쓰기(사용량을 줄여 비용 절감): 비-프로덕션(non-prod) 환경에서 필요시에만 AWS 리소스가 자동 시작되게끔 하였습니다. 이를 통해 쿠팡은 비-프로덕션 환경에서 25%의 비용을 절감할 수 있었습니다.
  2. 더 적게 지불하기(조정을 통해 사용량을 적정 수준으로 줄이기): 관련 데이터를 분석해 파악한 클라우드 서비스 사용 패턴을 바탕으로 프로젝트 팀은 쿠팡 내 전체 도메인 팀들과 긴밀히 협력하며 사용되지 않는 EC2 리소스를 수동으로 제거했습니다.

 

사용량 최적화 및 비용 절감을 주요 목표로 잡고, 다음과 같은 방법들을 통해 AWS 클라우드 서비스의 2021년 사용료를 수백만 달러(온디맨드 비용) 이상 절감했습니다.

 

저희가 채택한 최적화 기술은 비용 절감에 도움이 되었을 뿐만 아니라 클라우드 리소스를 더 효율적으로 활용할 수 있게 해주었습니다. AWS의 모범 사례(best practices) 및 권장 사항을 참고해 다음과 같은 작업들을 수행했습니다.

 

 

인스턴스 세대 조정

저희는 성능 향상, 비용 절감 및 가용성 향상을 위해 쿠팡의 모든 단일 인스턴스를 최신 세대로 조정하고 싶었습니다. 이를 위해서는 AMD 및 ARM과 같은 다양한 칩 아키텍처를 탐색할 뿐만 아니라 각각의 모든 인스턴스 유형을 테스트해야 했고 도메인 팀들과의 광범위한 협업이 필요했습니다. 힘든 테스트 과정을 거쳐 저희는 내부에서 사용되는 제품 전체를 AMD CPU 기반 클라우드 서비스로 성공적으로 이전할 수 있었고, 이전 버전에 비해 가격 대비 성능을 20% 더 향상시킬 수 있었습니다.

 

 

EMR

저희는 EMR에 Spot Instances를 사용하는 것을 선호하지만, 잘 알려져 있듯이 피크 시간대에 Spot을 사용하면 원하는 만큼의 용량을 확보하기 어려울 수도 있습니다. 복잡하게 통합되어 있는 EMR 시스템으로 서비스 중단 없이 툴체인(toolchain) 각 부분의 업데이트를 확실히 보장해야만 했습니다. 이를 위해 소프트웨어 버전을 업그레이드하여 AWS EMR의 인스턴스 플릿 기능을 활용하였고, 이 업그레이드를 통해 전체 EMR 비용을 25% 절감할 수 있었습니다.

 

 

스토리지

EBS 및 S3의 AWS 스토리지 비용을 다음과 같이 절감할 수 있었습니다.

 

  • Amazon EBS: 스토리지의 경우 차세대 EBS인 GP3가 저희의 요구 사항들을 앞으로도 계속 충족시키면서 동시에 내부 구성원들의 신뢰도 얻을 수 있을 것이라는 판단하에, GP3에 대한 광범위한 테스트를 수행했습니다. 내부 구성원들의 신뢰를 얻기 위해, 다양한 도구들로 폭넓은 성능 테스트를 수행했습니다. 먼저 개발용 계정에서 모든 테스트를 수행한 결과, 별다른 영향 없이 한 번에 500–1000개의 라이브 볼륨을 수월하게 마이그레이션 할 수 있음을 확인했습니다.
  • Amazon S3: 50 페타바이트(PB) 이상을 Intelligent-Tiering(IT)으로 옮겼습니다. 그 과정에서 저희는 모든 워크로드가 IT와 원활하게 작동하는 것은 아니며 개체 크기에 매우 주의해야 한다는 비싼 교훈을 얻었습니다. 평균 크기가 매우 작은 오브젝트들(object)이 수십억 개가 있는 경우, 해당 워크로드에 대한 전체 S3 비용은 크게 증가할 수 있습니다. 이 경우 관련 정책을 조정하려면 S3 수명 주기 필터(lifecycle filter)를 사용해야 합니다. S3의 복잡한 과금 패턴과 문제를 일으키지 않으려면, 이를 ‘일회성으로 수행되는(one and done)’ 프로세스(process)가 아니라 ‘계속 이어지는(ongoing)’ 주기(cycle)로 이해하고 긴 시간 동안 많은 주의를 기울여야 합니다.
그림 1. 증가하는 Amazon S3 사용량 대비 줄어드는 저장 용량 단위당 AWS 비용 추이

 

 

결론

위와 같은 방법들을 통해 저희는 2021년에 수백만 달러의 온디맨드 비용을 절감함으로써 AWS 클라우드 서비스로의 지출을 최소화할 수 있었습니다. 최적화할 영역을 정확히 파악해 내고 최적화 달성에 집중하면서 다양한 프로세스를 직접 수행해냈습니다. 저희는 비용 절감과 효율성 향상을 위해 여전히 최적화가 필요한 영역을 최선을 다해 찾고 있습니다.

 

클라우드 서비스 비용을 수백만 달러 절약했지만 아직 저희의 여정은 끝나지 않았습니다. 다음 단계로 보다 복잡한 분석 도구들에 대한 투자를 늘려 클라우드 핀옵스(Cloud FinOps) 사고방식이 쿠팡에 자리 잡을 수 있도록 노력할 것입니다. 또한 클라우드 서비스 비용의 최적화에 필요한 모니터링 및 분석 프로세스들 중 일부를 자동화할 예정입니다.

 

<원문>

클라우드 서비스 사용량 관리를 통한 운영 비용 최적화

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
작가
17
명 알림 받는 중

작가 홈

작가
17
명 알림 받는 중
쿠팡의 엔지니어들은 매일 쿠팡 이커머스, 이츠, 플레이 서비스를 만들고 발전시켜 나갑니다. 그 과정과 결과를 이곳에 기록하고 공유합니다.

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login