아마존의 클라우드 제국에서 탈출한 드롭박스의 이야기


Wired에서 DropBox(이하 드롭박스)에 대해 작성한 기사가 있어서 공유해 봅니다. 제목을 통해서도 알 수 있듯이 아마존의 클라우드 서비스에 의존하고 있던 드롭박스가 자체적인 서버를 구축해서 아마존의 의존에서 벗어나는 과정에 대해서 다룬 기사입니다. 사실 저는 드롭박스 정도되는 꽤 큰 규모의 클라우드 서비스를 제공하는 기업이라면 당연히 독자 서버를 구축하고 있을 것이라고 생각했는데, 실상은 아마존의 자원을 사용해서 사업을 해 온 것이지요. 기사에서도 나와 있지만 드롭박스가 아마존에서 벗어나고 있다는 것이 아마존의 영향력이 감소하고 있다는 의미는 아닙니다. 오히려 아마존의 클라우드 플랫폼을 벗어나기 위한 드롭박스의 노력을 통해서 아마존을 벗어난다는 것이 사실은 얼마나 어려운 일인가 알 수 있습니다.

결심

드롭박스는 왜 아마존을 떠나기로 마음먹었을까요. 정답: 돈

드롭박스의 기술 담당 부사장이자 전직 페이스북 직원이었던 Aditya Ararwal은 비용의 문제도 중요했다고 합니다.

Nobody is running a cloud business as a charity, There is some margin somewhere.

회사의 규모가 충분히 크다면 이걸 모으면 엄청난 비용을 아낄 수 있게 되는 것이지요. 그리고 드롭박스는 이제 그만큼 큽니다.

다시 말하자면, 그 만큼 크지 않다면 굳이 아마존웹서비스의 그늘을 벗어날 필요가 없다는 뜻이기도 합니다. 동시에 드롭박스로서도 아마존을 벗어나는 것은 위험한 도전이기도 합니다. 왜냐면, 아마존에 의존하고 있을 때는 고객이 줄어들거나 성장이 정체해도 서버 관련 비용을 쉽게 줄일 수 있었지만, 자체 서버를 도입하고 나면 지속적인 성장이 필요할테니까요.

사실 점점 더 많은 기업들이 클라우드 기반으로 옮겨 가고 있고, 분야가 약간씩은 다르지만 드롭박스는 이미 강력한 경쟁자들을 가지고 있습니다. 심지어 드롭박스가 세들어 있을 때에도 아마존은 이와 유사한 서비스를 제공하고 있기도 했죠. 구글과 마이크로소프트 등의 가세로 경쟁은 더더욱 치열해져 가고 있고, 스스로도 그러한 사실을 잘 알고 있습니다.

성장을 떠나 살아남기 위해서라도 드롭박스는 여타 비즈니스의 바탕이 될 수 있는 다음 세대의 플랫폼이 되기를 열망하고 있습니다.

과정

지난 2016년 3월 8일을 기준으로 드롭박스의 사용자 수는 5억명을 넘어섰고, 매일 업로드되는 파일의 수는 12억 개에 달합니다. 말 그대로 무지막지한 규모의 데이터가 보관되고 있고, 문제없이 데이터 이전을 마치기 위해서는 엄청난 노력이 필요했을 겁니다. 드롭박스가 서버 이전을 완료하는데 대략 2년 반 정도가 걸렸고, 현재는 90% 이상의 파일이 자신들의 서버에 보관되고 있다고 합니다.

과거 드롭박스의 원리는 — 단순하게 표현하자면 — 누군가가 파일을 업로드(또는 공유)하면 해당 파일은 아마존의 Simple Storage Service(이하 S3)에 올리고, 이에 대한 메타데이터는 — 보유자, 공유가 허락된 사람 등 — 자신들의 서버에 저장하는 겁니다.

이제 드롭박스는 오직 자기들을 위한 Amazon S3를 만드는 겁니다. 그리고 예전보다 새로운 서버의 실제 파일에 대한 접근 능력을 높이기 위해서 Magic Pocket을 만들었습니다. 말그대로 이 마술주머니를 통해서 실제 파일 무엇이든 사용자의 요청이 있을 때 바로 접근할 수 있도록 하는 것입니다.

드롭박스는 마술주머니에 대한 코드 작업을 2013년에 시작했다고 합니다. 이건 물론 아주 어려운 일이지만, 앞으로 하려는 일에 비하면 작은 걸음일 뿐이기도 하죠. 이토록 거대한 정보를 새로운 장소로 옮기기 위해서는 아주 거대한 하드웨어를 구축해야 하니까요.

It’s like a moving car, and you want to be able to change a tire while still driving.”

클라우드 서비스를 제공하는 회사라는 것이 그렇죠. 아주 짧은 시간 서버 점검을 이유로 잠시 서비스를 정지해둘 수 있겠지만 (그나마도 욕을 엄청 먹을지도 몰라요), “서버를 이전합니다.”라고 몇 달 쉴수는 없죠. 고객이 다 떠나가 버릴 겁니다. 그러니 자동차를 계속 달리게 하면서 바퀴를 하나하나 갈아 끼워야죠. 그리고 정말 성공적으로 일이 마무리된다면, 승객들은 바퀴가 갈아 끼워진 것도 모르고 드라이브를 즐기고 있을 것입니다.

마술주머니의 코드 작업을 일단 완료한 후에 전체 데이터의 대략 20% 정도의 그림자 서버를 이용해서 버그 테스트를 진행했습니다. 시계를 맞춰놓고 시스템을 시행합니다. 그러다가 버그가 나오면 다시 처음부터 시작하는 방식이었고 그렇게 테스트에만 8개월 정도가 걸렸습니다.

그리고 아마존과의 재계약 기일까지 남은 시간은 6개월. 아주 짧은 시간 동안 데이터 이전을 완료해야 했습니다. 페타바이트 단위의 데이트를 복사하는 것은 노래 몇 곡 다운 받는 것과는 수준이 가릅니다. 4페타바이트 정도의 데이트를 전송하는데만도 하루가 꼬박 걸렸다고 하네요.

You’re restricted by the speed of light

그리고 그 동안에 컴퓨터도 데이터 센터로 이전이 완료되어야 합니다. 회사는 하루에 40에서 50개의 랙을 옮길 수 있었는데, 랙 하나에 8 대의 기계가 있었다고 합니다.

드롭박스는 기계 이전까지 완료된 다음에 기계 하나 당 페타바이트의 정보를 저장할 수 있는 디스코텍이라는 기계를 만들었습니다. 문제는? 기존에 작성한 마술주머니로는 관리할 수가 없다는 것이었죠. 이를 위해 마술주머니를 새롭게 코딩했습니다. 이상하고 비효율적으로 느껴지기도 하지만 드롭박스 정도되는 규모의 데이터를 관리하면 이런 방식으로 작업이 이루어진다고 합니다.

위험

이건 아주 극단적인 상황이기도 했습니다만, 구글, 아마존, 드롭박스 같은 회사들은 모두 이 과정을 거쳤습니다. 물론 드롭박스는 구글이나 아마존과 지향하는 바가 다르지요. 사업체에 자신들의 소프트웨어를 직접 구동할 수 있는 바탕을 제공하지는 않습니다만, 개인이나 사업체가 별도의 설정없이 파일을 공유할 수 있게 해줍니다. 기실 드롭박스는 공유가 앞으로의 플랫폼 사업의 미래라고 생각하고 있고, 그래서 DropBox Paper 같은 서비스도 소개하고 있습니다.

구글과 마이크로소프트, 아마존 등의 거대한 기업들은 자신들의 클라우드 서비스를 계속해서 확장하고 있고, 이는 드롭박스의 성장을 제한하는 요소로 작용할 가능성이 큽니다. 그리고 성장이 제한받는다면, 2년 반을 들여 구축한 마술주머니와 디스코텍은 오히려 큰 부담이 될 수 있을 것입니다. 한 때 Zynga가 겪을 일이죠. 엄청난 성장을 구가할 때, 클라우드에서 벗어나서 자체 데이터 센트를 구축한 순간 사업이 내려앉았고, 힘들게 구축한 인프라는 쓸데가 없어져 버렸습니다.

드롭박스의 장점이라고 한다면, 그러한 소요를 겪어본 사람들이 함께 하고 있다는 점입니다.

미래

드롭박스가 꿈구든 사업모델을 구축하는데 성공하든, 혹은 실패하게 되든 자기들만의 발명품은 하나 가지게 되었습니다.

구글이 그토록 성공적일 수 있었던 것은, 단지 엄청나게 좋은 검색엔진을 개발했기 때문이 아니라 그토록 거대한 규모에서 그걸 받쳐주는 기반 기술을 만들어 냈기 때문입니다. 페이스북도, 트위터도 그렇게 했고, 이제 그 대열에 드롭박스도 합류했습니다.

To become a giant, you may have to stand on the shoulders of others. But once you become your own giant, you start to feel like you need to build a home that’s just right for you.

거인이 되기 위해서는 다른 거인의 어깨 위에 올라타서 봐야겠지만, 일단 거인이 된 후라면, 자기 덩치에 맞는 집을 짓기 시작해야 합니다.