很想寫這個主題很久了,雖然可能永遠也無法把道理完整的解釋清楚,不過,有個開頭總是好的。

首先,先寫個嘴炮給非軟體業的人看,台灣名嘴大喊:「台灣現在要找到能殺出血路的產業,雲端計算是很 好的機會」、「打造雲端大國,再造兆元產業」,政客名嘴喊喊口號就好,問題是,我們在這產業有什麼利 機,能夠在 落後歐美社會四百年 的狀況下,在不懂數字管理下,一次追趕過這些差距,超英趕美?

如果沒有確實的利基及施行方案, 「打造雲端大國,再造兆元產業」 同樣也可以改寫成 「打造月球 基地,開採外星綠能」、「打造火星計劃,一統太陽系」,後兩者講起來不是更威嗎?

台灣有許多硬體公司在喊,雲端是未來的機會,問題是,雲端的目標是共享資源、是消減 IT 的支出,對硬 體廠來說,是個產業危機,也是個大洗牌的機會,但是,對台灣整體來說,絕對是個不利的未來。至於某些 公司開始喊,雲端業務已經佔公司營業而多少,我的看法是,把伺服器部門改個招牌,雲端營業額就大增了 啊,問題是, 公司的總營收有成長嗎?

講完了這些後,再講個小故事, 2010 年我回台灣前,公司同事問我,回台灣要做雲端嗎?我回,我不會 在一個有 颱風、地震、洪水、土石流、及戰爭危機 的地方建資料中心。另外,台灣雖然是美國 對亞洲網路的樞紐,但是台灣的網路流量費過高,就是另一個要面對的問題。已上幾點,就是台灣要做雲端 資料中心地理環境上的外部問題。

再來講到台灣軟體業自己內部的問題,做網路服務,同時能服務 十萬個用戶 是一個門坎, 一百萬個用戶一千萬個用戶一億個用戶十億個用戶 都是不同的門坎,每跨過一階,整個 系統架構跟考量的點都完全不同,十萬個用戶用 LAMP 一台就夠了,一百萬用戶,那就要開始做 server farm, cache 等,到了 一千萬用戶,連 DB 都受不了用量,要找其它的解決方案( ex: shard ),到上億用戶,你的客戶已 經不會都是居住在同一地了,光解決 data locality 都是個大問題了,更不用講怎麼 deploy service

台灣目前有超過百萬用戶的服務,大概就是 Yahoo、無名、痞客幫、PCHome,這四間了,除了這四間外, 很少公司會有經營百萬人服務的經驗,問題是,台灣喊著要做雲端運算的,都不是這四間,而是剩下來沒有 經營網路服務經驗的公司。

為什麼這經驗很重要呢?因為,一個新架構的好壞,只有經過實際的流量摧殘才能知道,在這之前,一切只 是工程師們用腦補的假設而已,腦補的假設越多,系統上線後要修改的地方越多,至於沒做過百萬人服務的 工程師要怎麼用腦補來假設上億人服務的狀況,那就不是我能想像的了。

美國最大的 Hosting Company DreamHost 的創辦人 Sage Weil,在幾年前回去念博士,發展了 Ceph 這套 distributed file system ,人家想要研究資料時,只要回 DreamHost 回去挖一挖 log 就 有用不完的資料了,至於要驗證就更簡單了,只要把 5% 的用戶放到新架構上,就有用不完的資料可以用來 發掘新架構的缺陷。

這一點,是美國現有網路公司在跨足雲端服務的極大優勢;台灣的雲端廠商,如XX電信、XX研院、XX勢,跟本無 法彌補這中間的差距,記得在某場 CloudTW 的會議中,某家台廠在展視他們的雲端 OS 時, 葉博士 問了一 個問題就把這個雲端OS擊沉了,該雲端平台只能該台廠所提供的客制化OS,所有的系統 library 都是經過修改 ,不能自行更換的,於是 葉博士 就問,「要是今天 PHP X.Y.Z 有個 security hole 那麼,他能不能 自行補洞,還是要等台廠把整個環境更新才可把洞補上?」

現實( physical) 的環境沒有優勢,在經營網路服務上,更是落後國外數十年,沒有人材、經驗上的優勢, 這也就是為什麼 雲端產業在台灣行不通 的原因。