精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Dropbox 棄用亞馬遜云服務的啟示

責任編輯:jackye

作者:Kathy

2016-03-21 09:16:16

摘自:騰訊科技

Dropbox是一家坐落在舊金山的初創公司,在全球擁有5億用戶。對于該公司希望建立的大型儲存系統來說,Go的“內存占用”(在運行“魔法口袋”的時候所需要的計算機內存量)太大了。

Dropbox 棄用亞馬遜云服務的啟示

Dropbox是一家坐落在舊金山的初創公司,在全球擁有5億用戶。隨著規模的擴大, Dropbox棄用亞馬遜云服務,自主建設了龐大的數據中心。這是一個工程上的壯舉,它的意義也遠遠超出了Dropbox本身。

Dropbox看上去只是計算機桌面上的一個文件夾,但有了它,你可以輕松愉快地把文件儲存在互聯網上,或者把文件發送給其他人,或者在你的筆記本電腦、手機和平板電腦上進行同步。這個文件夾使用起來輕松自然,幾乎不會消耗你的腦細胞。但是在這個文件夾的幕后,卻有一個工程上的壯舉。 Dropbox使用的大型機器網絡代表著一種力量,在過去十年里,這種力量讓互聯網的核心發生了巨大變化。而在今天,它又邁入了一個令人矚目的新階段。

在公司誕生之后的最初8年里, Dropbox為5億計算機用戶儲存了海量文件。但是它并沒有把這些文件真正存儲在自己的地盤上。就像近年來很多其他科技初創公司一樣,Dropbox也把東西儲存在了“亞馬遜云服務”上面。那是一個非常受歡迎的服務,由世界上最大的在線零售商亞馬遜提供。任何人都可以使用亞馬遜云服務來構建運行自己的軟件,無需自己架設硬件。換句話說,Dropbox的海量文件是儲存在亞馬遜的機器上,而不是Dropbox自己擁有和運行的機器上的。

但現在不再是這樣了。在過去的兩年半的時間里, Dropbox自己架設了龐大的計算機網絡,把海量文件轉移到了一系列新的機器上,這些新機器是公司自己的工程師設計的,機器上運行的軟件系統,也是由公司自己的程序員使用一種嶄新的編程語言開發的。這些工程師和程序員,曾經在互聯網巨頭谷歌、Facebook和Twitter開發過類似的技術,擁有豐富的經驗。現在,Dropbox已經將大約90%的文件搬到了這個新的網上王國里面。

毋庸置疑,這是一個宏大的工程壯舉。但這一舉動的意義遠遠超出了Dropbox本身。它突顯了云計算如何正在迅速改變企業的經營方式。與此同時,它也揭示了一些翻天地覆的變化是如何在過去十年里席卷全球硬件市場的。

如今,越來越多的公司正在搬到“云端”——而不是離開云端。根據調研機構Forrester的預測,隨著谷歌和微軟這樣的巨頭進入云服務市場,挑戰亞馬遜的領軍地位,到2020年,云計算的規模預計將達到 1910億美元。亞馬遜拒絕對此事進行置評,但該公司去年第四季度的財報顯示,亞馬遜web服務部門營收為 24.1億美元,相當于年化營收逾 96億美元——注意,這是在Dropbox離開之后的數字。

但是,有些公司變得日益龐大,到達了這樣一個階段:棄用別人提供的云服務,使用自己的定制技術,搭建自己的網絡,反倒更加省錢。由于規模經濟效應,亞馬遜、谷歌、微軟可以把云服務的價格保持在比較低廉的水平上。但它們向別人收取的價格也并非就是云服務的成本價。 “沒有人把云服務當做慈善事業來做,” 曾經在facebook工作過的Dropbox工程副總裁阿迪亞·阿加瓦爾(Aditya Agarwal)說,“這個服務總歸是有利潤的。”如果你自己的規模足夠龐大,那么不使用云服務,反而可以節省不少資金。而Dropbox現在已經達到了這樣的規模。

盡管如此,建立這種規模的網絡是一項非常艱巨的任務,并不是每一家公司都適合。 “正確的想法其實應該是:不要自己動手去做,” 烏爾斯·霍澤爾說。 他曾是加州大學圣巴巴拉分校的教授,也是谷歌的第八位員工,主持了谷歌全球網絡的建立,現在在幫助運營該公司的云計算服務。他解釋說,大多數公司都沒有龐大到規模經濟的程度,也缺乏相應的技能。如果公司的增長停滯了,這么做反而會讓公司騎虎難下。Dropbox似乎也有一絲這樣的跡象。近幾個月來,專家和投資者對Dropbox不太看好,說它100億美元的估值水分很大,因為該公司在吸引真正的企業客戶方面進展緩慢。

但是霍澤爾也承認,對于有些公司來說,這么做也挺合理。至少就目前來說,Dropbox就是屬于這種類型的公司。據Dropbox首席運營官丹尼斯·伍德賽德(Dennis Woodside)說,他們自己架設這個網絡已經具有了“巨大的經濟價值”。實際上,在棄用亞馬遜云服務的同時,Dropbox也展示了為什么云服務如此強大。該公司自己也修筑了基礎設施,讓別人無需再做這件事。而且,Dropbox自己也是一個云服務公司。它把數據轉移到自己的龐大網絡上,此舉也讓它加入了亞馬遜、谷歌和微軟的行列,把全球硬件市場(以及整個IT行業)朝著一個全新的方向推動。

文件的未來

亞馬遜是云服務市場的主力軍。它的主要競爭者是谷歌和微軟。使用這三家公司提供的服務,其他公司或者獨立程序員可以構建并運行任何軟件,而不用架設自己的硬件。這樣的好處,只有全球最大的科技公司才能提供。

與此同時,二級市場也在不斷增長。這個市場以Dropbox為中心,它的主要競爭對手包括Box.com、Saleforce.com等等。這些公司處在一個不同的垂直市場——在互聯網上提供預先構建的軟件。就像巨頭公司一樣,它們也提供了一些工具,讓企業和開發人員無需搭建自己的硬件,就可以利用這些工具——這正是云服務的吸引力的精髓。 “這個行業的下一個重要時代,就是平臺之戰,”Box.com的首席執行官亞倫·萊維(Aaron Levie)說。 “關鍵問題是:企業要在哪個平臺上構建自己的服務?”

Dropbox希望自己能成為其中的一個贏家,因此決定大手筆建設自己的云服務。但是,事情并沒有那么容易。該公司將會面臨來自亞馬遜、谷歌和微軟的日益激烈的競爭。事實上,這些巨頭已經在挑戰Dropbox和Box這一類文件共享工具了。文件共享市場未來有可能萎縮。單獨文件(單獨的照片和視頻,Word文檔和電子表格)的共享,將變得不再那么重要。文件不是智能手機上的核心。而且有了Slack這種隨時連線的消息和協作服務之后,在桌面上,文件也離中心舞臺越來越遠了。

Dropbox也很清楚這一切。該公司的巨大估值,已經讓它成為了備受專家和投資者責難的“獨角獸”。最近幾個月里,沒有哪一家初創公司承受的壓力比Dropbox更大,有很多人都對它在企業業務領域與互聯網巨頭對抗的能力表示了質疑。從該公司高管的一些發言來看,很明顯,Dropbox清楚的意識到了世界正在發生變化。在該公司花費了這么多的時間、金錢和精力打造自己的全球網絡之后,現在的問題是,公司自身的變化是否順應了這個世界的發展方向?

合理之處

詹姆斯·考林(James Cowling)在麻省理工學院讀書的時候,就認識了Dropbox的創業者。當時他在那里讀研究生,專業方向是分布式計算系統(在幾十個、幾百個,甚至上千個設備上運行的計算系統),他和最早的一批Dropbox員工一起研究這個課題,就這樣,他認識了Dropbox的聯合創始人兼首席執行官德魯·休斯頓(Drew Houston)。在Dropbox不斷成長的過程中,他們一直保持著聯系,而且一起討論過棄用亞馬遜云服務的條件和方式。 “這個想法似乎非常大膽,”考林說。

考林說,2012年,互聯網上最大膽的創新公司谷歌曾想把他招募到Spanner團隊。Spanner是谷歌的全球數據庫,該公司的大量在線服務都以它為依托。而且,Spanner可能也是地球上的最大最復雜的數據庫,是分布式系統中最有分布式特性的一個。但是考林還是決定去Dropbox工作。 “我想創建一些東西,”考林說。Spanner已經建好了,但Dropbox的數據王國還沒有。

Dropbox在誕生之后的大部分時間里,都采用了部分上使用亞馬遜云服務,部分上使用自己數據中心相結合的方式。用戶通過Dropbox共享文件時,該公司就把這些文件儲存在亞馬遜的Simple Storage Service(簡稱為S3)上,同時把這些文件的所有元數據——即它們屬于誰,允許哪些人下載——存放在Dropbox自己數據中心的機器上。

該公司的基礎設施副總裁阿卡利·古普塔(Akhil Gupta)曾在谷歌工作。考林和古普塔以及其他人一起,設計了一個全面的軟件系統,Dropbox可以存儲存儲成百上千PG的數據——相當于數以億計個優盤的存儲量——而且儲存效率比在亞馬遜S3上高得多。他們給這個系統取名“魔法口袋”(Magic Pocket)。 “我們的構想是,你可以把你所有的東西都存放在Dropbox上,不會迷路,不會找不到東西,你隨時都可以使用它們,它就像一個魔法口袋。”古普塔說。

從本質上說,他們相當于是建立了公司自己的亞馬遜S3,所不同的,只是他們專門設計了軟件,用來解決該公司特定的技術問題。 “這不是對等替換,”阿加瓦爾說。 “而是一個專門為我們自己度身定制的東西。”

即便是在Dropbox還沒有搬離亞馬遜的時候,亞馬遜就已經表現得像是Dropbox的競爭對手了。亞馬遜提供了自己的文件共享服務,雖然它缺乏Dropbox那樣的用戶友好度,而且品牌知名度也不如Dropbox,但這不免讓規模相對較小的Dropbox感到擔心。不過阿加瓦爾說,棄用亞馬遜云服務主要是財務上的原因,而不是競爭上的原因。“你必須把這些科技巨頭想象是一個國家——友好鄰邦,雖然你可能會與它們發生這樣那樣的小沖突,”他說。 “亞馬遜在很多領域都很出色,但我認為,當一家云儲存提供商并不是它們的首要任務,這和我們不一樣。”

事情最好真的能像他希望的那樣,因為Dropbox已經壓下了它的全部賭注。它根據自己的需要開發了自己的軟件。而且還不僅僅是如此,Dropbox也度身定制了硬件:它自己設計了計算機。

定制硬件

多年以來,互聯網巨頭谷歌、Facebook、微軟和亞馬遜都在為自己的數據中心設計硬件——計算機服務器、網絡交換機,有些時候還包括用來儲存大量數據的硬件。這些公司別無選擇,只能自己動手處理所有一切:因為它們的在線王國已經變得如此龐大,使用通用設備只會更加昂貴、更加困難。它們需要的是新型硬件——更便宜、更精簡、更具可塑性。因此,它們和硬件制造商一起,和亞洲本地的零部件供應商一起,設計制造了專門的設備。

如今,谷歌建造的服務器比全世界其他任何一家公司都多——包括那些銷售服務器的廠商。亞馬遜和微軟在這方面也沒落后。而且,由于這些公司提供云計算服務,很多其他企業現在采用的硬件也和傳統的通用硬件有差別——特別是在Facebook開源了其定制設備的設計之后。現在,一些供應商,包括廣達這樣的亞洲制造商,都在銷售基于Facebook硬件的產品。

拉米·阿加馬(Rami Aljamal)親身經歷這個變化。他在Twitter設計了一系列精簡機型,也在戴爾的新部門DCS工作過(戴爾設立這個部門,是希望奪回市場份額。谷歌等公司設計自己的硬件,讓戴爾損失了一些市場份額)。現在,他在Dropbox的設計機器。就像谷歌、亞馬遜和微軟一樣,Dropbox認為它也必須擁有適合自己獨特需求的機器。

Dropbox存儲了海量數據,因此它需要適合開展這個任務的機器。阿加馬和他的團隊在 Dropbox總部一個實驗室里面設計了這種機器,他們稱之為Diskotech。 “我們最關心的東西是磁盤,” 阿加馬說。 “所有信息都儲存在磁盤上。”Diskotech寬約45厘米,長約106厘米,高15厘米,可存儲多達1 PB數據(100萬GB)。只需要50臺這樣的機器,就可以儲存人類有史以來寫過的一切東西。

進行更換

考林和同事從2013年夏天開始開發“魔法口袋”軟件,花了大約6個月的時間完成了初始代碼。但是,這只是他們邁出的一小步。在系統建成之后,他們必須確保軟件能夠正常工作,必須讓它在多個數據中心數以千計的機器正常運行。他們不得不為公司的新硬件改寫軟件,而且還得把所有的數據都搬離亞馬遜。

整個過程花了兩年的時間。毫無疑問,這樣的項目是技術上的一大挑戰。但是與此同時,它也是后勤上的一個挑戰。在互聯網上移動如此之多的數據是一回事,把這么多的機器搬到數據中心又是另外一回事,而且他們必須在Dropbox繼續為億萬用戶提供服務的同時做到這兩件事。 “就好比是一輛正在行駛的汽車,你希望能夠在開車的同時,還能夠更換輪胎。”機器擴張工作的負責人丹·威廉姆斯(Dan Williams,曾是Facebook網絡工程師)表示。也就是說,在進行這些變更的時候,Dropbox不能停運。它不能對億萬用戶說:你們的文件暫時無法使用了。這個艱巨任務圓滿完成的最佳指標之一,就是用戶完全注意不到公司有這樣的變化。

考林和同事在寫完最初的代碼之后,就在一種比較標準的硬件上面進行了測試。他們的目標是連續測試180天不會出現重大錯誤。團隊甚至在Dropbox總部的墻上掛了一個倒計時鐘。兩個月之后,測試出現了一個錯誤——可能會把數據存儲到錯誤的地方——然后他們又把倒計時鐘調回到180天。測試總共歷時8個月。

團隊覺得這個系統可以正式運行的時候,就把代碼移到了越來越多的系統上,同時也從亞馬遜復制了越來越多數據。公司與亞馬遜的主要合約將在六個月后期滿,他們決心到那個時候完成搬遷過程,這樣就不需要續簽合同了。 “留給我們打開降落傘的時間非常短,”考林說。

把數據從亞馬遜遷移到其他數據中心,這是一個史詩級的任務。從一臺機器移動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也走上了這條路。要成為一個巨人,你可能需要站在別人的肩上。但是,一旦你成為了巨人,你就會覺得,有必要建設一個適合自己的家園了。

鏈接已復制,快去分享吧

企業網版權所有?2010-2025 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 赣州市| 牙克石市| 乐山市| 旌德县| 吉木乃县| 墨脱县| 石景山区| 台湾省| 西林县| 尤溪县| 乳源| 澄迈县| 招远市| 筠连县| 视频| 滦平县| 安阳市| 治多县| 花莲县| 兴国县| 苍溪县| 墨玉县| 舟曲县| 镇雄县| 汶川县| 耒阳市| 望江县| 栾城县| 商洛市| 邓州市| 突泉县| 哈巴河县| 县级市| 溧阳市| 洪雅县| 应城市| 玉屏| 都昌县| 奉贤区| 读书| 威信县|