Saturday, March 18, 2006

Google真正的競爭力是什麼?

是搜索引擎? 是Gmail, Gmap, G-whatever? 當然,Google是靠搜索引擎起家的。它在這方面的品牌優勢是目前誰也比不了的。但這真的是Google的優勢麼?為什麼一個百度在中國就能比它更受歡 迎呢? 老實說, 做網站誰不會啊, 尤其是放個文本框, 敲進去什麼馬上就能再回來一頁,誰都會學。後台的技術也不見得有多深奧,所以百度能夠提供和 Google一樣的服務和速度。

那麼Google的競爭力到底在哪裡呢? Google在北美已經買了一個遍佈美國的光纖骨幹網, Google的視頻服務也正在測試之中,Google到底想幹什麼呢?Google的核心到底是什麼呢,它超越於一般網站的地方到底在何處?

一家之言,我覺得答案就是Cluster, Google自己的Cluster。Cluster可以翻譯成集群式計算機。它是由多個PC組成的分佈式的計 算機系統。這些PC的所有的內存構成了這個分佈式計算機的內存。所有的硬盤構成了找個分佈式計算機的存儲空間。把這些廉價PC機集合在一起, 讓它們有機 的工作, 在外面看來就像一台超級計算機Cluster的關鍵技術就是Cluster的軟件。而Google正是在Cluster的軟件技術方面無人能 及。

讓十台,二十台甚至一百台PC機協同工作已經不是什麼難的技術了,國內也有研究所在做這方面的工作。Cluster的軟件最關鍵的指標就是可擴展性 (Scalability), 五百台在一起能不能正常工作,一千台呢, 兩千台呢?這其中涉及到的如何利用分佈式的CPU, 內存和硬盤資源, 學問可 就大了。Google使用基於Linux的Cluster已經不是秘密了。外接對Google Cluster到底有多大一直有所猜測,但Goolge從 來不公佈它有關自己Cluster 的信息。Google的新聞發言人在被問及此事的時候,只是大概的說Google的Cluster大概有一萬個節點。也就是說由一萬台PC組成的分佈式計 算系統。這已經是一個很驚人的數字了。 更重要的是, 超大規模計算機是非常昂貴的產品,而基於Linux的Cluster的出現是超級計算機的性價比大 大降低了。有了強有力的Cluster軟件,只需把能找到的PC往上堆就行了。

然而有人根據Google發佈的一些關於它系統的數字進行分析,發現Google 很有可能在隱瞞它的Cluster的真正大小。 真正的Google Cluster的大小,可能在十萬個節點左右,而且還在增加之中!這是一個非常驚人的數字,能夠讓這麼多節點協同工作,對Cluster軟件的要求非常的 高。這個系統就像一個超大規模的蟻穴一樣,所有的節點都在分工合作。這個系統是永遠也不會down機的,在任意一個給定的時刻,肯定會有一定數量的PC機 是損壞的,但它們能夠被及時的更換。你見到過Google的主頁有down機的時候麼, 速度慢的時候也很少, 這是全世界幾億使用者的共同經驗!

有了這樣一個超大規模的計算機系統,超大規模的計算能力,超大規模的存儲系統,是可以做很多事情的。 注意到Gmail 的空間一直在增加了麼?這證明了Goolge對於海量內存的管理能力在不斷增加(只不過是不斷往上摞PC罷了:))。 有這樣一個超大規模的分佈式系統, 節點分佈在全國各地,這個系統對於互聯網內容的輸送能力就顯而易見了。那麼還缺什麼呢, 當然是一個可以覆蓋全國的IP骨幹網。這也就是為什麼 Google, 一個網站公司, 要買一個遍佈美國的光纖骨幹網的原因。

製造超過上萬節點的分佈式計算機系統,全世界只有兩家公司掌握了這個技術, 一個是Google, 一個是Akamai, Akamai是做Content Delivery的, 也就是把網站的內容更快的送到用戶的手中,Akamai使用它的分佈式計算機系統來為網站發佈內容, AOL, CNN等都是它的客戶。Google正在全美高速興建它的數據中心,現在已經有了40到50個,未來會發展到上百個,而這些數據中心也是它超大規模分佈式 系統的一部分。

這個龐大的Cluster並沒有一個中央處理器,在地理位置上也是遍及全美各地Google的數據中心,每個節點都是這個系統的一部分,一台廉價的PC 機,在安裝了cluster軟件後,立即融入到這個系統之中。掌握了建立以廉價PC為節點的超大規模Cluster 的構造技術,這才是Google 真正的競爭力。。。

No comments: