谷歌計算引擎:到底是什么讓你遲遲無法面世?
英文原文:Google Compute Engine: What took them so long?
兜了一個大圈,最終我們又回到原點。當下最流行的技術概念——云計算——終于在谷歌那里得到明確回應。相信大家一定等這一天等得花兒都謝了,因為谷歌其實是最有機會開創云計算先河的企業,企業高管們也始終在熱切期盼廉價質優的谷歌服務器能夠幫他們在商業計算領域再燃一把希望之火。覆蓋一切的資源池、在需要的任何領域提供處理性能、不必擔心浪費也永遠沒有宕機,谷歌的品牌號召力與云似乎有種天作之合般的默契。
與此同時,IT 管理者們則瞪大了驚慌的雙眼注視著這一歷史性變革。他們的反應非常合理,因為嚴峻的問題已經被擺在面前:沒人能借助有限的資源達到谷歌所造就的高度。在殘酷的市場競爭下,谷歌為每位用戶提供了一種便捷而經濟的工作方式,復雜而脆弱的數據中心將成為過去,美好的未來已經以實驗性方案的形式展現在我們眼前。
然而,距谷歌首次發布其 App 引擎開發平臺至今已經過去了四年,現在他們終于下定決心在公共云 IaaS 市場中插上一腳——目前這塊市場屬于 Amazon 公司一家獨大——并以谷歌云計算引擎為依托將一部分基礎設施向用戶租賃。這份公告來得可謂恰到好處,因為目前消費者們已經對云計算有了相當程度的掌握,也比較了解創建自有云環境的艱辛與昂貴。而在與其他 IaaS 供應商的合作中,他們還逐漸體會到外包工作負載所帶來的各種局限。
谷歌計算引擎到底會在 IaaS 組合方案中扮演何種角色?目前還很難判斷,因為我們從公告中得到的重要細節少得可憐。上周我曾與谷歌計算引擎項目的產品經理 Craig McLuckie 短暫交談過,他看起來似乎對谷歌在全球范圍內享有的極高聲譽信心滿滿,并認為長久以來的成功經驗以及一流基礎設施必然會給新產品帶來大量客戶兼腦殘粉。
面對 McLuckie,我的核心問題是:為什么選擇現在?谷歌早在數年前就已經意識到云技術中所蘊含的強大潛力,為什么沒有提前推出產品呢?他是這樣回答的:
要拿出成熟的產品投放市場可不是一朝一夕之功,而整個過程中最關鍵的部分無疑是核心技術。我們的奮斗目標絕不僅僅是對當前多租戶云的簡單照搬,而是給我們的消費者帶來一套親切、容易上手甚至在使用感受上與自有數據中心非常接近的產品。我們關注的是性能的可預測性,我們關注的是基礎設施訪問的簡潔性。基于這些考量,解決方案的出爐確實很費了我們一番功夫,但我認為這種努力是值得的。谷歌的最終產品完全超越了其它多租戶云方案,而且即使與自有數據中心相比也毫不遜色,這一點令我們非常自豪。
在他的發言中,大家一定會注意到“性能的可預測性”這種說法。這是在以不點名的方式給了 Amazon Web Services 一記響亮的耳光,Amazon 公司的這項服務幾年來已經多次鬧出影響很大的宕機故障。谷歌怎么會有如此自信,認為自己可以完全避免此類問題?McLuckie 告訴我,因為谷歌的基礎設施更強力——呃,好吧,這倒也算是個理由。
上周在接受 InfoWorld 網站采訪時,RightScale 公司創始人兼 CEO Michael Crandell 結合谷歌利用高速網絡連接全球各地數據中心的方案,對這套全局基礎設施發表了自己的看法。但隨著計算引擎項目的正式啟動,谷歌顯然有點忘乎所以,他們的宣傳核心始終圍繞著自身品牌價值以及數年前轟動一時的先進基礎設施。
再回到標題提到的重點問題:到底是什么原因令計算引擎心無法面世?McLuckie 給出的“好飯不怕晚”一說似乎無法令人信服。首先,計算引擎直到目前還連個測試版都沒有,只提供什么“有限預覽”。如果谷歌基礎設施真像他們宣傳的那么強勁,為什么要在細節規劃上花這么多時間跟精力呢?要知道,這類產品的作用只是向消費者提供云計算資源、服務以及技術支持,而谷歌在這些方面的經驗其實并不豐富——這從谷歌應用付費版本的質量就可見一斑。
為什么軟件開發工作耗時如此之長?去年秋季,一位名叫 Steve Yegge 的谷歌工程師無意之間走漏了風聲。Yegge 曾經在 Amazon 工作過一段時間,他撰寫了一篇本應只供谷歌內部參考的博文,但卻一時不慎將其發布在 Google+ 上。
在博文中,Yegge 詳細介紹了 Amazon 公司 CEO Jeff Bezos 在 2002 年做出的關于“各團隊通過服務接口公布數據及功能”的規定。也就是說,Bezos 希望以強制性手段令 Amazon 將公司業務朝著面向服務轉型。在 SOA 得到正確實施的前提下,共享服務能夠大大縮短開發時間,因為開發團隊中的每位成員都能通過 API 調用現有開發成果,而不是一切從零做起重復編碼及功能。當設想按部就班成為現實,企業現有應用程序基礎設施將轉化為通用平臺。
而與之相比,Yegge 指出谷歌則“沒能打造出這樣一款全局平臺。”在談到公司采取的內部開發規定時,他說:
即使僅僅為大多數技術團隊提供暫時性的數據及計算編程訪問服務,其工程量同樣相當浩大。谷歌公司的大多數員工都只關注如何努力開發產品,而暫時性服務則往往被視為浪費時間和可笑的理想化目標……我們所面臨的問題非常嚴峻,因為只有從本質上改變谷歌的企業文化,才有可能迅速縮短這幾年來被 Amazon 所甩下的差距。我們沒有打造出這類面向服務的內部平臺,是因為我們在企業外部也同樣沒做過這種工作。
就我個人而言,這種論調只能算是種猜測,但 Yegge 提出的問題倒確實在一定程度上解釋了谷歌為什么花了這么長時間來為谷歌計算引擎打造相關軟件產品。
根據我與 McLuckie 之間進行的交談,他似乎明顯還沒有感覺到谷歌對于打造自家 IaaS 品牌的必要性與緊迫性。當然,這種狀況我也能理解,畢竟這是谷歌——擁有世界上最先進基礎設施的龐大技術帝國,他們的技術財富令無數人垂涎三尺,不是嗎?而且無論到底何時才會將有限預覽轉化為測試版本乃至完成版(包括今后的服務水平協議等內容),至少谷歌計算引擎已經正式被納入議事日程,而且根據 McLuckie 的說法,谷歌終有一天會拿出令人驚嘆的完美作品。
毫無疑問,谷歌將成為 IaaS 市場中一顆不容忽視的新星。而且盡管也出現過一些停機及其它差錯,但充滿神秘感的谷歌對于很多消費者而言仍然具備相當程度的吸引力。但另一方面,時代已經不同了,如今的云領域已經比四年前更加競爭激烈、危機四伏,普通的 App 引擎根本無法輕松打開市場并取得成功。谷歌未來要抗衡的不僅僅是 Amazon 與 Rackspace,新加入進來的競爭對手還包括惠普、微軟、戴爾甚至多家電信運營商(例如 Verizon 公司以及 Terremark 公司等)。從這個角度來看,谷歌其實并不具備什么固有優勢,它需要像其它 IaaS 供應商一家用實際表現證明自己的實力。