2015年2月28日 星期六

從<國王的皮鞋>領悟Docker貨櫃的經濟效益

古代有一位國王在它的國境裡視察,因為路面崎嶇不平,還有很多碎石頭,刺得國王的腳又痛又麻。

回到了王宮後,他下了一道命令,要將國內所有的道路都鋪上一層牛皮。讓他自己和]全國的人走路不再受刺痛之苦。眾大臣聽了國王的話都一籌莫展,知道這很難。即便殺盡國內所有的牛,也湊不到足夠的牛皮來鋪路,而且花費昂貴。這時,一個聰明的僕人向國王建言:可以試著用牛皮將腳包起來,大王的腳就不會忍受痛苦了。國王聽道而頓悟了,便收回命令,采納了建議,於是,皮鞋就這樣發明了出來了。我想,大家一定都聽說過上述的皮鞋故事了。其解決腳痛不方便的方案有二:第1方案是:將所有道路都鋪上一層牛皮(如VMware),實在不經濟實惠。 第2方案是:用兩片牛皮包住腳,這就是皮鞋(Docker貨櫃)。那麼,你領悟到什麼呢? 至少明顯知道第2方案可帶來可觀的經濟效益。從上述皮鞋故事的比喻,可知道傳統的虛擬化(virtualization)技術就相當於在各道路(實體機器)上鋪一層牛皮(VM, 虛擬機),然後讓國王的腳(App)在牛皮(VM)上走路(執行)。傳統上雲平台采取虛擬化手段來滿足使用者個別的資源需求分配,以及確保其可用性和隔離性。然而無論是KVM還是Xen等Guest OS都很浪費資源又難於管理, 都不如Docker貨櫃(皮鞋)來的更加靈活、快速和節省資源。


回顧半世紀前的船運貨櫃風潮

在半世紀之前,貨櫃發揮了巨大的力量,改變了整個運輸產業,也改變了人們的生活。就如Intel公司總裁葛洛夫(Andrew Grove)曾舉貨櫃為例說道:「短短的十年,實際上只是航運史上一個極短促的時間,造船設計即走向標准化,冷凍運輸船也誕生了,最重要的是貨櫃化作業的興起,這種容許船貨更快速裝卸的技術在航運的生產力上引進了『十倍速』的改變,逆轉了節節升高的成本趨勢,..... 有些港口做了改變,有些雖盡力改革,卻無法做到,許多則堅持抗拒這種潮流,結果,這些新技術引發了全世界貨運港口的重新洗牌,.... 沒有采行新技術的港口(如新加坡及西雅圖)可能被重新規畫,成為購物中心、休閑場所或河岸公寓大廈。」

長榮海運公司總裁 張榮發 先生在其回憶錄上寫道:「為了配合貨櫃化運輸時代的來臨,海運事業的整體運作型態也產生了重大的轉變,無論在海上運送、碼頭作業以及陸運轉接上,都有革命性的改變。陸上拖車運輸業應時而興,扮演極為重要的角色,以貨櫃拖車配合貨櫃船運輸,具有簡化包裝、防止竊盜、加速貨物搬運及便利關務檢驗等優點,使貨櫃運輸作業更加靈活。為了能確實掌握海上及陸上的運送服務質量和效率,就率先於1973年9月成立了長榮運輸公司。」貨櫃的威力是來自於它提供了一致的接口(interface),簡化了運輸業的工具。例如以前,在貨櫃尚未普及之前,在公路上,必須為汽車業而設計特殊的拖車;在港口碼頭,也必須為木材業而設計特殊的卸貨吊車及倉庫等等。這些特殊設計對於運輸管理、港口管理、倉儲管理等都是很麻煩的事。有了貨櫃之後,就出現了專門運貨櫃的輪船,也有專門拖貨櫃的拖車,高速公路的彎曲度也因貨櫃拖車的安全而修正,倉庫的管理也變得很單純。貨櫃不一定帶給汽車業、木材業、玩具業帶來直接的方便,也許反而帶來不方便(如大汽車必須拆解開來才能裝進貨櫃裡)。但是運輸業等獲得好處,所以運輸業會很樂意把貨櫃拱抬起來,促成貨櫃的革命性風潮。將之對應到Docker風潮,可知道Docker貨櫃的效益在於:讓所有雲服務都有一致的操作(operation)界面,包括部署、管理等方式。眾多雲平台就像眾多碼頭一樣,都使用一致的方式來操作貨櫃,例如卸貨器具、拖車等。Docker公司的Scott Johnston曾說道:「你將不再需要使用各項單獨的IT管理工具來分別進行App的管理、部署、監控和擴容等功能操作,在整個企業內這些操作都可得到一致性、統一性。」

docker 潮流下的贏家策略

在許多革命性轉折裡,經常出現貨櫃的身影;它就像幸運草一般,總是帶來許多幸福和財運。現在Docker風起雲湧,再現貨櫃身影,如果開放視野、大力支持它,持續發揮它的潛能和力量,則幸運草就會出現在我們身旁了。由於Docker貨櫃帶來的商機,其最直接的受益者是軟件管理者(或稱維運者),例如軟件測試工具業者、測試人員等。因此在今天,不論您是開發者或是維運者,最好是從維運者的角度、擴大視野來支持它,便能站在制高點上擬訂最佳策略,掌握了需求碎片化的潮流,進而成為新世代的領頭羊。在這新世代裡,除了拿Docker貨櫃來打包微服務(micro-service)來滿足需求碎片之外。我們還要以廣大的視野、創新的思維,將碎片組合出各式各樣、氣象萬千的商業服務。就像飛機設計師一樣,把一群各自<不會飛>的模塊(如輪胎、引擎、機翼、油箱等),以創新模式將它們組合起來,竟然整體就<能飛>上天空了。於是,組合接口(interface)的定義權成為兵家必爭之地,唯有掌握接口才有話語權。