2017.02.10

에버노트가 3페타바이트의 데이터를 구글 클라우드로 옮긴 이유와 방법

Blair Hanley Frank | IDG News Service

에버노트(Evernote)는 지난 해 직접 데이터센터를 운영하지 않고, 퍼블릭 클라우드를 이용해 서비스를 제공하기로 결정했다. 그리고 지난 2월 8일 사용자와 관련된 마지막 작업 일부를 제외한 대부분의 이전 작업을 완료했다고 발표했다.

에버노트는 구글과 협력 계약을 체결했으며, 구글은 마이그레이션 프로세스의 일부로 일군의 엔지니어를 에버노트에 보내 이전 작업을 지원했다.

에버노트는 자사가 개발해 온 머신러닝 기반의 신기능에 클라우드의 이점을 이용하고자 했으며, 또 직접 데이터센터를 운영하지 않음으로 얻을 수 있는 유연성도 높이고자 했다.

에버노트의 이번 결정은 자체 데이터센터의 워크로드를 퍼블릭 클라우드 서비스 업체로 이전하는 최근 흐름을 따른 것이다. 이런 마이그레이션에는 많은 노력과 조정이 필요했으며, 에버노트는 구글의 도움을 받았다.

클라우드로 옮긴 이유
해야 할 일이 정말 많았다. 특히 에버노트는 퍼블릭 클라우드가 아닌, 캘리포니아에 위치한 회사 소유의 2개 데이터 센터에서 애플리케이션을 제공한다는 가정 아래 백엔드를 구축했기 때문이다. 그렇다면 이런 번거로움을 자처한 이유는 무엇일까?

클라우드를 옹호하는 사람들이라면 친숙한 동인들이 이번 이전의 핵심 동인이다. 에버노트 직원들은 하드 드라이브 교체, 케이블 이전, 새 인프라 옵션 평가 등 회사 소유 데이터 센터 유지관리에 많은 시간을 소비해야만 했다. 에버노트 서비스의 '건강'과 성능을 유지하는데 아주 중요하지만, 고객에게는 부가가치를 제공하지 못하는 기능들이다.

에버노트의 부사장 벤 맥코맥은 "프로비저닝과 관리 시스템 등에서 에버노트 운영 팀 규모로는 클라우드 서비스 업체만큼 성숙한 경쟁력을 가질 수 없다고 현실적으로 판단했다. 우리는 항상 뒤를 쫓기만 했다. 마음에 들지 않는 상황이었다"고 말했다.

에버노트는 데이터센터 업그레이드를 계획하면서 한 가지 중요한 문제에 직면했다. 5년 내에 데이터센터에 얼마나 많은 자원이 필요할지 모른다는 것이었다.

에버노트는 퍼블릭 클라우드 시장의 강자들인 아마존 웹 서비스와 마이크로소프트 애저 등을 '후보'에 올렸다. 그러나 에버노트가 초점을 맞추고 있는 분야와 구글의 전문 영역이 유사하다는 점이 선택에 영향을 미쳤다. 에버노트는 엄청난 비정형 데이터를 보유하고 있고, 이를 위해 머신러닝을 활용할 방법을 찾고 있다.

맥코믹은 "이 두 가지의 경우 구글이 선도업체이다. 에버노트에 지금 당장은 물론 미래에 중요한 부분이 구글이 강점을 갖고 있는 부분과 비슷하다는 점을 감안, 전략적인 결정과 투자를 결정했다"고 설명했다.

구글 플랫폼을 선택한 이유는 머신러닝때문이다. 에버노트의 CTO 아니반 쿤두는 구글이 새롭게 강화된 기능들에 필요한 토대를 만드는데 도움을 줄 수 있다고 말한다. 에버노트는 머신러닝에 기반을 둔 새로운 기능 도입을 추진하고 있으며, 클라우드 머신러닝 API 같은 구글 서비스가 도움을 줄 수 있다.

비용이 클라우드 마이그레이션의 주요 이점으로 강조되는 때가 많다. 그러나 에버노트 마이그레이션의 주요 동인은 아니었다. 물론 퍼블릭 클라우드로 이전해 일정 비용을 절감할 수 있을 것으로 예상되지만, 비용때문에 이전을 결정한 것은 아니다.

에버노트의 커뮤니케이션 담당 수석 디렉터인 그렉 치밍고에 따르면, 에버노트 기술팀이 AWS나 애저 대신 구글을 선택하는 결정을 주도했다. 치밍고는 이메일 인터뷰에서 결정이 내려진 후, 에버노트에 합류하기 전에 구글에서 약 10년을 일한 CEO 크리스 오닐이 후 구글과의 협상에 도움을 줬다고 설명했다.

120억 건의 데이터를 이전하는 과정
에버노트는 10월 구글과 계약을 체결했다. 맥코믹에 따르면, 에버노트는 새해 계획을 세우는 사용자들로 서비스가 폭주하는 새해를 맞기 전에 마이그레이션을 완료하고 싶었다.

에버노트는 새해가 시작되기 전에 50억 건의 50억 건의 첨부 파일을 마이그레이션 해야 했다. 첨부 파일에 포함된 썸네일 이미지 등 메타데이터까지 120억 건의 첨부 파일을 마이그레이션 해야 했다. 이것이 다가 아니다. 에버노트가 보유한 약 3페타바이트 규모의 데이터 가운데 어떤 것도 버릴 수 없었다. 무엇보다 마이그레이션 동안에도 계속 에버노트 서비스를 제공해야만 했다.

에버노트가 가장 먼저 한 일 중 하나는 전체를 구글 클라우드로 옮길 수 있는 핵심 구성 요소와 이전하면서 수정해야 하는 구성 요소를 파악하는 것이었다.

에버노트 서비스가 네트워킹을 처리하는 방식도 바꿔야 했다. 기존에는 이미지 인식 워크 플로우 중 일부를 처리할 때 UDP 멀티캐스트를 이용했다. 이와 관련된 네트워크 라우터를 관리할 수 있는 자체 데이터센터의 경우 효과적이었던 방법이다.

그러나 구글 클라우드에서 이 기술을 이용할 수 없었다. 쿤두는 대신 구글 클라우드 펍/서브(Cloud Pub/Sub) 서비스에 기반을 둔 큐 기반 모델을 이용할 수 있게끔 애플리케이션을 고쳐야 했다고 말했다.

한 번에 모든 사용자 데이터를 옮기고, 트래픽 방향을 내부 서버에서 구글 클라우드로 바꿀 수는 없었다. 에버노트는 각기 다른 장소에 데이터를 저장해 단계적으로 마이그레이션을 하기 위해 백엔드 애플리케이션를 재설계해야 했다.



2017.02.10

에버노트가 3페타바이트의 데이터를 구글 클라우드로 옮긴 이유와 방법

Blair Hanley Frank | IDG News Service

에버노트(Evernote)는 지난 해 직접 데이터센터를 운영하지 않고, 퍼블릭 클라우드를 이용해 서비스를 제공하기로 결정했다. 그리고 지난 2월 8일 사용자와 관련된 마지막 작업 일부를 제외한 대부분의 이전 작업을 완료했다고 발표했다.

에버노트는 구글과 협력 계약을 체결했으며, 구글은 마이그레이션 프로세스의 일부로 일군의 엔지니어를 에버노트에 보내 이전 작업을 지원했다.

에버노트는 자사가 개발해 온 머신러닝 기반의 신기능에 클라우드의 이점을 이용하고자 했으며, 또 직접 데이터센터를 운영하지 않음으로 얻을 수 있는 유연성도 높이고자 했다.

에버노트의 이번 결정은 자체 데이터센터의 워크로드를 퍼블릭 클라우드 서비스 업체로 이전하는 최근 흐름을 따른 것이다. 이런 마이그레이션에는 많은 노력과 조정이 필요했으며, 에버노트는 구글의 도움을 받았다.

클라우드로 옮긴 이유
해야 할 일이 정말 많았다. 특히 에버노트는 퍼블릭 클라우드가 아닌, 캘리포니아에 위치한 회사 소유의 2개 데이터 센터에서 애플리케이션을 제공한다는 가정 아래 백엔드를 구축했기 때문이다. 그렇다면 이런 번거로움을 자처한 이유는 무엇일까?

클라우드를 옹호하는 사람들이라면 친숙한 동인들이 이번 이전의 핵심 동인이다. 에버노트 직원들은 하드 드라이브 교체, 케이블 이전, 새 인프라 옵션 평가 등 회사 소유 데이터 센터 유지관리에 많은 시간을 소비해야만 했다. 에버노트 서비스의 '건강'과 성능을 유지하는데 아주 중요하지만, 고객에게는 부가가치를 제공하지 못하는 기능들이다.

에버노트의 부사장 벤 맥코맥은 "프로비저닝과 관리 시스템 등에서 에버노트 운영 팀 규모로는 클라우드 서비스 업체만큼 성숙한 경쟁력을 가질 수 없다고 현실적으로 판단했다. 우리는 항상 뒤를 쫓기만 했다. 마음에 들지 않는 상황이었다"고 말했다.

에버노트는 데이터센터 업그레이드를 계획하면서 한 가지 중요한 문제에 직면했다. 5년 내에 데이터센터에 얼마나 많은 자원이 필요할지 모른다는 것이었다.

에버노트는 퍼블릭 클라우드 시장의 강자들인 아마존 웹 서비스와 마이크로소프트 애저 등을 '후보'에 올렸다. 그러나 에버노트가 초점을 맞추고 있는 분야와 구글의 전문 영역이 유사하다는 점이 선택에 영향을 미쳤다. 에버노트는 엄청난 비정형 데이터를 보유하고 있고, 이를 위해 머신러닝을 활용할 방법을 찾고 있다.

맥코믹은 "이 두 가지의 경우 구글이 선도업체이다. 에버노트에 지금 당장은 물론 미래에 중요한 부분이 구글이 강점을 갖고 있는 부분과 비슷하다는 점을 감안, 전략적인 결정과 투자를 결정했다"고 설명했다.

구글 플랫폼을 선택한 이유는 머신러닝때문이다. 에버노트의 CTO 아니반 쿤두는 구글이 새롭게 강화된 기능들에 필요한 토대를 만드는데 도움을 줄 수 있다고 말한다. 에버노트는 머신러닝에 기반을 둔 새로운 기능 도입을 추진하고 있으며, 클라우드 머신러닝 API 같은 구글 서비스가 도움을 줄 수 있다.

비용이 클라우드 마이그레이션의 주요 이점으로 강조되는 때가 많다. 그러나 에버노트 마이그레이션의 주요 동인은 아니었다. 물론 퍼블릭 클라우드로 이전해 일정 비용을 절감할 수 있을 것으로 예상되지만, 비용때문에 이전을 결정한 것은 아니다.

에버노트의 커뮤니케이션 담당 수석 디렉터인 그렉 치밍고에 따르면, 에버노트 기술팀이 AWS나 애저 대신 구글을 선택하는 결정을 주도했다. 치밍고는 이메일 인터뷰에서 결정이 내려진 후, 에버노트에 합류하기 전에 구글에서 약 10년을 일한 CEO 크리스 오닐이 후 구글과의 협상에 도움을 줬다고 설명했다.

120억 건의 데이터를 이전하는 과정
에버노트는 10월 구글과 계약을 체결했다. 맥코믹에 따르면, 에버노트는 새해 계획을 세우는 사용자들로 서비스가 폭주하는 새해를 맞기 전에 마이그레이션을 완료하고 싶었다.

에버노트는 새해가 시작되기 전에 50억 건의 50억 건의 첨부 파일을 마이그레이션 해야 했다. 첨부 파일에 포함된 썸네일 이미지 등 메타데이터까지 120억 건의 첨부 파일을 마이그레이션 해야 했다. 이것이 다가 아니다. 에버노트가 보유한 약 3페타바이트 규모의 데이터 가운데 어떤 것도 버릴 수 없었다. 무엇보다 마이그레이션 동안에도 계속 에버노트 서비스를 제공해야만 했다.

에버노트가 가장 먼저 한 일 중 하나는 전체를 구글 클라우드로 옮길 수 있는 핵심 구성 요소와 이전하면서 수정해야 하는 구성 요소를 파악하는 것이었다.

에버노트 서비스가 네트워킹을 처리하는 방식도 바꿔야 했다. 기존에는 이미지 인식 워크 플로우 중 일부를 처리할 때 UDP 멀티캐스트를 이용했다. 이와 관련된 네트워크 라우터를 관리할 수 있는 자체 데이터센터의 경우 효과적이었던 방법이다.

그러나 구글 클라우드에서 이 기술을 이용할 수 없었다. 쿤두는 대신 구글 클라우드 펍/서브(Cloud Pub/Sub) 서비스에 기반을 둔 큐 기반 모델을 이용할 수 있게끔 애플리케이션을 고쳐야 했다고 말했다.

한 번에 모든 사용자 데이터를 옮기고, 트래픽 방향을 내부 서버에서 구글 클라우드로 바꿀 수는 없었다. 에버노트는 각기 다른 장소에 데이터를 저장해 단계적으로 마이그레이션을 하기 위해 백엔드 애플리케이션를 재설계해야 했다.



X