什麼是雲端容器?

雲端容器是包含應用程式的程式碼、其程式庫,以及其在雲端中執行所需之其他相依性的軟體程式碼套件。任何軟體應用程式程式碼都需要稱為程式庫和相依性的其他檔案,才能執行。傳統上,軟體必須以多種格式封裝,才能在不同的環境 (例如 Windows,Linux,Mac 和行動裝置) 中執行。但是,容器將軟體及其所有相依性都封裝到可以在任何地方執行的單一檔案中。在雲端中執行容器可大規模提供額外的彈性和效能優勢。

雲端容器有哪些優勢?

應用程式可以包含數十、數百甚至數千個容器。使用雲端容器,您可以在許多不同的雲端伺服器或執行個體上分散和管理這些容器。雲端容器的作用方式如同其在相同位置一樣。分散式雲端運算應用程式架構具有許多優勢。 

閱讀有關雲端伺服器的內容

簡化應用程式部署

容器具有獨特性,因為可以使用它們將軟體部署到幾乎任何環境中,而無需特別為基礎架構和作業系統綁定軟體。在容器化得到普遍使用之前,應用程式必須與特定程式庫綁定才能在特定平台上執行。這意味著在多個作業系統上部署一個軟體將產生多個軟體版本。只要容器化平台在頂層執行,雲端容器就可讓應用程式在任何基礎架構上執行。現在,您僅需要一個版本的生產級容器。

靈活性

透過雲端容器化,基礎虛擬機器 (VM) 均是雲端執行個體。雲端執行個體提供多種組態,並具有快速啟動、拆除和隨需雲端運算定價。這種可重新設定性意味著可以依據應用程式的需求,按需換入和換出機器。可以透過跨各種雲端執行個體而非個別伺服器的負載平衡容器型應用程式來最佳化資源使用。

閱讀有關負載平衡內容

彈性

雲端容器為應用程式提供更高的可靠性和可用性。在分散式容器化架構中,如果特定的機器產生故障,另一台機器可以快速啟動遺失的容器,從而增強應用程式的彈性。可以更新應用程式中單一容器的新版本,並且應用程式的其他部分具有最少的中斷。這會產生更長的正常執行時間。

可擴展性

在傳統的應用程式生產環境中,應用程式受限於單一伺服器的資源。給定正確的應用程式設計和雲端容器化方法,應用程式的資料處理和輸入/輸出不再受到單一伺服器資源的限制。它們分散在多個機器之間,因此您可以無限地擴展並確保一致的效能和使用者體驗。

 

雲端容器有哪些使用案例?

對於建置或執行容器化應用程式並希望使用雲端運算資源的任何組織,雲端容器都可發揮作用。

微型服務

使用微型服務架構,可以將應用程式分解為執行單一功能的較小獨立元件。該架構引入靈活性,並且鼓勵程式碼重複使用和提高效率。雲端容器可在分散式雲端執行個體網路中執行數百甚至數千個微型服務的大型應用程式。透過在多個執行個體之間共用工作負載,您可以最佳化操作以實現最佳成本,並在機器發生故障時確保服務的連續性。

DevOps

DevOps 是建置,測試和執行軟體應用程式的自動化和管理程序。該程序本身可重複且可版本控制,並且以程式碼形式提供,從而節省開發時間並減少可能產生的手動錯誤數量。容器化和部署程序相類似,並且非常適合傳統 DevOps 程序和工具。雲端容器檔案可版本化,並且支援持續整合/持續部署 (CI/CD) DevOps 實務。

閱讀 DevOps 的相關資訊

閱讀持續整合的相關資訊

混合雲端

您可能需要透過實地和雲端式伺服器執行以容器為基礎的應用程式架構。雲端容器的部署非常適合混合雲端組合。容器服務僅需要在所有電腦上執行正確的網路設定和容器化服務,即可共同執行。

雲端容器如何運作?

雲端容器只是在雲端基礎設施上執行的容器,而不是在本機電腦或資料中心上執行的容器。雲端運算中的容器是映像檔案,其中包含執行軟體所需的一切內容:程式碼、執行期、程式庫、環境變數和組態檔案。映像以層形式建構,從基礎映像 (通常是作業系統的最小化版本) 開始,然後依據容器組態檔案中的指示新增指定的其他層。容器映像的核心特徵之一是它們的不變性:一旦建立,它們就不會變更。可以將映像儲存在容器登錄檔中,並在不同的雲端環境中一致地重複使用它們。

以下概述容器技術的不同方面。

容器執行期

容器執行期負責容器的實際執行。它們管理容器的運行、生命週期和資源隔離。容器在雲端執行個體作業系統的使用者空間中以隔離的程序運作。它們共用主機作業系統,但在彼此之間和與主機保持分離。此隔離可實現高效的資源配置,其中執行期會強制執行限制以避免容器之間的資源爭用。

聯網

可以使用自己的隔離網路堆疊來設定雲端容器,確保在獨立容器中執行的應用程式不會互相干擾。連接埠映射和預先定義的網路通道管理與外部世界和容器之間的通訊。 

儲存

雲端容器通常使用暫時性儲存,這意味著當容器停止時,寫入到容器可寫入層的任何資料都會遺失。可以使用雲端儲存磁碟區進行持久性儲存。這些磁碟區與容器的生命週期獨立,可以在容器之間共用。

協同運作

在大型系統中,協同運作工具將多個容器的部署、擴展和管理自動化。協同運作工具會在雲端伺服器叢集中分散這些容器,平衡負載並管理容錯移轉程序。自動化功能顯著簡化複雜環境中的容器化應用程式管理。可以在混合雲端架構上部署和管理進階、廣泛的容器化應用程式,而無需在每個雲端執行個體上執行操作。不是手動將容器映像檔案傳輸到每個執行個體,而是程式設計協調運作工具,從容器登錄檔中提取映像檔案,並自動將它們部署到雲端執行個體。

雲端容器和雲端執行個體之間有什麼區別?

雲端執行個體是雲端供應商完全管理基礎實體資源的虛擬機器。雲端執行個體的功能類似於實體伺服器,並允許完全設定,因此您可以像實地伺服器一樣使用它們。但是,它們不需要硬體和作業系統管理。雲端執行個體可以快速輕鬆地啟動和卸除。可以在雲端執行個體上部署雲端容器,以執行其分散式雲端型架構應用程式。雲端容器一詞是指在雲端執行個體上執行的容器。

閱讀有關雲端執行個體的內容

閱讀有關容器與虛擬機器之間區別的內容

AWS 如何支援您的雲端容器要求?

當今,近 80% 的雲端容器都在 Amazon Web Services (AWS) 上執行。AWS 容器服務提供許多系統工具,用於管理基礎容器基礎設施,以便您專注於創新和滿足業務需求。

  • AWS Copilot 是一種命令列介面 (CLI),用於在 AWS 上快速啟動和管理容器化應用程式
  • Amazon Elastic Container Service (Amazon ECS) 是一種全受管的容器協同運作服務和係統能夠工具,可用於高效部署、管理和擴展容器化應用程式
  • Amazon Elastic Kubernetes Service (Amazon EKS) 是一項受管 Kubernetes 服務,用於在 AWS 雲端和內部部署資料中心執行 Kubernetes 容器協同運作。
  • Amazon Elastic Container Registry (Amazon ECR) 是全受管的容器登錄檔,可輕鬆管理和存取容器映像與成品
  • AWS Fargate 是用於容器的無伺服器運算引擎,可以用來專注於開發應用程式,而無需管理基礎設施

下圖顯示各層 AWS 容器解決方案的選項:佈建、協同運作和容量。

立即建立帳戶,開始在 AWS 上使用雲端容器。

AWS 上的後續步驟

查看額外的產品相關資源
進一步了解服務導向架構 
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台使用 AWS 進行建置。

登入