由Docker引領先鋒,容器在過去的一年里得到了飛速發展。容器技術提供了組件化環境,幫助應用在云之間輕松遷移而無需顯著的返工。當談到構建云以及非云的應用時,容器的戰斗口號是可移植性和簡單性。
隨著容器在企業持續獲得發展,廠商將增加新的功能讓用戶可以創建可擴展的基于容器的環境,這些功能很大程度上都集中于容器編排上。
容器編排工具提供調度和集群的技術,提供用于基于容器應用可擴展性的基本機制。這些工具使用容器服務,并編排他們以決定容器之間如何進行交互。此外,編排允許容器可以存在并執行在集群上,這使得他們能夠擴展來適應增加的處理負荷。
兩種流行的容器編排工具選擇
容器編排的第一步是選擇正確的工具,而大多數組織都會從兩個主要的選擇中進行挑選:
Docker Swarm:一個來自Docker的容器編排工具,提供集群,調度和集成的能力。幫助開發人員構建和發布多容器和多主機的分布式應用,同時提供基于容器的系統所需的擴展和管理。Swarm旨在同Google Kubernetes競爭,后者的市場份額更大。
Google Kubernetes:一個開源的容器集群管理器,同Docker Swarm很象。Kubernetes可以橫跨一組節點實例來調度任意數量的容器副本。因此,該工具的容器復制和分布模型通常足夠能夠擴展大多數大型的基于容器的應用。其它工具也是采用類似的方式來擴展容器。
Swarm和Kubernetes都可以考慮用來大規模擴展容器,對這兩個工具分別使用真實的工作負載來做概念驗證。
應用架構和測試也很關鍵
容器編排的第二個最佳做法是花時間在你的應用架構上。許多組織在基于容器的開發過程中都很趕,尤其在編排工具移除了一些底層的復雜度后。但是仔細考慮如何在容器間劃分應用可以讓編排工具便于管理是很值得的一件事情。
打個比方,如果容器太細粒度,容器服務將過于分散和復雜。但是如果容器粒度太粗,本身也會太復雜。根據他們的應用需求,企業需要找到一個平衡點。
最后,測試和正確的操作容器編排。最終,你必須給用戶一些可以正確工作的東西并提供接近100%的運行時間。執行組件和回歸測試,性能測試和基于安全原因的滲透測試。
然后,確保容器和容器集群給與管理員正確的管理和監控能力。以零宕機時間或連續作業為目標作為生產力的標準。這讓你可以在不中斷用戶服務的同時更新容器。
容器編排相對還較新。大多數最佳實踐已經在其它領域被證實,那些可能滿足也可能沒有滿足你的需求,但不要陷入天花亂墜的宣傳中。了解容器真正的功能以及如何能在你的企業中最好的使用他們。