테크레시피

넷플릭스가 자사 데이터 비용 효과 높이는 방법

기업이나 공공기관이 AWS 같은 클라우드 서비스를 자사 데이터 기반으로 채택하는 사례가 늘고 있다. 하지만 이런 클라우드 서비스 이용 요금은 결코 저렴하지 않다. 방대한 데이터를 클라우드에서 관리하는 넷플릭스는 자사 데이터 기반 운용비용을 어떻게 줄이고 비용 효과를 높이고 있을까.

보통 데이터 기반 비용을 관리하는 방법으로 예산 한도 설정과 엄격한 지출 제한을 행한다. 하지만 고도로 분산된 데이터 기반으로 갖고 자유와 책임을 중시하는 넷플릭스에선 이런 방법은 반문화적이고 비효율적인 것이다. 데이터 기반 비용 효과를 높이기 위해 넷플릭스는 비용을 투명하게 하고 비용 효과에 대한 정보를 가능한 의사결정자에 가까운 곳에 배치하기 위해 해당 정보를 정리한 대시보드를 개발했다.

넷플릭스가 취급하는 데이터 형식으론 정적 데이터와 동적 데이터가 있다. 정적 데이터는 AWS S3과 카산드라(Cassandra), 엘라스틱서치(Elasticsearch) 등에 저장된 데이터를 의미한다. 동적 데이터는 키스톤(Keystone)이나 플링크(Flink) 등으로 처리되는 데이터다.

이들 데이터는 다양한 팀이 보유하고 있기 때문에 팀 단위로 비용을 파악하기 위해 플랫폼을 횡단해 비용을 집계할 뿐 아니라 테이블이나 인덱스 같은 의미 있는 자원 단위 비용을 분해해야 한다. 이 분해 기능을 실현하기 위해 넷플릭스가 구축은 시스템이 이렇다.

먼저 AMS에선 AWS 이용 요금과 S3 인벤토리 메타 데이터를 검색한다. S3 인벤토리는 S3에 저장된 객체 메타 데이터를 출력해주는 서비스를 한다. 넷플릭스 내부는 넷플릭스의 데이터 자원 모두를 망라해 데이터와 비용을 연관 메타 데이터를 제공하는 NDC(Netflix Data Catalog), 동적 데이터 서비스 API에 의한 정보, CPU 사용률 또는 네트워크 처리량 같은 메트릭을 모니터링하는 시스템인 아틀라스(Atlas)에서 정보를 검색하고 비용 효과를 게산해 대시보드에 표시한다.

AWS 이용 요금은 EC2와 S3 등 플랫폼 단위이기 때문에 팀마다 비용을 파악하려면 해당 플랫폼에 든 비용을 배분해야 한다. EC2 기반 플랫폼에선 우선 플랫폼에 CPU 사용률이나 메모리 사용률 등 병목 메트릭을 식별한다. 이후 아틀라스를 통해 데이터별 인식으로 차지하는 비율을 계산하고 해당 비율에 따라 배분 기준을 결정한다. S3 기반 플랫폼에선 S3 인벤토리를 이용해 S3 스토리지에서 차지하는 데이터량에 따라 비용을 배분하고 있다고 한다.

실제로 데이터를 표시하는 대시보드는 드루이드(Druid)를 백엔드에 채택하고 용도에 따라 비용을 그룹화한다. 예를 들어 조직 단위로 비용을 보거나 지원 단위로 비용을 표시할 수 있다. 시계열로 비용을 표시하는 대시보드도 준비되어 있다. 이런 대시보드는 주로 엔지니어나 데이터사이언스팀을 대상으로 한 것이라고 한다.

대시보드를 통한 비용 시각화 뿐 아니라 넷플릭스는 데이터 이용 방법도 간소화할 수 있다. 넷플릭스 빅데이터웨어하우스는 소유자가 만료를 자유롭게 설정할 수 있었지만 최적의 유효기간을 설정할 방법은 없다. 이런 상황을 개선하기 위해 스토리지를 설정하는 최적의 유효기간을 자동 산출하는 시스템을 개발했다.

S3에서 가장 비용이 드는 건 매일 업데이트되는 트랜잭션 테이블이다. 먼저 S3 액세스 로그, 데이터웨어하우스 메타데이터를 수집하는 시스템 메타캣(Metacat)을 이용해 어느 파티션이 언제 접근할 수 있었는지 확인한다. 이어 지난 180일간 액세스 상황 중 다시 액세스하는데 걸린 가장 긴 기간을 분석해 최적의 유효기간을 설정하는 구조다. 또 데이터 소유자에게 권장 만료와 현재 설정되어 있는 유효기간, 절약 가능한 비용을 표시해주는 대시보드를 제공한다.

이 대시보드와 유효기간 제안 시스템 외에도 엔지니어 데이터 사용 비용 상승을 알려주는 시스템도 구축하고 있다. 이런 시스템을 통해 데이터웨어하우스 스토리지 사용량을 10% 이상 줄일 수 있었다고 한다. 넷플릭스는 앞으로 과제로 조직과 소유자가 바뀌었을 때 데이터 연속성 유지와 데이터에 문제가 발생할 경우 상태 지속성에 있다고 보고 데이터 이용 효율화를 추진해나갈 예정이다. 관련 내용은 이곳에서 확인할 수 있다.

뉴스레터 구독