功能表

什麼是 Container?

方塊
主題
DevOps 解決方案

Share this page

Container 是一種作業系統虛擬化的形式。單一 Container 可用於執行從小型微服務或軟體程序到大型應用程式的任何作業。Container 內包含所有必要的執行檔、二進位程式碼、程式庫和組態檔。不過,與伺服器或機器虛擬化方法相比,Container 不包含作業系統映像。這使它們更輕巧、更容易攜帶,而且例行成本也大幅降低。在較大型的應用程式部署中,可將多個 Container 部署為一或多個 Container 叢集。這類叢集可能由 Container Orchestrator 管理,例如 Kubernetes。

Container 的優點

Container 是一種可在多個環境中建置、測試、部署和重新部署應用程式的簡化方式,其範圍從開發人員的本機筆記型電腦到內部部署資料中心,甚至是雲端皆可執行。Container 的優點包括:

  • 例行成本更低
    與傳統或硬體虛擬機器環境相比,Container 所需的系統資源較少,因為 Container 不含作業系統映像。
  • 可攜性更高
    在 Container 中執行的應用程式可輕鬆部署到多個不同的作業系統和硬體平台。
  • 作業更一致
    DevOps 開發維運團隊知道無論應用程式部署在何處,Container 中的應用程式都會執行相同的作業。
  • 效率更高
    Container 可讓應用程式更快速地部署、修補或擴充。
  • 更出色地完成應用程式開發
    Container 支援敏捷和 DevOps 開發維運作業,可加速開發、測試和正式作業週期。

Container 使用案例

組織使用 Container 的常見方式包括:

  • 將現有應用程式「負載平移」至現代化的雲端架構
    有些組織使用 Container 將現有應用程式移轉至更現代化的環境。雖然這種實務做法可提供了作業系統虛擬化的一些基本效益,但卻無法提供以 Container 為基礎的模組化應用程式架構的完整效益。
  • 為 Container 重構現有應用程式
    雖然重構比負載平移移轉更為密集,但它可以充分發揮 Container 環境的完整效益。
  • 開發新的 Container 原生應用程式
    這種方法與重構非常類似,可以充分發揮 Container 的完整效益。
  • 提供更好的微服務架構支援
    使用個別的 Container 建置區塊可以更輕鬆地隔離、部署和擴充分散式應用程式與微服務。
  • 提供 DevOps 開發維運支援以持續整合和部署 ( CI/CD)
    Container 技術支援從相同的 Container 映像簡化建置、測試和部署。
  • 提供更輕鬆的重複工作與工作部署
    部署 Container 以支援一或多個類似的程序,這些程序通常會在背景執行,例如 ETL 功能或批次工作。

Docker 和 Kubernetes 與 Container 有何關聯?

需要 Container 環境的使用者可能聽說過兩種用於建置和管理 Container 的常用工具與平台。它們是 Docker 和 Kubernetes。

Docker 是一種熱門的執行時間環境,用於在容器內建立及建置軟體。它使用 Docker 映像(寫入時複製快照),在從開發到測試和正式作業的多種環境中部署容器化應用程式或軟體。Docker 是以開放式標準和功能為基礎,建置在最常見的作業環境中,包括 Linux 、Microsoft Windows 以及其他內部部署或雲端型基礎架構。

然而、容器化應用程式可能會變得複雜。在正式作業中,許多應用程式可能需要數百到數千個獨立的 Container。在這種情況下,Docker 等 Container 執行時間環境會因為使用其他工具來協調或管理所有運作中的 Container 而受惠。

其中最受歡迎的工具之一是 Kubernetes,它是一種 Container Orchestrator,可辨識多個 Container 執行時間環境,其中包括 Docker。

Kubernetes 可協調多個 Container 的運作,使其彼此協調一致。它管理的領域包括用於容器化應用程式的底層基礎架構資源,例如所需的運算、網路和儲存資源數量。Kubernetes 等協調工具可讓您更輕鬆地自動化和擴充目前正式作業環境中的容器型工作負載。

Container 與虛擬機器 (VM)

人們有時會將 Container 技術與虛擬機器 (VM) 或伺服器虛擬化技術混淆。雖然有一些基本的相似點,但 Container 與 VM 的差異頗大。

虛擬機器在 Hypervisor 環境中執行,其中每個虛擬機器必須在其中包含自己的客體作業系統,以及相關的二進位檔、程式庫和應用程式檔案。這會消耗大量的系統資源和例行成本,尤其是當多個 VM 在同一部實體伺服器上執行時,每部 VM 都有自己的客體作業系統。

相較之下,每個 Container 共用相同的主機作業系統或系統核心,而且大小更小,通常只有 MB 。這通常表示 Container 可能只需幾秒鐘就能啟動(相較於典型 VM 所需的 GB 和分鐘)。

NetApp 和 Container

NetApp 對容器技術充滿信心,並致力開發經得起考驗的工具與創新技術,以便為任何位置的任何應用程式提供和管理持續儲存。開發 Trident 就是其中一個重要例子。Trident 讓容器化應用程式能更輕鬆地隨需使用持續儲存。

我們正積極致力於透過提升軟體開發的速度與敏捷度來加速 DevOps 開發維運。使用諸如儲存設備等基礎架構資源應該很容易。NetApp 致力於透過 Container 管理解決方案和其他幫助應用程式更輕鬆地擴充與跨越各種平台的解決方案來實現這項目標。

組態管理

藉由整合 DevOps 部署傳輸途徑中已有的工具,現在,開發人員、測試、QA 和營運團隊可以將基礎架構資源當成程式碼使用。

Container 解決方案

加速您選擇部署的容器化工作負載。無論是內部部署或雲端環境,NetApp 都能提供全方位的資料管理解決方案。

持續整合及持續交付

NetApp 持續整合及持續交付 (CI/CD) 解決方案可為開發人員提供更優質的體驗,讓您隨時都能可靠地測試及發佈軟體。

Container 和持續儲存

輕鬆隨需。

DevOps 解決方案

全球資料管理和儲存領導廠商的成功案例

將安全通訊變成客戶洞見

Bandwidth 是一家 API 平台供應商,每天傳輸接通數百萬人的語音、簡訊和 911 服務。Bandwidth 的開發人員一直堅持不懈地追求創新,目的就是發展公司平台,加速將新服務推向市場。

Bandwidth 標籤

加速新差旅服務的上市時間

憑藉 NetApp,Despegar 的開發人員可以迅速發布功能與更新,吸引新訪客進入網站,並將其轉化為客戶。開發人員將新應用程式和更新的部署從每週 3 到 5 個增加到每天 300 多個。

Despegar 影像
藍色泡泡

為何 NetApp 是 DevOps 開發維運解決方案的最佳選擇?

DevOps 能滿足典型應用程式開發的一貫需求,讓軟體開發 (Dev) 與 IT 維運 (Ops) 彼此搭配運作,以端點對端點的方式處理從概念發想到正式作業的所有工作,不再只是隔離封閉、各自為政的功能。

NetApp 可以幫助您在內部環境及私有雲和公有雲中,實現順暢且一致的 DevOps 體驗。也就是說,營運部門可以更輕鬆交付自動化基礎架構,開發人員則能在可靠且可預測的環境中更順利、更迅速地進行創新。

繼續閱讀 Container 的相關資訊