最近,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