加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

Dropbox 弃用亚马逊云服务的启示

发布时间:2016-03-21 16:00:10 所属栏目:外闻 来源:腾讯科技
导读:Dropbox是一家坐落在旧金山的初创公司,在全球拥有5亿用户。随着规模的扩大, Dropbox弃用亚马逊云服务,自主建设了庞大的数据中心。这是一个工程上的壮举,它的意义也远远

团队觉得这个系统可以正式运行的时候,就把代码移到了越来越多的系统上,同时也从亚马逊复制了越来越多数据。公司与亚马逊的主要合约将在六个月后期满,他们决心到那个时候完成搬迁过程,这样就不需要续签合同了。 “留给我们打开降落伞的时间非常短,”考林说。

把数据从亚马逊迁移到其他数据中心,这是一个史诗级的任务。从一台机器移动PB级的数据到另一台机器上,和下载几首歌到你的笔记本计算机上不可同日而语。即使是最快的互联网通道,带宽也是有限的。事实上,传输4 PB数据大概会花一天的时间。 “你会受光速所限,”阿加瓦尔说。

同时,他们还必须把计算机运到数据中心架设好。你可以把这想成是你公司的IT人员为一个新员工安装计算机——但是以Dropbox那样的规模。这种工作必须在有限的时间内完成。因为如果不迅速设置好数据中心,他们就无法迅速地从亚马逊移动数据。该公司每天安装四十到五十个机架,每个机架上安放八台单独的机器。有一次他们遇到一个事故,不过不是计算机类型的事故。机器是用卡车运到Dropbox各个数据中心的,那一次是在24小时之内,有两辆前往不同数据中心的卡车先后发生了事故。

尽管出现了这样那样的麻烦,Dropbox还是在最后期限之前完成了任务。它没有与亚马逊续签合同。不过该公司在欧洲的业务还是在继续使用亚马逊云服务——这只不过是因为Dropbox在欧洲的发展不太稳定——但是,古普塔的团队把所有文件中的90%都搬迁到了Dropbox的数据中心。

改换编程语言

随着数据搬离亚马逊云服务,硬件工程师阿加马和一个叫杰米·特纳(Jamie Turner)的程序员开始行动起来。Dropbox的“魔法口袋”——类似于亚马逊文件存储系统——仍然在普通机器上运行,下一步就是把它搬到该公司定制的硬件上。特纳在学校读的是英语专业,后来却成为了工程师,他曾在多个高科技初创公司的工作过。他与阿加马合作,确保定制的硬件能够与软件良好契合。阿加马和其他硬件工程师设计的Diskotech机器可以容纳PB级的数据。但是这里面有个问题,就是“魔法口袋”和新硬件不太兼容。于是,特纳开始用一种完全不同的编程语言重新编写“魔法口袋”。

可能你会觉得有点奇怪。为什么要把代码安装到数以千计的机器里,然后更改这些代码,再把它们安装到数以千计的其他机器里?但是在规模巨大的互联网数据中心,事情就是这样操作的。机器迅速变得老旧,不断出现问题,然后你就得替换它们。在大型数据中心,升级设备是一种常态。所以,Dropbox先确保“魔法口袋”可以在通用的机器上运行,然后定制硬件,然后必须确保“魔法口袋”和新的硬件能够良好契合。

考林、特纳和同事最初是用谷歌的Go语言来编写“魔法口袋”的。这是因为Dropbox在追随一种更广泛的趋势。Go语言是专门为大规模分布式在线系统设计的,苹果有类似的Swift,Mozilla也推出了自己的Rust,此外还有一种独立语言叫D。程序员可以用它们快速编写出可以大规模跨机器(跨越数以百计或者数以千计的机器)快速运行的软件。

但是对于该公司希望建立的大型储存系统来说,Go的“内存占用”(在运行“魔法口袋”的时候所需要的计算机内存量)太大了。 Dropbox需要一种占用内存较少的语言,因为有这么多的文件流传输到机器上,会占用非常多的内存。所以在这个长达两年半的项目的中间,他们改用Rust编写了Diskotech设备的软件。Dropbox的数据中心现在采用的就是这样的软硬组合。

可能面临的危险

这是一项非常艰巨的工程。但是,像谷歌、亚马逊和Dropbox公司做了这样的事情之后,其他公司就不必再经历这样的麻烦了。这就是云计算的力量。当然,Dropbox不是谷歌,也不是亚马逊。它不为程序员和企业提供基本计算能力和基础设施,来让他们建立和运行自己喜欢的任何软件。但是有了它,个人和企业确实无需架设专门的硬件可以共享和存储文件。Dropbox希望“共享”会成为一个平台,这就是为什么它创建了一个名为Dropbox Paper的在线文本编辑器和协作工具的原因:外部开发人员可以把自己的应用放在它的服务上。

问题是,亚马逊、谷歌和微软也在扩张自己的服务,这可能会限制Dropbox的增长。在这样的情况下,该公司自己建设的数据中心可能反而会成为一种累赘。旧金山的社交游戏公司Zynga在进入高增长阶段的时候,就弃用云服务,建立了自己的数据中心。但是后来,它的业务一落千丈,新建的基础设施没有用上。现在它又重新回到了亚马逊云服务上。

Dropbox的一个优势是,阿加瓦尔、古普塔、威廉姆斯都有过这方面的经验。丹·威廉姆斯说, “如果你已经在Facebook或谷歌做过这样的事情,你对这种高增长可能就会有点上瘾的感觉,”威廉姆斯说。“你会很怀念那种感觉。”

这并不说他们做的是花架子,因为数据中心确实可能会帮助公司节省大量成本。但是,就像烟瘾酒瘾一样,这种“高增长瘾”本身也蕴含着某种程度的威胁。硅谷有一种说法,叫作“NIH综合征”,指一些公司创建各式各样的新东西,只是因为它们有这种创建新东西的癖好。

无论这个举动是否能帮助Dropbox达成预期的目标,该公司现在都拥有了自己的数据中心。这代表着一种态度,一种从谷歌开始逐渐扩散到整个硅谷的态度。谷歌之所以获得巨大成功,不仅仅是因为它创建了一个很出色的互联网搜索引擎,也是因为它创建了支持该搜索引擎大规模运行的底层技术——以及其他很多服务。后来Facebook从谷歌招募了很多员工,差不多也是走的这条路。Twitter也是如此。现在Dropbox也走上了这条路。要成为一个巨人,你可能需要站在别人的肩上。但是,一旦你成为了巨人,你就会觉得,有必要建设一个适合自己的家园了。(Kathy)

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读