콘텐츠로 이동하기
데이터베이스

Oracle에서 PostgreSQL로 이전하기까지 Auto Trader의 여정

2021년 5월 18일
https://storage.googleapis.com/gweb-cloudblog-publish/images/autotrader_uk.max-2600x2600.jpg
Mohsin Patel

Principal Database Engineer at Auto Trader UK

* 본 아티클의 원문은 2021년 3월 31일 Google Cloud 블로그(영문)에 게재되었습니다.   

편집자 주: 오늘은 영국 최대의 온라인 자동차 마켓플레이스인 Auto Trader의 사례를 살펴보겠습니다. Auto Trader는 영국의 자동차 매매 프로세스를 개선해 소비자에게 소매업체와 제조업체를 연결하는 플랫폼을 제공하는 것을 목표로 하고 있습니다. Auto Trader에서 온프레미스를 클라우드로 마이그레이션하는 여정에 Google의 Cloud SQL이 사용된 방식을 소개합니다. 

Auto Trader는 혁신을 핵심 기조로 삼고 40년 가까이 고객 곁에서 비즈니스 솔루션을 성장 및 발전시켜 왔습니다. 1977년 잡지형 인쇄물로 설립된 Auto Trader는 2013년 완전히 디지털 기업으로 거듭난 이후 영국 최고의 디지털 브랜드 중 하나로 자리매김했습니다. 현재 Auto Trader는 매월 5,000만 회에 가까운 교차 플랫폼 노출수를 기록하며 자동차 업종으로 분류되는 플랫폼의 전체 방문 시간 중 75%의 점유율을 차지하고 있습니다.

회사가 성장함에 따라 보다 민첩한 대처 능력이 요구되자 Auto Trader는 수년에 걸쳐 온프레미스 인프라에 막대한 투자를 단행했고 클라우드로 이전을 시작하면서 클라우드 기반 시스템으로 거듭나기 위한 상당한 진전을 이루어냈습니다. 하지만 전면적인 개편 없이 실현하기에 무리인 기능은 여전히 존재했습니다. 2018년 Auto Trader는 Google Cloud로 이전하여 Google Kubernetes Engine(GKE)을 도입하기로 결정했습니다. 일부 개발 목표를 보다 앞당겨 달성하는 데 이러한 솔루션 활용이 도움이 되리란 생각이었습니다. 그 덕분에 팀은 일상적인 인프라 구축 및 관리 업무에서 벗어나 서비스와 데이터베이스에 더욱 집중할 수 있게 되었습니다. 

독점 환경에서 오픈소스 환경으로의 전환

과거 Auto Trader에서는 총 200개가량에 달하는 모든 서비스를 거대한 온프레미스 Oracle 데이터베이스에 통합해 운영했습니다. 이 데이터베이스는 모놀리식 애플리케이션 개발에는 적합했지만 거대한 데이터베이스를 더 작은 조각으로 나누어 각 소유 서비스와 더욱 긴밀하게 연동되도록 만들어야 할 필요성이 점점 커졌습니다. Auto Trader는 단일 공급업체에 종속되지 않도록 데이터베이스 제약을 줄이는 것을 항상 장기적인 비전으로 삼았기 때문에 PL/SQL 사용 비율을 이미 상당히 낮춘 상태였습니다. Google Cloud SQL은 이러한 상황에 안성맞춤이었고 지금은 데이터 저장 전략의 핵심으로 자리잡았습니다.

Cloud SQL의 완전 관리형 서비스는 일반적으로 많은 에너지를 소모하는 데이터베이스 유지보수 작업의 고충을 덜어주었습니다. 업그레이드, 백업, 패치, 장애의 배후 관리 작업을 Google에서 맡아 처리해 주기 때문에 사내 데이터 엔지니어는 학습과 성능 조정에 더 많은 시간을 투자할 수 있게 되었습니다.

현재까지 Oracle 사용량의 약 65%를 Cloud SQL로 마이그레이션했으며 여러 서비스를 통틀어 2TB 정도의 데이터(마이그레이션 전 규모의 13%)가 이전 대상으로 남아 있습니다. 2021년에도 마이그레이션을 통해 Oracle에서 탈피하려는 노력을 전략적 우선순위로 삼고 있습니다.

Cloud SQL의 완전 관리형 서비스는 일반적으로 많은 에너지를 소모하는 데이터베이스 유지보수 작업의 고충을 덜어주었습니다.

마이그레이션을 통한 사고방식 전환

Auto Trader의 장기적인 목표는 서비스가 데이터베이스 엔진을 공유해야 하는 통합형 데이터베이스 아키텍처에서 벗어나는 것입니다. 서비스가 다른 서비스의 데이터베이스가 아닌 자체 데이터 저장소에 액세스하고 그 밖의 모든 액세스는 서비스 레이어를 거치도록 만들기 위해서입니다.

Auto Trader는 GKE 클러스터로 이전하기 전에도 프라이빗 클라우드에서 실행 중인 서비스의 60% 이상이 이미 '클라우드 기반'이었기 때문에 마이그레이션에 유리한 조건이었습니다. 남은 서비스를 클라우드에 맞게 재설계해 로컬 스테이트풀(Stateful) 스토리지의 종속 항목을 삭제하고 수평적 확장성을 지원했습니다. 등급 또는 중요도에 상관없이 서비스가 클라우드 환경에서 어떻게 실행되어야 할지를 규정하는 명확한 규칙 집합도 마련했습니다. 지금까지 14개의 MySQL 기반 인스턴스가 63가지 서비스를 지원하고 11개의 PostgreSQL 인스턴스가 17개 서비스를 실행하고 있습니다. 이러한 인스턴스가 지원하는 핵심 Vehicle Data Service는 모든 차량에 관한 세부정보를 포함하고 재고 서비스에 데이터를 제공합니다. 마이그레이션 후 나타난 강한 실적 개선 효과는 인상적인 수준입니다. 또한 최근 큰 어려움 없이 등록 및 싱글 사인온(SSO) 서비스를 Postgres로 마이그레이션한 결과 Cloud SQL 인스턴스에서 이 서비스를 위한 리소스 확장이 5분 만에 손쉽게 이루어졌습니다.

Auto Trader에서는 이 마이그레이션의 일환으로 사용자 대상 행동에도 변화를 주려고 노력하고 있습니다. 그동안 Oracle 환경에서 여러 문제를 일으켰던 알려지지 않은 외부 종속 항목을 방지하기 위해 소유 서비스 이외의 대상에 대한 직접적인 프로그래매틱 액세스는 Cloud SQL 데이터베이스로 제한하고 있습니다.

대신 이제는 Google의 데이터 클라우드를 통한 데이터 액세스를 지원합니다. 데이터 클라우드를 중심으로 보통 Cloud SQL 데이터베이스에 있는 운영 데이터 저장소의 데이터가 스트림 처리 프레임워크인 Kafka를 통해 Google Cloud의 엔터프라이즈 데이터 웨어하우스인 BigQuery에 옮겨집니다. 그런 다음 BigQuery에 저장된 소스 데이터는 dbt(데이터 빌드 도구)라는 도구를 통해 처리되어 정리되고 다른 유용한 데이터 세트와 조인되어 BigQuery에 다시 저장됩니다. 그러면 비즈니스 인텔리전스(BI) 도구인 Looker가 BigQuery에 연결되어 동료들이 비즈니스에 유용한 정보를 탐색, 분석, 공유할 수 있도록 지원합니다.

빠른 속도, 자유로움, 혁신을 선사하는 Cloud SQL

Cloud SQL 이전은 팀의 작업 방식에 큰 영향을 미쳤으며 원활한 개발 환경을 조성하는 데 도움이 되었습니다.

예를 들어 팀은 유지보수 업무의 부담에서 벗어날 수 있었습니다. 이전에는 영업 외 시간에 계획된 유지보수 작업으로 인해 데이터베이스 엔지니어가 매번 며칠씩 투입되곤 했습니다. 메모리와 CPU 추가 또는 전반적인 인스턴스 규모 확장이 아무렇지 않게 가능해진 덕분에 의사 결정 시점부터 실행에 이르는 시간이 크게 단축되었습니다. Cloud SQL은 관리 편의성을 크게 높이고 팀이 더 이상 유지보수 패치에 시간을 쏟을 필요를 없애 전반적인 팀 생산성을 향상했습니다.

Cloud SQL 이전은 팀의 작업 방식에 큰 영향을 미쳤으며 원활한 개발 환경을 조성하는 데 도움이 되었습니다.

아울러 Cloud SQL 덕분에 개발자를 위한 신규 인스턴스를 프로비저닝하는 방식도 바뀌었습니다. 마이그레이션 전에는 개발자에게 별도의 인스턴스를 활용하는 옵션을 제공하지 못했습니다. 개발자는 다른 무엇이 실행되고 있든 상관없이 통합 인스턴스를 사용해야만 했습니다. 이제는 Terraform 코드 몇 줄이면 한 시간도 되지 않는 시간에 새로운 전용 인스턴스를 프로비저닝할 수 있습니다. 개발자에게는 다른 서비스에 영향을 미칠 위험 없이 작업에 열중할 수 있는 자체 공간과 자유가 주어지는 셈입니다. 또한 문제 해결 시간을 단축하고 개발자를 Grafana 대시보드에 바로 연결해 가시성을 높이는 것도 가능해졌습니다. 

GKE, Istio, Cloud SQL로 현대화한 이후 Auto Trader의 릴리스 주기는 전년 대비 140% 넘게 개선되어 하루에 최고 458건이나 되는 프로덕션 릴리스를 처리하는 정도가 되었습니다. Auto Trader의 고속 전송 플랫폼은 1년에 36,000건이 넘는 릴리스를 관리했으며 99.87%로 향상된 성공률은 지금도 증가하고 있습니다.

Google Cloud 마이그레이션을 통해 Auto Trader에서 가시성, 민첩성, 보안 개선 효과를 얻은 사례를 자세히 살펴보려면 영국 Auto Trader의 우수사례를 이어서 읽어보시기 바랍니다.

게시 위치