Amazon이 AWS를 사용하여 데이터베이스 자유를 얻은 방법

Amazon이 Oracle 데이터베이스에서 Amazon Web Services(AWS)로 데이터를 이전하는 엔터프라이즈 수준의 다년도 이니셔티브를 곧 마무리한다는 소식을 들으면, 첨단 기술을 사용하는 것으로 유명한 온라인 소매 대기업이 왜 AWS의 다양성, 규모, 신뢰성 및 비용 효율성을 아직도 활용하지 않고 있었는지에 대한 의문이 떠오를 수 있습니다. 더군다나 두 회사의 모회사가 같다는 점을 고려하면 의문이 가중될 수 있습니다.

답변을 하자면 첫째, Amazon이 AWS보다 훨씬 이전에 탄생했습니다. 당시는 Oracle과 같은 모놀리식 온프레미스 데이터베이스 솔루션이 여전히 엔터프라이즈 규모로 데이터를 저장하고 관리하는 데 가장 적합했던 시대입니다. 둘째, 이제 그 시대는 끝났지만 AWS로 전환하려는 많은 기업들이 너무나 잘 알고 있듯이 Oracle에서 분리하는 데에는 큰 장애물이 있습니다.

"Amazon과 같은 회사가 전 세계에 분산되어 있는 수많은 개별 팀에서 사용하는 수많은 데이터베이스를 Oracle에서 AWS로 이전할 수 있다면 사실상 다른 어떤 기업도 가능합니다."

Thomas Park, Amazon의 Senior Manager of Solution Architecture for Consumer Business Data Technologies

  • Amazon 소개
  • Amazon은 경쟁업체가 아닌 고객에의 집중, 혁신에 대한 열정, 운영 우수성을 위한 노력, 장기적인 시각이라는 4가지 원칙을 따릅니다. 고객 리뷰, 원클릭 쇼핑, 개인 맞춤 추천, 프라임, 아마존 주문처리 서비스, AWS, Kindle Direct Publishing, Kindle, Fire 태블릿, Fire TV, Amazon Echo 및 Alexa는 Amazon에서 개발한 제품과 서비스 중 일부입니다.

  • 이점
    • 데이터베이스 운영 비용 50% 절감
    • 데이터베이스 관리 및 하드웨어 관리 오버헤드 대부분 제거
    • 가장 중요한 서비스의 지연 시간 40% 단축
  • 사용된 AWS 서비스

Oracle에서 분리: 말처럼 쉽지는 않다

Amazon의 경우 Oracle을 떠나는 데 걸림돌이 되는 요인 중에 회사의 플릿이 있습니다. 5,000개 이상의 데이터베이스가 표준화되지 않은 다양한 시스템에 연결되어 있고 소유권과 종속성 인벤토리를 중앙에서 관리하지 않는 상태였습니다. 인력 관련 위험도 있었습니다. 많은 Amazon 직원의 경력이 Oracle 데이터베이스 플랫폼을 기반으로 했습니다. 이들이 전환을 전폭적으로 지지할까요? 그냥 두고 싶은 사람은 없을까요?

Oracle에서 AWS로 전환하려는 다른 많은 회사들도 비슷한 과제를 안고 있습니다. 다른 회사들과 마찬가지로 Amazon도 결국 전환해야 할 시급한 이유가 있었습니다. Amazon 엔지니어들은 복잡하고 오류가 발생하기 쉬운 데이터베이스 관리, 프로비저닝 및 용량 계획에 너무 많은 시간을 낭비하고 있었습니다. 회사의 가파른 성장 궤적과 급격한 처리량 증가로 인해 Oracle 데이터베이스 샤드가 점점 더 많이 필요했고 이로 인해 추가적인 운영 및 유지 관리 오버헤드도 발생했습니다. 그리고 비용 문제도 있었습니다. 계속해서 Oracle을 기반으로 하면 Amazon이 이미 지불하고 있던 라이선스 비용이 수백만 USD 늘어나게 됩니다. 무려 연간 10%의 놀라운 증가율로 말이죠.

마이그레이션 프로젝트를 이끄는 데 도움을 준 Amazon.com의 Senior Manager of Solution Architecture for Consumer Business Data Technologies인 Thomas Park는 다음과 같이 말합니다. "Amazon도 많은 기업이 처한 상황과 같았습니다. Oracle은 AWS로 전환한 가장 큰 이유이자 가장 큰 걸림돌이었습니다."

그렇게 시작된 전환으로 지금 Amazon은 약 50페타바이트의 데이터 마이그레이션을 완료하고 5,000개의 Oracle 데이터베이스 중 마지막 데이터베이스를 폐쇄하기 직전입니다. Amazon은 어떻게 이 대규모 마이그레이션을 성공시킬 수 있었을까요?

문화 변화 및 기술적 복잡성 관리

Amazon은 마이그레이션 중에 두 가지 주요 과제에 직면했습니다. 하나는 전 세계에 분산된 다양한 팀이 프로젝트를 수용하고 진행 상황을 추적하도록 동기를 부여하는 데 필요한 대규모 프로그램 관리를 해결하는 방법이었습니다. 다른 하나는 마이그레이션의 기술적 복잡성이었습니다. 프로젝트가 성공하려면 확실히 회사의 업무 분야에 중앙 집중식 조정, 교육 및 기술 지원이 필요했습니다.

이러한 과제를 해결하기 위해 Amazon은 먼저 프로그램 관리 부서(PMO)를 만들었습니다. PMO는 명확한 성과 요구 사항을 설정하고 각 서비스 팀과 함께 주별, 월별, 분기별로 검토하여 진행 상황과 프로그램 상태를 추적하고 보고합니다.

Amazon의 Director of Consumer Business Data Technologies인 Dave George는 "프로그램을 수립할 때 '방법'을 다루기 전에 달성하고자 하는 목표와 그 이유를 명확히 정의해야 했습니다."라면서 "'무엇'과 '왜'를 정한 후 적극적인 경영진 후원을 통해 명확한 목표를 세웠습니다. 이러한 후원 덕분에 분산된 많은 기술 팀이 이러한 목표에 명확하게 초점을 맞추고 목표를 달성하기 위해 최선을 다할 수 있었습니다. 끈질기게 목표 달성에 초점을 맞추어 핵심 시스템의 아키텍처를 대대적으로 업데이트하는 동시에 다른 비즈니스 우선 순위에 대한 방해를 최소화할 수 있었습니다."라고 말합니다.

또한 프로젝트 성공의 열쇠는 경험이 풍부한 솔루션스 아키텍트와 데이터베이스 엔지니어로 구성된 AWS 기술 핵심 팀이었습니다. 이 팀은 다음을 포함하여 Oracle에서 마이그레이션되는 Amazon 데이터의 각 범주에 가장 적합한 AWS 서비스를 추천했습니다.

  • Amazon DynamoDB: 대규모로 고가용성, 스키마 변경, 10밀리초 미만의 일관된 지연 시간이 필요한 중요한 서비스에 권장됩니다.
  • Amazon Aurora: 고가용성과 강력한 참조 무결성이 요구되는 안정적인 스키마를 갖춘 서비스에 권장됩니다.
  • Amazon Simple Storage Service(S3): 관계형 및 비관계형 데이터를 저렴하게 장기간 저장하는 데 권장됩니다.
  • Amazon Relational Database Service(RDS) for PostgreSQL 또는 MySQL: 중요하지 않은 서비스와 간편한 설정, 운영 및 확장에 권장됩니다.
  • AWS Database Migration Service(AWS DMS): 데이터베이스를 AWS로 빠르고 안전하게 마이그레이션할 수 있도록 지원합니다. 마이그레이션하는 동안 소스 데이터베이스가 완벽하게 운영되므로 해당 데이터베이스를 사용하는 애플리케이션의 가동 중단 시간을 최소화할 수 있습니다. DMS는 가장 널리 사용되는 상용 및 오픈 소스 데이터베이스로부터 데이터를 마이그레이션할 수 있습니다.
  • AWS Schema Conversion Tool(AWS SCT): 소스 데이터베이스 스키마와 대부분의 데이터베이스 코드 객체(보기, 저장 프로시저, 함수 등)를 대상 데이터베이스와 호환되는 형식으로 자동으로 변환하여 예측 가능한 방식으로 이기종 데이터베이스 마이그레이션을 수행할 수 있습니다.

또한 팀은 특정 AWS 서비스에 대한 공식 지침을 제공하고, 실습을 운영하고, 일대일 상담을 제공하고, 특정 문제를 겪고 있는 Amazon 비즈니스를 위해 AWS 제품 팀의 직접적인 지원을 조율했습니다.

"경험이 풍부한 솔루션스 아키텍트와 데이터베이스 엔지니어로 구성된 중앙 팀을 확보한 것이 프로젝트 성공에 결정적이었습니다. 이 팀은 Amazon 비즈니스 팀을 교육하는 데 도움을 주었을 뿐 아니라 피드백과 기능 요청을 제공하여 모든 고객을 위한 AWS 서비스를 더욱 강력하게 만들었습니다."라고 Park은 말합니다.

또한 Amazon은 Oracle 데이터베이스 관리자가 현재 열려 있는 새로운 진로로 전환할 수 있도록 지원하는 최선의 방법을 신중하게 고민했습니다. 한 가지 방법은 AWS 솔루션스 아키텍트가 되는 데 필요한 기술을 습득하도록 돕는 것이었습니다. 또 다른 방법은 유용한 Oracle 배경 지식을 바탕으로 기존 Oracle 기반 환경과 AWS 클라우드 환경을 연결하는 지속적인 프로세스를 담당할 관리자 역할이었습니다.

AWS이 가져다 준 데이터베이스 자유

AWS로 마이그레이션한 후 프로비저닝 용량이 늘어났음에도 불구하고 Amazon의 연간 데이터베이스 운영 비용은 절반 이상 절감되었습니다. 데이터베이스 관리 및 하드웨어 관리 오버헤드가 크게 줄었고 이전보다 훨씬 더 간편하게 팀 비용을 할당할 수 있게 되었습니다. Amazon DynamoDB로 리플랫포밍된 대부분의 서비스(일반적으로 대규모로 고가용성과 10밀리초 미만의 지연 시간을 요구하는 가장 중요한 서비스)는 처리량이 두 배로 늘어났음에도 불구하고 지연 시간이 40%나 감소했습니다. 마이그레이션 과정에서 서비스 팀은 서비스를 더욱 안정화하고, 기술 부채를 없애고, 모든 코드와 종속성을 완벽하게 문서화할 기회도 잡았습니다.

Amazon.com은 800개 서비스, 수천 개의 마이크로서비스, 수만 명의 직원, 수백만 명의 고객에게 영향을 미쳤고 Amazon의 AWS 데이터베이스 사용량이 다른 AWS 고객 90%의 사용량보다 커진 이 마이그레이션 프로젝트 사례가 유사한 이전을 고려하고 있는 다른 대기업에도 본보기가 될 것으로 보고 있습니다.

"이 마이그레이션 프로젝트에 참여한 사람 중 누구도 이 프로젝트가 간단하거나, 쉽거나, 재미있었다고 말하지 않겠지만 그렇다고 엄청난 초능력을 필요하지도 않았습니다. Amazon과 같은 회사가 전 세계에 흩어져 있는 수많은 분산형 데이터베이스를 Oracle에서 AWS로 이전할 수 있다면 다른 어떤 기업도 가능하다고 봅니다."


자세히 알아보기

Amazon DynamoDB에 대해 자세히 알아보세요.