作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化暨分散式安全防護技術方案的介紹與推廣。

前面都談了六篇,最後用一整篇網誌來做結尾也是很合理的吧(爽朗)。目前在我們和客戶進行討論時,常還會聽到一些聲音,像是為什麼一定要用容器?容器不是用在開發環境而已嗎,生產環境應該還是用虛機啊?而如果要部署容器的話,裝docker就好啦,為什麼要裝Kubernetes,等等這些問題。

首先,以我們身為IT架構師與管理者的角色來說,要不要用container架構其實不是Infrastructure Team能夠決定的。container / CaaS等等架構的使用,是基於業務應用開發、維護、遞送形式的改變。如同當應用從傳統的終端機模式改為Client / Server的時候,原本採用大型主機的系統就逐漸走向Open,變成Unix實體機或更進一步x86虛擬化的架構。而開發團隊要採用雲原生應用的架構編寫應用時,原本基於作業系統的虛機 / 實體機方式就太過臃腫與不易維護,採用container是很自然的選擇。我們並不是在說基於開放作業系統的實體機 / 虛機會消失,就如同現在許多銀行都還有在使用大型主機一般,虛機也仍然會持續存在很長的時間。但新的業務、新的應用會逐步開始以微服務的方式進行開發,趨勢是很明顯的。

想像一下十年前,當時大家對於生產環境內要用虛擬機仍有非常多的疑慮,但開發團隊在自己的電腦裝個VMware Workstation / Player是很常見的,一些應用開發就直接在自己桌機或筆電上的虛機進行。但當這些應用編譯測試完成,真的要上線時呢?

有很多點需要思考。生產環境內除了能夠讓應用正常執行,還需要考慮到效能是否符合需求、失效時可否快速回復、安全機制是否遵循規範、更新與換版應該要如何執行、管理是否方便。VMware之所以能夠大幅度地將原本資料中心內的實體架構汰換為虛擬化架構,是因為透過vCenter / vSphere以及對應的管理與維護功能,在不同客戶的環境內證明符合上述生產環境的需求,很多地方甚至比原本的實體機表現更好。

那當這一天來臨:開發團隊已經利用容器的方式來進行服務開發,直接提供不同微服務的docker image要求部署。以企業來說,這個服務要放在哪裡呢?

公有雲是一個選項。AWS的Elastic Container Service、GCP的Google Kubernetes Engine、微軟的Azure Container Service。在這些平台上要進行新應用的開發是非常簡易快速的。但上生產環境是另一回事:或許精算後成本太高、企業的重要營運秘密與客戶資料不能放到公有雲上、Service Level還無法達到需求,等等。

所以要規劃放在自己的資料中心內。那此時,大家會只裝台Linux,上面裝個docker,就當作生產環境了嗎?不會吧。就像我們前幾篇問大家的一樣:生產環境裡的虛擬化架構不會只有單台vSphere。大家會規劃幾台x86伺服器,內接 / 外接儲存,負載平衡機制考量,網路與安全配置的規劃,用vCenter / vSphere進行管理,還會搭配像vRealize Operations來進行告警與儀表板。同樣地,跑容器時,也是如此。

所以一個能跑容器的生產架構是必須的。底層是docker,CaaS架構採用Kubernetes。但在K8S底層,為什麼我們應該選用NSX-T來提供這個環境的網路及安全方案?為什麼不用Flannel、OVS Network、Weave Net等等其他的選項呢?而且,為什麼容器還是要跑在虛擬化架構裡呢,用實體機不是挺好嗎

  • 因為在私有雲內,企業需要最高等級的安全防護機制來保護應用,即便是採用容器的形式。不然用公有雲就挺好的啊?但在K8S架構內,絕大部分其他的方案,都還無法支援,或沒有簡易的方式來進行安全防護
  • 因為是企業自行進行維運,所以我們需要一個容易管理、具備完善除錯工具的網路環境,提供高Service-Level的容器環境。
  • 因為在私有雲內不僅僅只有容器,還有之前已經在運作的虛擬環境。企業需要一個共通、完整支援虛機及容器等不同架構、網路及安全Team能夠集中管理的統合方案。
  • 因為企業的環境已經有虛擬化架構的資源池了,而且有維運嫻熟的虛擬化管理者,要在上面起幾台Linux虛機跑K8S+Container是彈指間的事,要隨時擴充幾個Linux Node加大容器資源池也馬上提供。蛤你還要建個獨立環境,買新實體機接SAN Storage拉網路線接監控機制裝Linux裝Driver?每次擴充都打算買新伺服器找機櫃空間重新來一次?
  • 因為企業的自有生產環境內需要有強大原廠的產品與服務團隊的支持能力,而不是出問題的時候自己去Open-Source的論壇詢問

以上是我們對於NSX在Kubernetes架構上方案的介紹與討論。VMware在後續容器架構的支援上有相當多的團隊在進行相關的方案開發,包含這系列談到的NSX-T網路與安全搭配,與Google / Pivotal合作的Pivotal Container Service (PKS),以及相關在雲自動化平台對於容器的支援。在企業自有資料中心逐步轉往新應用架構的路程上,相信VMware能持續成為大家重要的夥伴。