您的位置: 首页 >> 区块链

Dropbox出走亚马逊云服务帝国的壮丽

2019.12.13 来源: 浏览:0次

Dropbox 出走亚马逊云服务帝国的壮丽史诗

如果你是 Dropbox 的五亿用户之一,那末你肯定知道它就是你电脑桌面上的一个文件夹,它可以让你将文档存储在互联上,将文件发送给其他人,并且可以将文档在笔记本电脑、和平板之间进行同步当你需要的时候,你会使用这个文件夹;当你不需要的时候,你就会忘记它的存在这就是设计者的初衷;事实上,在这背后,你可以发现工程学方面的史诗级壮举Dropbox 在机器络上运行,它的演化过程集中体现了在过去十年间使得互联核心产生改变的气力今天,这个系统已经发展到了一个新阶段

在 Dropbox 的第一个八年中,超过 5 亿用户在其中储存了数十亿的文件但是,这家位于旧金山的初创公司并没有真正地将文件自己贮存起来,和近些年的很多初创公司一样,Dropbox 选择在「亚马逊云服务」中进行线上操作亚马逊云服务由目前世界上最大的线上零售商亚马逊运营亚马逊云计算服务使得任何人都可以开发或者运行软件,而不需要设立自己的硬件系统換句話說,這數十億文件實際上是存儲在亞馬遜的設備中,而不是 Dropbox 的服務器中

但是这一切都已经成为历史经过过去的两年半时间,Dropbox 建立了自己的大型计算机络,并且将其服务转移到了由自己的工程师设计的机器系统中该系统完全由自己的程序工程师设计,依托的也是一种全新的汇编语言在众多曾就职于络巨头(例如 Google、Facebook 和 Twitter)的硅谷老将们的努力下,Dropbox 已成功地将 90% 的文件转移到了新的线上帝国中当然,这是一个非常耀眼的工程壮举,而且这1举动的意义已经超越了 Dropbox 本身更重要的是,它显示出了云计算服务正快速改变着商业运作模式同时,它也揭示出在过去十年间席卷整个硬件市场的巨大变化

Dan Williams, Dropbox 基础设施经理

今天,越来越多的公司开始选择「云服务」根据 Forrester 公司预测,到 2020 年,云计算的市场规模将到达 1910 亿美元,一些互联巨头,例如 google 和微软等将会以自己的云服务来撼动亚马逊的地位在去年的第四季度,亚马逊的络服务部门只获得了 24.1 亿美元的营收,而年销售额达到了 96 亿美元,对于没有了 Dropbox 的亚马逊来说,这已是很大的一笔营收了

但是一些公司是如此巨大,从而使得建造自己的络就显得特别紧急由于经济规模较大,从而使得 Google、微软和亚马逊可以将云服务的价格降到很低但是他们其实不是以成本价进行销售「没有哪一位云服务供应商是在做慈善」Dropbox 工程部副总裁 Aditya Agarwal 说如果你的公司足够大,通过削减云服务的开支,你可以省下一大笔钱而 Dropbox 就是这样一家不折不扣的大型公司

但是,建造这样一个巨大的络非同儿戏,任务相当艰巨,而且这并不适用于所有公司「正确的做法是不要自己建造这样的络」前加州大学圣芭芭拉分校教授 Urs H?lzle 说目前他在 Google 工作,主要负责该公司全球络的建立,帮助运行云计算服务

他解释道,大多数公司都没有这样的范围和自己构建络系统的必要如果公司成长停滞,那末这样的举动无疑会让公司雪上加霜这一点可谓非常适用于 Dropbox 的境遇最近几个月,专家和投资者们纷纷开始看衰这家位于旧金山的公司,表示该公司的 100 亿美元的估值其实名不副实,并且很难吸引真正的商业用户的眼光

但是 H?lzle 承认对于某些公司来讲,这样做还是很有必要的至少从目前看,Dropbox 就是这样的一家公司根据该公司的首席运营官 Dennis Woodside,该举动使得公司获得了「必要的经济价值」更具有讽刺意味的是,Dropbox 在逃离云服务的同时,又在不断强调云服务的强大它在进行这样的基础设施建设,以便让其他竞争者望尘莫及或许它也会成为一家云服务公司通过在大型络领域迈出的坚实步伐,Dropbox 正在和互联巨头 Google、微软和亚马逊一起为全球硬件市场和信息技术指出新的方向

文档文件的未来

亚马逊主导着云计算市场,其主要的竞争对手包括 Google 和微软三家公司提供的云服务使得商业和独立程序员可以编写或运行任何软件,而不需要建立自己的硬件设备与此同时,这里也存在一个以 Dropbox 为核心的二级市场,其主要竞争对手包括 、 和 Workday 等这些公司相对更加小众,可以在互联上提供内置软件应用和一些稍微大型的公司一样,它们也可以提供一些商业和开发者能够使用的工具,而免去了建立自己的硬件设备的苦恼,这一点和云服务类似「该产业的下一个重要时期就是平台争夺战企业将会在什么样的平台上面建立自己的业务就成为了重点」 CEO Aaron Levie 说

Akhil Gupta, Dropbox 基础设施副总裁

Dropbox 希望成为这些平台中的一个,因此它卯足了劲儿要自己建立一个云服务平台但是这个过程可谓充满了艰险随着该公司在内置软件领域的继续扩张,该公司将会不可避免地面临来自亚马逊、Google 和微软的愈来愈大的压力事实上,这些互联巨头已经准备好开始挑战那些和 Dropbox、Box 一样具有文件分享工具的公司未来文件分享市场的扩张将会明显下降,而离散式文件(例如照片、视频和 Word 文档等)分享将会变得越来越不重要文件并不是智能的核心业务随着聊天工具以及协作服务的成熟,文件也将不再是中心笔记本电脑应用场景的中心

Dropbox 对这一切都了然于胸其超高的市场估值使得其成为一些专家和投资者诘难「独角兽」突起的靶子近月来,没有哪家初创公司能抢过 Dropbox 的风头,同时也伴随着对其能否和互联巨头进行抗衡的质疑通过该公司高管的广泛谈话来看,毫无疑问 Dropbox 已意识到了世界正在发生变化,而问题是 Dropbox 本身的变化(例如花费巨大的时间、金钱和努力将其从亚马逊转移到本身构建的全球性络中)是不是能和世界的变化同步

初见成效

早在 James Cowling 还在 MIT 时,他就知道 Dropbox 的创建者作为该大学的1名毕业生,他更加关注分布式系统,即在成百上千台设备上进行运算的系统,并且他也曾和 Dropbox 早期的一些雇员一起学习过,这也让他有机会与 Dropbox 的联合创始人兼 CEO Drew Houston 相遇在 Dropbox 的发展过程中,他们始终保持联系,并且他们也讨论了 Dropbox 在自己的络系统中运行的可能性和操作性「可以说,这是一个非常大胆的想法」Cowling 说

Cowling 说,2012 年他有幸目击了 Google 监管 Spanner(一个主导了这家互联巨头很多操作的全球数据库)的工程团队Spanner 或许是世界上最大的、也是最复杂的单个数据库,也是分布最广的分布式系统之一但是,Cowling 选择了在 Dropbox 工作「我希望可以创造些什么」Cowling 说Spanner 已经建立了,而 Dropbox 的帝国却还没有

从目前来看,Dropbox 的一部分业务在亚马逊上运行,而另外一部分则没有如果很多用户通过 Dropbox 分享文件,那末该公司就会选择将文件储存在亚马逊的简单存储服务中,而这些文件的元数据则存储在自己的服务器中

通过和负责基础设施建设的副总裁 Akhil Gupta 和其他人一起工作,Cowling 设计了一种软件系统,该系统允许 Dropbox 存储数百 PB 的数据这些数据足以填满数亿个 U 盘,且存储效力远远高于亚马逊的简单存储服务他们将这个系统称为「Magic Pocket」「Dropbox 被认为是一个你可以放置所有文件的地方,你不用担心它会消失,而且你还可以随时访问它这就像是一个充满魔法的口袋」Gupta 说

James Cowling, Dropbox 贮存团队负责人

从本质上说,他们构建了自己的「亚马逊的简单存储服务」,只是他们根据自己的技术问题调整了软件而已「我们还没有建造出一个可以替换掉亚马逊简单存储服务的系统,我们只是建立了一个供我们自己使用的系统」

乃至当 Dropbox 仍然在亚马逊上的时候,亚马逊就开始表现出会成为 Dropbox 的一个强有力的竞争者亚马逊推出了自己的文件分享服务尽管亚马逊推出的这个版本并不是那么合适用户使用,且缺少 Dropbox 独特的蓝色文件夹那样的品牌知名度,但是却着实让小型公司非常担心但是据 Agarwal 讲述,促使 Dropbox 撤离亚马逊云服务的主要原因是经济原因此非政治原因「你需要将这些大型科技公司看作不同的国家,或者友好的邻居,虽然偶尔会出现一些小冲突亚马逊有非常多的业务,但是我认为亚马逊的首要任务不是成为一个像我们一样的云存储服务供应商Dropbox 已建立了为自己服务的软件系统,而如今他们又往前迈进了一步,他们建立了自己的硬件系统Dropbox 重新设计了自己的电脑

规模化困难

经过数年的时间,互联巨头 Google、Facebook、微软和亚马逊等都已经设计了自己的数据中心硬件系统计算机服务器、络交换机和大数据存储硬件等这些公司没有其他选择,只能是构建全部的硬件系统:他们的互联帝国太过巨大,从而使得使用传统方式太过昂贵,也太过困难他们需要一种新的更便宜、更精简、且可塑性更强的硬件因此他们与全球的硬件制造商和供应商共同合作建造了云服务系统

今天,Google 是世界上建造服务器最多的公司,而它几乎不出售服务器亚马逊和微软也几近采取了相同的战略由于这些公司也会运行云计算服务,因此许多其他的商业也会在传统硬件厂商以外的设备上运行他们的软件当 Facebook 对其用户定制服务进行开源以后这一点变得尤其明显现在大量的供应商(包括一些亚洲制造商如 Quanta)开始出售基于 Facebook 硬件的产品Rami Aljamal 亲眼见证了这一发展过程如今,他在 Dropbox 中也设计了这样的机器和 Google、亚马逊、微软一样,Dropbox 设计了这种满足其独特需求的设备

Dropbox 储存了大量的数据,因此它需要适合这项任务的装备,而这也正是 Aljamal 及其团队在该公司的总部位于旧金山的 Dropbox 总部的实验室中完成的工作他们将这台机器称为「Diskotech」「我们最关心的部份是磁盘,这是所有数据存储的地方」Aljamal 说每个 Diskotech 盒子都贮存有 PB 级的数据50 台这样的设备就可以储存人类迄今为止所写的所有数据

更换轮胎

Cowling 及其同事从 2013 年夏天开始研发 Magic Pocket 软件,花费了大约 6 个月的时间来建立初始代码但是这只是开始的很小一步一旦该系统建立,他们还必须确保系统能正常工作他们需要将这套系统应用于多个数据中心的设备内部他们也需要将软件应用于最新的硬件产品上不仅如此,他们也需要将所有的数据撤离亚马逊

Rami Aljamal, Dropbox 工程经理

这整个过程延续了大约两年的时间毫不夸大地说,这样的项目是一个非常大的技术挑战但是这同时也是一个物流挑战在互联上转移大量的数据是一件事,而将许多设备转移到数据中心又是另一件事,而 Dropbox 必须要完成这两件事,以便其可以继续为数亿人服务「这就像是1辆移动汽车,你希望在更换轮胎的同时汽车仍然在运行」前 Facebook 络工程师 Dan Williams 说换句话说,在进行数据转移的时候,Dropbox 并不能停下来他不能告诉自己的用户他们的文件暂时不可用

因此,衡量这项工作完成得是不是出色的标准就是用户是否有察觉到异常

当 Cowling 及其同事完成了初始代码的时候,他们在一个标准化的硬件络上进行了测试,该硬件是 Dropbox 的缩略版,其中大约 20%的数据放置在亚马逊的服务器上他们希望能够连续测试 180 天而不发现大型错误,甚至在测试房间的墙上挂上了时钟两个月后,他们发现了一个程序毛病可以看到储存在毛病地方的数据,然后他们重新设置了时钟整个测试延续了大约 8 个月

确认该系统可以运行所有的 Dropbox 以后,该团队进一步将该代码运用在了越来越多的系统上,从而从亚马逊云服务器中复制了愈来愈多的数据为了顺利完成该进程,Dropbox 与亚马逊的合同延期了 6 个月「整个过程其实时间非常紧张」Cowling 说

事实上,仅仅是将数据从亚马逊迁移出到其他数据中心就是一个非常浩大的、堪称史诗级的任务将大小为 PB 级别的数据从1台机器转移到另外一台机器和下载一首歌曲完全不是一个量级事实证明,转移 4PB 的数据需要花费一天的时间「光速就是我们转移数据的极限速度」Agarwal 说

与此同时,电脑也需要转移到数据中心,以便接收数据想象一下你的办公室中的 IT 精英正在努力为新雇员搭建一台新电脑但是这个过程是在 Dropbox 这个范围完成的所有的这些过程还有时间的限制如果他们将该系统应用到数据中心的速度不够快,那么他们就不能很快地从亚马逊迅速获得数据Dropbox 平均每天要搭载 40 至 50 台机柜,每个机柜大约搭载 8 台机器每一天,卡车都将机器从世界各地运送到 Dropbox 的数据中心

为了能够顺利完成数据转移任务,Dropbox 设定了最后的期限与此同时,由于其欧洲业务不断增长,因此他们选择了在欧洲继续使用亚马逊云服务,但是该公司 90% 的数据已从亚马逊转移到了 Dropbox 数据中心紧接着,更加紧张的工程开始了

蓄势待发

当所有的数据都撤离亚马逊云服务以后,硬件工程师 Rami Aljamal 相中了程序员 Jamie TurnerMagic Pocket 依然只是在普通的机器上运行,接下来就是将其转移到客户定制的硬件上Aljamal 和 Turner 强强联手,以确保该软件可以在新的硬件上成功运行Aljamal 和硬件工程师设计了一种单一机器 Diskotech,可以储存 1PB 的数据但是其也存在一个问题,即 Magic Pocket 软件并不能与这种新硬件很好地兼容因此 Turner 用一种全新的程序语言重新编写了 Magic Pocket

Michele Sordal, Dropbox 供应链经理

这看起来也许有些奇怪为什么将程序置入上千台机器时,需要改变代码,然后放置到另外的数千台装备中但是大型互联数据中心的工作方式机器的老化非常快,总是会有一些部分在失效,然后你需要将这部分替换掉你总是需要更新你的设备首先,Dropbox 需要确保其 Magic Pocket 可以正常运行这一部分其实已经非常困难然后替换部份硬件,与此同时还需要保证两者之间可以相互配合得很好

Crowling、Turner 和其他工程师在建造 Magic Pocket 使用了一种来自 Google 的新程序语言 GoDropbox 正在引领一种更大的趋势,即适用于新型广泛分布式系统的程序语言Apple 也有一种类似的语言叫做 Swift,Mozilla 则拥有 Rust,而还有另一种独立的语言叫做 D所有的这些语言都可以让程序员可以快速地制作出运行速度很快的软件但是对该公司正在构建的海量存储系统来说,Go 的内存占用量太大了Dropbox 需要一种占用内存更少的语言,因为所有的这些内存空间都可能被进入的文件所占据因此,在这项为期两年半的项目中,他们在 Diskotech 设备中最终选择了 Rust

直面危险

目前来说,像 Google、亚马逊和 Dropbox 都已经经历了很多其他公司并没有经历的这类极端过程这就是云计算的气力事实上,Dropbox 并不是 Google 或亚马逊,他其实不为程序员和商业提供原始的计算能力和基础设施,但是他为个体和商业客户提供了分享和存储数据的服务Dropbox 希望分享能够成为一个平台,这也是为何 Dropbox 选择开发一个文档和合作工具「Dropbox Paper」

Jamie Turner, Dropbox 软件工程师

而 Dropbox 面临的潜伏危险是,随着亚马逊、Google 和微软自身业务的扩大,他们必将会限制 Dropbox 的发展在这种情况下,该公司将数据转移到本身数据中心的举动也许更像是一个负担众所周知,旧金山社交游戏公司 Zynga 在到达了超速增长阶段时,该公司也选择了将所有业务转移到自身的数据中心但是当其业务下滑之后,他们发现他们根本使用不了如此庞大的基础设施而现在这一切落到了亚马逊身上

Dropbox 的1大优点是,其具有的很多优秀工程师,例如 Agarwal、Gupta、Williams 和 Sordal 等都具有非常丰富的经验Dan Williams 说,「如果你曾在 Facebook 或者 Google 经历过这种超速增长,那么你会非常想念这类感觉」

现在,Dropbox 已建立了自己的系统,这也代表了目前正在硅谷迅速传播的的一种态度Google 取得了如此巨大的成功,并不仅仅是因为其建造了非常完善的络搜索引擎业务,而是其建立了在超大规模上运行搜索引擎的技术Facebook 和 Twitter 也做了相同的事情现在,则是 Dropbox为了成为巨人,你必须首先站在别人的肩膀上但是一旦你自己成长为了巨人,你就会觉得是时候为自己建造一个家了

小儿呕吐吐奶溢乳哭闹怎么办

小孩汉森四磨汤的功效

宝宝便秘拉不出怎么办

德州治疗精囊囊肿医院

宁波治疗白癜风哪家医院好

辽阳治疗精囊炎方法

艾玛医院做四维彩超多少钱
山西那家医院能治癫痫病
云南妇科医院那儿便宜
Tags:
友情链接
北京物联网