2012年5月6日 星期日

網路虛擬化公司Nicira:描繪未來的網路世界

http://wired.tw/2012/05/03/nicira-2/index.html
http://wired.tw/2012/05/04/nicira/index.html

Martin Casado站起來,伸手從桌上的筆記本撕下一張紙,筆記本的主人是Casado在Nicira的同事Alan Cohen,而Nicira是矽谷最令人感到新奇的新創公司。從Casado撕完紙到坐下來的這段時間裡,Cohen一直在講話。
Cohen熟諳說話的藝術,他曾在Cisco這間網路硬體銷售量超過世界上任何人的公司,作了六年的銷售主管。現在,Cohen推薦Nicira:「我們已經創造了新的類別,我們是一間網路虛擬化公司(network virtualization company)。」
Nicira想要把網路硬體的核心移向軟體,讓Cisco變得無足輕重。在Cohen進行相關的簡短促銷說明時,Nicira的科技長(chief technology officer)Casado正安靜地在紙上塗塗寫寫。他一面列清單,一面畫圖,並把清單內容跟圖像連在一起,讓紙上的東西看起來好像是某種詳細的流程 圖。
原來,Casado在紙上塗寫,是在擬訂他等一下要告訴我們的內容:這間快要五歲的公司的出身和Nicira的高尚目標。他說:「我拼湊出了一個故事。我的思考方式一向都很直接。」這就是他的作風,不過這並不能充分說明他的腦袋的運作方式。
Scott Shenker是物理博士、美國加州大學柏克萊分校(UC Berkeley)的資工系教授,也是前全錄帕羅奧多研究中心(Xerox PARC,Palo Alto Research Center, Inc.)的研究人員,他跟Casado在過去的幾年內,針對Nicira正嘗試解決的網路問題方面合作密切。Shenker說:「Martin Casado是個令人靠杯驚訝的傢伙!我這輩子看過很多聰明的人,但是不管從哪方面來看,Casado的表現都是超人一等。」
藉著類似透過紙筆來擬訂故事的方法,Casado已經擬訂好網路世界的新未來。Casado、Nicira全體員工和一小群電腦科學家,正在探索只 以軟體方式存在的新型電腦網路,一種可以讓使用者不受實體交換器(switch)和路由器(router)限制、獨立控制的網路。透過這個看似矛盾的安 排,Casado等人的目標是讓建造、修改及重新建造網路變成一件非常簡單的事。他們所設計的網路不但可以運行目前網路上最大的服務,還可以做很多其他的 事。
簡而言之,Martin Casado夢想一個世界,在那個世界裡網路跟電腦一樣,可以讓使用者任意編寫程序。
Casado說:「任何人都可以買一堆電腦、安裝一堆軟體工程(software engineers)應用程式在電腦上,然後製作很棒的東西。我認為使用者應該可以用同樣的方式來使用網路。我們創造了一個網路架構(network architecture),讓使用者擁有跟使用電腦一樣的彈性,而且這個架構可以在任何網路硬體上使用。」換言之,不管使用者的硬體是來自Cisco、 HP、Juniper或是台灣那些大部分的人都沒聽過的製造商,都不影響這個網路架構的運作。透過Nicira的平台,硬體只剩下移動網路封包 (network packet)的功能,而軟體則負責其他複雜的工作。
Casado正如火如荼地著手徹底改造整個世界的網路。一進Nicira的網站,就會看到採用Nicira平台的客戶包括了AT&T、 eBay、日本通訊公司NTT(日本電信電話株式會社)、商業巨擘Fidelity和Rackspace(位於德州的設備供應商,目前在雲端運算的競爭中 緊跟在Amazon之後)。不過Nicira的影響並不僅止於此, Casado表示某些網路上非常有名的公司也已經採用Nicira的平台。雖然Casado沒有明確地列出名單,但是我們都知道他指的是哪些公司。
Casado說:「剛開始的時候,我們以為自己只是某間微不足道的家庭式工廠(cottage industry)。不過後來有幾間大型網路公司聯絡我們,告訴我們它們已經在進行非常類似的專案,希望跟我們合作。這就是讓我們知道自己處在領先地位的原因之一。」
因為現今的硬體網路是非常荒謬地難以更動,所以Nicira的平台對這些公司來說非常吸引人。Yahoo科技長Raymie Stata曾把複雜的電腦網路比喻為數字推盤遊戲(15-puzzle game)。這款經典的益智遊戲(mind-bender),玩家必須在一個只容16片板子的方形框架內將15片能夠滑動的板子移動到定位。Stata表示,當使用者變更網路時,經常會遇到一定要把硬體本身重新安排的情況。
在網路虛擬化的前提之下,Nicira讓使用者可以不需要動到硬體,就可以在軟體上變更網路。Rackspace的科技長John Engates表示:「Nicira做的就是把交換器和路由器的功能搬到軟體裡面,如此一來交換器要做的事就變得很少。Nicira把權力放在雲端架構師 (cloud architect)的手上,而不是把權力放在網路架構師(network architect)的手中。」Rackspace從2009年開始就跟Nicira合作,目前正使用Nicira的平台來協助驅動自家的新雲端服務測試 版。
最安全的網路所面對的問題
Martin Casado曾任職於美國情報單位(intelligence agency)。他當然不能指明是哪個單位,不過他表示自己在那邊接觸到了世界上最安全的電腦網路。Casado表示,但這樣的網路並非十全十美,由於建 造這些嚴密的網路是非常艱鉅的任務,所以如果你想變更任何東西,就必須從頭開始打造一個新的網路。
Casado說:「當時讓我感到最震驚的是,市場力量(market forces)居然完全沒辦法提供政府單位可以使用的網路設備。就算政府單位的口袋這麼深,還是沒辦法買到它們想買的東西。確保這些網路的安全性非常非常 地困難,一旦你辦到的話,你還必須面對恐怖的管理夢魘。舉例來說,只是移動一台電腦,就意味著你必須進行八種不同的組態(configuration)變 更。你沒辦法移動任何東西,你不能碰任何東西,除非你想要讓一大堆人跟你一起做這件事。」
Shenker表示,即使使用者買了網路硬體,也不能完全自由地去重新編寫相關程序。使用者必須把想要寫的指令直接寫進交換器或路由器裡。假設使用者買了Cisco的路由器,路由器會附帶能夠支援的協定(protocol),這些附帶的協定就是使用者唯一可以執行的東西。
Shenker表示使用Nicira的平台有非常充分的理由。他解釋:「假設你從某間公司買了交換器,而且你也預期這些交換器可以正常運作。即便如 此,網路公司還是不會想要給你權限進入這些交換器,免得當你做某些事讓網路壞掉的時候,還要收拾你造成的狀況。」不過對於Casado曾經任職過的情報單 位,或是Google和Amazon之類的網路大公司來說,由於這些組織不斷地擴大網路設計的規模,所以硬體的限制會給它們帶來很多困擾。
2005年的時候,Google曾經動手建造自家的網路硬體。Google之所以這麼做的原因之一,就是因為它需要能夠掌控硬體的運作。JR Rivers是參與Google原始網路硬體設計的眾多工程師之一。他說:「當Google檢視自家的網路時,工程師需要用寬頻網路來連結各個伺服器,而 且工程師希望能夠大範圍地掌控所有東西。跟那些傳統的企業網路供應商打交道,是沒辦法做到這樣的程度,因為成本太高,而且他們的系統太封閉,以致於不能在 大規模的網路架構下控制自如。」
Martin Casado在2003年的時候辭去他在政府單位的工作,然後到位在矽谷、促生了Google的美國史丹佛大學(Stanford University)研究所唸書,他打算打造新類型的網路,一個對大家來說不再是夢魘的網路。Casado回憶道:「由於體會到網路流量增加的時候,網 路就會塞住的狀況,所以當我在史丹佛大學唸書的時候,我的研究題目就是研究怎麼做一個不會塞車的網路。我們希望網路可以很有彈性,最好跟電腦一樣可以讓使 用者任意編寫程序。」
麵條式代碼(spaghetti code)的末日
在史丹佛大學的時候,Casado的指導教授是Nick McKeown。McKeown是史丹佛大學的教授,也是曾經在HP Labs和Cisco工作過的網路研究人員。在史丹佛大學唸書的時候,Casado認識了Scott Shenker。Shenker是監督國際資訊工程研究所(International Computer Science Institute)的網路團隊的人。McKeown和Shenke共同指導Casado的博士論文(暱稱為Ethane的網路架構)。2007年時,Casado等三人利用Casado的博士論文作為契機,創立了Nicira。
這是被稱為「軟體定義網路(software-defined networking,或是SDN)」行動的開端。連Casado都承認「軟體定義網路」是一個很糟的名稱,不過就像其他科技界的糟糕名稱一樣,很快地這個名稱就被叫開了。
簡單地說,軟體定義網路的目標是創造更好的網路控制方法。Scott Shenker說:「軟體定義網路就是把模組化應用到網路控制上,模組化是每個軟體設計師在睡覺的時候都想做的事。如果程式沒有模組化,它就會像是麵條式 代碼(結構複雜難以理解的程式碼)一樣雜亂。軟體定義網路尋求恰當的軟體抽象概念(abstraction)好讓使用者架構網路控制藍圖,所以這個網路可 以據此不斷改進,然後這個網路就不會變成一堆麵條式代碼。」
參與這個行動的人有Nicira和來自不同學術單位的電腦科學家,他們在OpenFlow這個程式上取得首次的重大突破。OpenFlow是一個遠 端控制網路交換器和路由器的標準方法。Shenker說:「可以把OpenFlow視為某種通用程式語言或是一組可以讓使用者撰寫網路控制程式的指令。有 了OpenFlow,使用者就不用針對每個不同的路由器重寫所有的程式碼。」
以前從來沒有類似OpenFlow的程式存在,而且OpenFlow運作的方式就跟Shenker所說的一樣神奇。所以OpenFlow很快地就擁 有著名的業界追隨者,像是Google、HP、NEC和Ericsson。媒體對OpenFlow推崇備至,認為這是能夠把網路從黑暗時代帶出來的科技。
Casado負責撰寫OpenFlow初版規格(specification),他表示,OpenFlow還是有自己的問題在,除非供應商在他們的硬體裡面加入相關的協定,否則使用者不能在路由器和交換器上任意使用OpenFlow。
Shenker也同意Casado的看法,說:「從業界結構(industry-structure)和業界標準(industry- standard)的角度來看,OpenFlow很重要,因為它定義了詳細的語言讓使用者可以跟交換器溝通。不過從網路架構的角度來看,OpenFlow 一點都不重要。對於網路架構來說更重要的是,使用者如何能夠協調眾多的交換器,以便讓它們可以和諧地一同工作。」
Nicira最終的目標不是尋找一個更好的方法來控制網路硬體,而是創造一個軟體網路架構,讓使用者在不需要更動硬體的情況下建造網路。 Nicira最終的目標是建造虛擬網路。Shenker表示,不管是工作還是玩樂,Casado從不半途而廢 。Shenker說:「Casado是一個超級馬拉松跑者,當他為了跑步而起個大早,他可以一路跑到加州半月灣(Half Moon Bay)那麼遠的地方去。」


超越vSwitch
Nicira常常被拿來跟VMware比較,VMware是另一間源自於史丹佛大學研究的公司。早年的時候,VMware是伺服器虛擬化 (server virtualization)的先驅,而且伺服器虛擬化很快地進行電腦資料中心的改革。伺服器虛擬化讓使用者可以在一台實體伺服器上,運行複數的虛擬伺 服器,這幫助大企業節省了不少錢和空間。現在,Nicira正在對網路進行類似的事。
Casado說:「我們想要將實體網路虛擬化。因為我們現在已經有了虛擬網路層(Network layer),所以使用者可以在上面做任何事。」
VMware長久以來,一直提供虛擬網路交換器作為它們管理程序(hypervisor)的一部份,以提供運行虛擬伺服器的平台。其他像是Xen 和KVM之類的開放式管理程序,也有提供類似的虛擬交換器,不過「vSwitches」的功能有限,使用者不可能真的將虛擬交換器,串連成一個複雜的虛擬 網路。Casado說:「vSwitch是網路虛擬化的必要工具,不過它不能提供虛擬網路給使用者。」
Casado和Nicira所做的是打造一種新型的「vSwitche」,讓使用者可以用這個新型的「vSwitche」組成真正的虛擬網路,而且他們已經完成了相關控制軟體,方便使用者打造網路。
Nicira的虛擬交換器是開放式軟體,被稱之為Open vSwitch,任何人都可以自由取用,而且可以跟OpenFlow並用。Casado對於資料中心在硬體上使用OpenFlow並不那麼熱中,不過對Nicira用來打造虛擬網路的軟體而言,協定是很重要的一部份。
結果就是,使用者不用等硬體供應商採用OpenFlow或任何其他東西,就可以在任何網路硬體之上,利用Nicira的軟體來打造虛擬網路。一旦 Nicira的平台就緒,實體交換器跟路由器的功能就只剩下傳送網路封包而已,虛擬網路會負責其他像是網路流量調控,和網路安全性問題之類的重要工作。
Rackspace的科技長John Engates說:「一旦使用者把交換器虛擬化,就可以做任何想做的事。使用者可以用自己偏好的方式來調控網路流量,也可以在任何時間,重新編寫相關程序。」
VMware表示它們也有提供網路虛擬化的服務,而Cisco等其他公司表示它們也正在發展類似的技術。VMware的科技長Steve Herrod說:「以我們的基礎設施方面來說,『軟體定義網路』是我們非常熱中,而且花了很多心力的部分。」不過Casado和他在Nicira的盟軍, 也是前Cisco主管Alan Cohen,則堅稱對於Nicira正在進行的事,沒有任何公司可以與之匹敵。
虛擬伺服器、虛擬儲存空間和虛擬網路
Nicira的平台對於Rackspace之類的設備供應商來說,特別有用。Rackspace跟隨Amazon的腳步所推出的「基礎設施雲端服務 (infrastructure cloud)」,讓客戶可以隨時存取虛擬伺服器和虛擬儲存空間,這個服務已經被全球成千上萬的開發者和公司所採用,而Nicira所提供的方法,則可以限 制每個使用雲端服務的客戶,使用專屬的虛擬網路,或是複數的專屬虛擬網路。
Rackspace的John Engates說:「我們有成千上萬個客戶,這就代表我們為了滿足客戶,必須提供非常多的網路或是網段(network segments)。Nicira讓我們有能力在一個共通的虛擬網路上安置任何客戶,任何端點(end point)或是任何定位點(location)。」
Yahoo前執行長Raymie Stata承認,Nicira的確改變了基礎設施雲端服務的競爭局面。不過他認為,對於其他的網路服務來說,Nicira的軟體可以做到什麼樣的程度是個 問題。Stata說:「想要提供虛擬私人網路給大量的客戶是個很棘手的問題,而Nicira提供的軟體正好是對症下藥,不過在只有一個客戶使用一個網路的 情況下;即便那個客戶很有錢,Nicira的程式在這種情況下的用處很小。我無法想像Nicira的程式對Facebook之類的客戶來說會很有用。 Facebook是很大的公司,但它只是Nicira網路上的一個客戶而已。」
Casado表示,Stata的意見沒有點到重點。很多網路大公司實際上運行著極度複雜的業務,它們在公司內部所共享的應用程式非常的多,但這些資 源不一定會分享給外部的客戶。Casado說:「有些網路巨擘的業務非常簡單,它們提供一個網站,使用同樣的程式碼,這樣的公司看起來好像不是我們的速配 客戶。不過,任何技術非常純熟的網站,通常都有因應不同需求所打造的各種應用程式,此外不同團隊會進行各種應用程式的測試及開發。上述這些業務都是使用同 一套基礎設施。」
就像John Engates所點出的,在Google之類的公司裡面,私人基礎設施運行的方式,跟Amazon和Rackspace所提供的公用基礎設施 (public infrastructure)服務的運行方式,其實很相似。所有這些公司都已經打造全面性的網路作業系統,大量集中硬體資源於一處,這就是所謂的雲端。 使用者可以在需要的時候,取得虛擬運算處理能力(processing power)和虛擬儲存空間(virtual storage),而且可以將這些虛擬資源移動到不同的實體位置。但是,過去的網路不是這麼有彈性,而且網路也限制著移動資源的容易程度,Nicira剛 好就是補上這失落的一角。
網路操作人員(Network Operator)的末日
世界上最大的網路公司,包括Google在內,以往是直接向台灣和中國的製造商,購買非常便宜的網路設備,而這個狀況已經讓Cisco和 Junipers 陷入了困境。Casado表示,Nicira所提供的虛擬網路平台,可以在任何供應商所提供的硬體上運行,這股潮流只會前進不會後退。Cisco和 Juniper將會變得越來越無足輕重。
是的,Cisco正在打造自家的網路虛擬化工具。而且它已經加入Nicira和其他公司的行列,打造一個給OpenStack(依循Rackspace和Amazon的模式,用來打造基礎設施雲端的開放式平台)運行的網路虛擬化框架(networking virtualization framework)。
在Sun Microsystem被賣給Oracle之前,Lew Tucker是監督Sun Microsystem發展雲端服務的人,現在則是負責Cisco的OpenStack相關計畫。Tucker說:「Cisco是網路公司,而且我們正在 增加雲端服務的比重,不再只是製造交換器和路由器而已。並且確認這些東西可以在Cisco的硬體上順利運作。」
不過Casado認為Cisco和其他大的網路供應商,未來不可能全心全意地投入網路虛擬化的工作。Casado說:「傳統的網路供應商?我不認為 它們願意做這個,因為做這個反而會威脅它們本身的存在。它們會做一些具有部分相同性質的東西,但是它們不可能真的把整個網路虛擬化。它們不可能賣給客戶一 個專案,讓客戶可以在所有類型的硬體上運作。它們在這個領域裡是有一些進展,不過我不認為它們會真的做出什麼東西來。」
不管狀況會如何演變,Casado認為網路硬體退居軟體之後,只是時間早晚的問題而已。
最近,Casado在夏威夷的時候收到一封電子郵件,發信人在某間Nicira服務過的大公司任職。這個人問Casado願不願意見面談一 談,Casado同意了,他以為對方是該公司的高階主管,想要討論兩間公司的合作事宜。結果,那個人其實是一名普通的網路硬體操作人員。這個人已經研究過 關於Nicira的相關訊息,會面的目的是想要確認他會不會在十年內丟掉他的工作。
Casado說:「我不知道該對他說什麼。換個新工作?做些不一樣的事?事實是在十年內,公司不再需要高度專業、高薪的人來對付網路硬體。」