從Netflix的容器之路,提煉出四個關鍵點
大型企業的IT運營很難轉型。但若IT運營模式無法跟上業務創新升級需求的腳步,企業應用就會走入一個非常糟糕的境地。
互聯網視頻公司Netflix是利用公有雲支撐廣泛業務的一個典型例子。Netflix的大部分應用程序都主要運行在虛擬機中,但該公司最近開啟了一段新的旅程,將容器作為其基礎設施中的一個選項。這裡有四條經驗可以借鑒。
1、管理方法
Netflix是一個自下而上的組織。管理方法驅動了他們的許多容器編排設計決策。運營並沒有規定什麼應用程序必須進入容器——這仍然取決於各個應用程序團隊,確定它們的哪些服務進入容器,哪些應用程序保留在虛擬機中。
在考慮容器策略時,企業應該從管理方法開始。我見過許多組織部署了原生雲技術,但很少使用。最主要的挑戰是企業文化。要麼沒有採用這項技術的動機,要麼沒有發起強制採用。在Netflix的案例中,容器團隊的動機來自於為他們的應用程序社區提供價值。
2、Kubernetes VS Titus
Netflix在一份白皮書中記錄了他們的容器之路。在大規模上運行容器需要編配,而Netflix在Kubernetes開放源碼項目開始時就開始了他們的旅程。Netflix必須決定是否會構建自己的編排平台,還是採用現有的平台。
Netflix選擇構建一個名為Titus的專用容器編排平台。雖然Netflix聲稱大多數組織都希望在新的容器平台(如Kubernetes)上編寫綠地模式(greenfield)應用程序,但其團隊也希望考慮現有的應用程序。因此,Netflix選擇在Mesophere之上構建他們的Titus容器管理系統。
今天,Kubernetes廣泛支持棕地(brownfield)應用。例如,Docker Swarm現在將Kubernetes集成到了Swarm集群中。另外,運營團隊可以將遺留應用程序部署到Docker容器中,並將容器部署到Kubernetes集群。
3、容器網路
組織必須考慮到容器網路。在組織設計遺留應用程序之間的應用程序交互時,網路尤其重要。Netflix的Titus支持容器到容器的網路,以節省IP地址空間。該解決方案還允許將容器直接放置在現有應用程序的可路由網路地址空間中。
企業容器部署中的一種常見方法是採用網路覆蓋。每個主要網路供應商,如VMware、思科、Extreme Networks和Big Switch都提供了Kubernetes容器支持。每個解決方案都插入Kubernetes,以提供覆蓋支持和安全支持。應用程序可以使用本地的Kubernetes網路API來控制安全策略。
4、公有雲
Netflix是亞馬遜網路服務(AWS)的一個非常大的客戶。儘管,AWS身份和訪問管理(IAM)的集成證明了運營上的挑戰。在Titus上,Netflix創建了一個代理服務,使遺留應用程序保持不變。Titus利用IAM任務使單個Titus節點能夠對在節點上運行的容器採用IAM任務。作為工作負載的一部分,Titus必須考慮到IAM安全性。
另一個考慮是利用EC2實例作為容器主機。在採用容器之前,Netflix受到了EC2的低效率的挑戰。通過在一個EC2實例中放置多個工作負載,容器允許Netflix將EC2實例分割成更小的單元。結果,Netflix的效率提高了。
※斐訊攜手思科建設數據中心 驅動區塊鏈業務落地
※數10億TB數據如何存儲在一小瓶液體中?
TAG:IT168企業級 |