Dropbox 开发了 Magic Pocket,正式撤离 AWS

  • Kent Weare
  • 刘嘉洋

2016 年 3 月 29 日

话题:AWS架构

最近,InfoQ报道Netflix 完成了长达七年多的向云端的迁移工作。这篇文章与那篇文章有一些区别,这篇文章将会着重于介绍一个已经完全弃用公有云,而转向自己内部提供的大规模传送基于云端的文件服务的解决方案案例。

2016 年 3 月 14 日,Dropbox 在其博客上宣布正式撤离 Amazon 云服务(AWS)。在博文中,Dropbox 详细地介绍了实现将 90% 的用户数据转移到其自己的数据中心处理中所付出的努力。这个项目被起名为“Magic Pocket 魔法口袋”,因为所有的工作都会在这个口袋之中实现,你可以在其中开发软件和硬件,以实现客户的需求。

自 2012 年以来,Dropbox 已经增长了 12 倍。在这个时间段中,由于用户增长到五个亿,所以对客户数据存储需求从 40PB 涨到了 500PB。

历史上,Dropbox 曾使用自己数据中心的硬件和软件处理元数据,即为客户所存储的文件。其他大多数的数据存储在 Amazon 的 Simple Storage Service(简称为 S3)上。Dropbox 开发的应用程序就会采用这两种数据源相结合。

Dropbox 公司非常感谢 Amazon 曾经给予的帮助,使它们可以发展如此迅速,但是,为了公司未来的发展,优化运行其自己的数据中心可以更加有效地控制成本。Dropbox 公司的基础设施副总裁 Akhil Gupta 向大家进一步解释了 Magic Pocket 背后的基本原理:“我们做出这个决定有几方面的考虑。首先,我们产品的竞争决定因素是性能。在我们数据中心内部存储可以使我们从端到端自定义整个栈,因此在特定的用例下能够提升性能。其次,作为全球领先的云服务提供商之一,我们的块存储与其他公司的不同。我们可以根据产品规模和特定的用例来使用硬件和软件,从而提升单位经济效益。

Dropbox感觉他们处在一个未知的领域,目前世上仅有“少数几个艾字节规模的存储系统”。而在开源社区中根本没有可信赖的系统,可提供必要的规模使它们能从头开始建立自己的存储系统。公司制定的需求中,包括空闲时数据加密,数据持续性达到 99.9999999999% 以上,可用性超过 99.99%。

2013 年夏天开始,Dropbox 的一个小团队就开始开发 Magic Pocket 产品。他们的工作是基于一个小的原型,而最终他们要完成的是世上最大的存储系统之一。大概在 1 年以后,2014 年 9 月,团队开始着手于“Dark Launch”,这可以让团队从 2 个区域性位置镜像数据。在 2015 年 2 月 27 日,Dropbox 继续进行“Dark Launch”,这时他们将完全使用公司自己的基础设施来存储文件元数据和相关内容。在之后的 6 个月中,他们将其负荷提升至 500PB。Dropbox 公司指定了在最后期限之前,团队要将 90% 的用户数据转移到自己的数据中心处理。团队提前完成了这个任务,他们在 2015 年 10 月 7 日达成了这个里程碑。

至于剩下 10% 的用户数据,Dropbox 仍将与 Amazon 合作。比如在欧洲,Dropbox 在欧洲的发展不太稳定,并且根据当地的隐私权法,是不允许在内部托管用户数据的。Gupta特别说明了其中的一个例子:“我们将继续投资于我们自己的基础设施建设,同时还将与 Amazon 在一些特定的区域合作,以实现我们产品的全球化。在今年的晚些时候,我们将与 AWS 进一步合作,实现将欧洲商业客户的数据存储在德国。我们的首要任务一直以来都是保护用户交给我们的数据。”

Dropbox 公司不是首个将数据从云端撤离建立自己的数据中心的硅谷公司。早在 2012 年,Zynga 公司就动用了超过 100 万美元来开发他们自己的基础设施,并逐步地将公有云数据转移到其自己的数据中心中来。这项迁移进行了大量宣传,在当时,这是从云端撤离的典型案例。但是在 2015 年 5 月,Zynga 公司又重新启用了 AWS 服务。站在一个投资者的角度,CEO Mark Pincus指出“有许多板块并不适合我们的战略方针,如运行我们自己的数据中心,所以我们把这块工作交给 Amazon。”

Dropbox 公司是否会成为第二个 Zynga 公司,我们仍然拭目以待。InfoQ 将持续关注事态进展,并给出新的报道。

查看英文原文:Dropbox Develops Magic Pocket, Moves Away From AWS


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

AWS架构