2013年Pycon中,一場展示Docker Container 5分鐘的閃電秀,引起了全球IT業界的漣漪,IT大廠如紅帽、VMware及微軟紛紛向其靠攏。而為運作Container而生的輕量級OS也紛紛出籠,如VMware的Photon、微軟的Nano Server。
其中,又以Rancher Labs推出了只有22MB大小的Rancher OS引起高度關注。
打造出這款最輕量作業系統的Rancher Labs共同創辦人暨執行長梁勝,過去曾在昇陽電腦擔任首席開發者,帶領研發JVM的團隊。離開昇陽後創立了Cloud.com公司,開發出了曾被視為OpenStack競爭者的CloudStack,連全球最大網站代管業者Go Daddy都採用。後來Citrix買下Cloud.com後,梁勝也成了Citrix雲端平臺技術長。儘管後來OpenStack成功以開源策略站穩腳跟,而CloudStack式微,但梁勝仍沒有打消想要自己打造出企業私有雲平臺產品的企圖。
當Docker出現後,梁勝再度出來創業,快速推出了RancherOS乘上這一波Container技術浪潮,在今年6月更發表了第一款可用Container技術來打造企業私有雲的平臺產品Rancher,可以打造出一個多租戶架構的企業私有Container服務,目前尚處於開放測試階段。12月時Rancher進一步還和老牌資料中心設備商Redapt合推了一款融合式架構產品,讓Rancher可以用於打造出一套通吃Container和VM的平臺。梁勝也在12月初首度來臺,在Container Summit 2015中介紹Rancher最新進展和未來藍圖。
Q 從CloudStack到Rancher Labs,你精確掌握IT趨勢來創業,你如何發掘新的企業需求?
答 我是從自己的創業過程,挖掘到企業的需求。在成立CloudStack之前,我先創辦了一家網路公司Seven,那時經常碰到的問題是,很難預測應用程式所需要的伺服器資源,有時分配得太多,有時則過少,這樣的經驗,讓我了解到AWS EC2服務的重要性。
AWS在建立彈性擴充基礎設施的服務上很有一套,但並不是所有的公司都一定會使用AWS。所以從此角度出發,市場上對於能夠提供一套如CloudStack這類基礎架構平臺產品服務的廠商,存在明確的需求。而現在的趨勢開始轉向提供Container服務,我也看到了市場存在著新興需求。
過去我創立CloudStack是為了提供企業私有雲服務,希望幫助企業、新興網路公司打造出類似於AWS的基礎設施。但是,真正能建構起大規模私有雲運算的私人企業案例並不多。這是因為,以前打造私有雲的作法還是存在許多問題,使得CloudStack後續發展並不是特別成功。直到現在,我認為,透過Container技術才是可以實現企業私有雲的方法。
Q 企業如何透過Container技術實現私有雲?
答 許多企業選擇建構私有雲是為了滿足內部開發的需求,而目前最好的解決方案是VMware的vSphere。不過,我認為Container服務是實現私有雲更好的方式。Container技術具備了兩大特性,能讓企業實現私有雲,第一,Container與上層的應用程式關聯比較密切。第二,Container與底層提供儲存、運算資源基礎設施間的關聯並不是那麼緊密。企業可以更容易在VMware、AWS甚至是裸機這些異質的環境間進行調度Container。
甚至,企業也不應該被自己的私有雲綁死,應該要具備彈性的調度運算資源的能力。未來,企業也可以採取公有雲、私有雲的混合模式,選擇使用外部雲端廠商作為基礎架構,並且透過加密程序,在外部執行網路、儲存等功能。
Container技術是實現企業私有雲更好的方法。——Rancher Labs創辦人暨執行長梁勝
Q 為什麼要推出輕量級作業系統RancherOS?
答 Docker Container引發業界開始使用Container的風潮,使Container管理服務變得更加熱門,涉及的應用層面也越來越廣。這樣的風潮,也提供Container運作的底層基礎架構以及作業系統很多新機會。
Rancher OS本身只有Linux核心加上Docker Daemon,加上網路、日誌紀錄、DHCP及NTP等作業系統的核心功能。
過去的作業系統很複雜,例如所有作業系統都要具備打包功能,將應用程式打包後進行部署,如Red Hat的RPM。但是,在Docker問世後,作業系統的打包功能變得沒那麼重要,因為Docker的目的就是打包應用程式,並且進行部署。
而作業系統背後也有一套完整的支援,負責執行網路、儲存、日誌紀錄及DHCP等系統層面的功能。Rancher OS的特點就是透過Docker,提供使用者系統層面的功能,藉此提高Rancher OS的調度性。另外,Rancehr OS也讓使用者可以Docker包裝應用程式。
Q Rancher OS和其他Container作業系統的差異為何?
答 在所有Container OS中,Rancher OS所占的容量最小的,其他的Container輕量級作業系統仍需要幾百MB的空間。再加上其他廠商開發的作業系統仍須背負較多舊包袱,像是Red Hat的Atomic host,必須支援Red Hat原本的RPM。而Rancher OS的體積小、結構簡單,因此運作的也更快、更安全,也更易於管理。
此外,Rancher OS是針對Docker而設計的作業系統,只要透過Docker Container就可以完成許多事情,像是透過Docker打包作業系統需要的系統層級功能。
Q Rancher瞄準的目標是成為企業架構私有雲的新選擇嗎?
答 沒錯,Rancher是設計給有搭建Container私有雲服務需求的企業。目前業界的研發人員對Container的技術接受度比較高,但是,如果真正要把Container推廣到線上環境還是有許多要克服的挑戰。
例如,底層基礎設施的管理、上層的應用程式與Container的相容性、Container的調度、排程管理 ,或是調度工具Swarm、Kubernetes都必須進行整合。目前具有研發能力的企業可以自行架構私有雲,但是要投入10個人以上的團隊,專門研發內部使用的Container管理系統。而Rancher就是企業等級的Container管理系統,透過Rancher,企業可以管理Container、基礎建設及用戶系統等。而企業部署Rancher後,即可將Container導入線上環境,並且使用Docker打造私有雲。
使用Docker打造的私有雲好處在於,可以在VMware、OpenStack、裸機等不同的基礎設施間進行調度。
甚至,使用公有雲的企業用戶也可以享受Docker的這個優點,即使企業的運算、儲存資源是來自外部雲端廠商,內部的應用程式、Container管理服務、容器服務也還是維持私有的形式,這也是企業可以採取的新架構方式。
Q Container技術能夠取代VM嗎?
答 雖然Container技術與伺服器虛擬化技術功能上有一定的重疊,而這必須端看使用者要拿伺服器虛擬化技術做什麼樣的用途。傳統伺服器虛擬化主要是要打造隔離的環境,讓企業可以在一臺實體伺服器上運作不同作業系統,彼此互不影響。Container技術並不能做到這樣的效果,但是Container的優點在於,可以應用程式打包並且快速地進行部署。過去也有人嘗試將應用程式轉換為OVF格式後進行部署,但是OVF始終沒有成為主流。
大部分資料中心的機器都是使用VM為基礎架構,而目前我看到的狀況是,絕大部分的企業,都還是將Container部署在VM上。
因為Container需要機器才能運作,而VM就是可以提供Container運作的基礎設施,很多人認為它跟實體伺服器沒有什麼差異。此外,美國使用Rancher的用戶,許多人也選擇將它部署在AWS上運行。
不過,如果用戶只使用VM進行環境隔離的話,它的的重要性的確會不如從前,因為無論是採用VMware或是KVM,都可以達到類似的效果。
將VM比喻為OS X、Windows等作業系統,而Container是在作業系統上運作的瀏覽器。如果瀏覽器占的使用比例很高的話,使用者選擇何種作業系統的重要性就不高了。而目前大多人採取將Container在VM上運行的策略,用戶如果只關心在上層運作的應用程式,底層採用任何基礎設施差異也不大。
此外,由於基礎架構需要滿足多用戶、多種作業系統的需求,因為Container是共用作業系統核心,它的隔離機制還不足以滿足基礎架構的需求。所以,我認為,基礎設施還是必須仰賴VM。
Q 設計這套可用於超大規模部署的Rancher時,遇到什麼挑戰?
答 世界企業碰上的問題,絕大多是出自於是否有需求存在,而不是技術是否可行。比方說,筆記型電腦工廠的經營者需要擔心兩種問題,第一,如果這間公司擁有超過世界一半的市占率,要如何生產這麼大量的筆記型電腦。第二,是要如何賣掉目前庫存的電腦,維持工廠的營運。然而,只要市場上對筆記型電腦有需求,如何生產大量電腦的問題,都會迎刃而解。
所以,讓系統擴充規模的技術不是問題,真正的關鍵是是否有大規模叢集或是Container的管理需求。目前全世界包含廣達、Dell等伺服器廠商,1年內所售出實體伺服器數量大概有1,000多萬臺。假設一臺實體伺服器上運作30臺VM,而一個VM上面運行30個Container,總共有數百億個Container,然而,Rancher可能只會管理到其中的幾百萬個Container,對於Facebook這些具有數十億用戶的企業,在實作上才會碰上技術的挑戰。
過去CloudStack最大規模的部署案例,達到4萬臺實體伺服器。按照目前企業對於軟體的標準,Rancher要應付這樣的規模並沒有問題。企業一定有存在需求,目前我最關心的問題是,企業對於Container相關技術的接納度,而目前接納度還未達到一定的程度。像是阿里巴巴、淘寶網都有大規模部署的需求,但是Docker、Kubernetes等技術,還沒有成熟到企業可以輕易採用。例如,使用Docker的人很多,但是都局限在企業開發端,而不是營運端。目前要解決的問題是,如何讓維運團隊開始大規模使用Docker。接下來的問題,才是如何將Docker導入大規模的基礎架構上。新技術有許多優點,但也存在使用門檻高或是不穩定等缺點。如何讓企業開始導入這些技術,是目前我想要解決的難題。
Q OpenStack及VMware是Rancher的競爭對手嗎?
答 由於Container管理服務是新興的事業,Rancher的競爭對手並不明確。如果使用者決定在裸機上運行Rancher,那麼VMware、OpenStack就會是Rancher的競爭對手。但是,Rancher除了在裸機上運作,還可以在VMware或OpenStack等基礎架構上運作,從這個方面來說,Rancher則是他們的合作夥伴。
另外一方面,跟Rancher存在競爭關係的是平臺即服務(PaaS)。傳統PaaS的整合程度比Rancher高,但是靈活度則比較差。許多人認為,Container管理服務架構在VM之上,與上層的應用程式關聯性更高,從這樣的角度切入,Container管理服務比較偏向PaaS。
Q Container雲端服務是IaaS還是PaaS?
答 原本PaaS跟IaaS是壁壘分明的兩種雲端服務層,但用Container技術來建立的雲端服務層,相當於是IaaS層的上端與PaaS層的下端,形成了一個介於基礎架構以及平臺間的交集。由於Container具備網路、儲存以及負載平衡的功能,所以跟IaaS層有重疊的功能。如果使用者在裸機上運作Rancher,可以完全取代掉IaaS層的功能,或是選擇將Rancher安裝在VM或是AWS上,也可以取代部份IaaS層的功能。
過去PaaS只能用於Web應用,透過前端的路由器、負載平衡器發送服務。但是,新一代PaaS將基礎功能,轉讓由Container執行。未來PaaS會走向更上層的應用,整合更多新工具,例如分散式資料庫、大資料技術或大資料分析工具,而這些原本並非PaaS所要執行的功能。
PaaS所蘊含的可能性非常多,目前使用者能透過應用程式完成的目標,以後都可以透過PaaS執行。