云容器是便攜式數(shù)字隔間,在云端的一個運(yùn)行時環(huán)境中保存著一堆應(yīng)用程序文件。它們與其他技術(shù)容器相同,唯一的區(qū)別在于它們的存放位置。

云容器有什么作用?
云容器旨在虛擬化托管在云上的單個應(yīng)用程序。由于每個容器僅包含一個應(yīng)用程序,DevOps 可以根據(jù)需要調(diào)整各種功能,而不會影響整個應(yīng)用程序。這有助于加速生產(chǎn),從而實(shí)現(xiàn)高效的應(yīng)用程序優(yōu)化和大規(guī)??焖俨渴?。
云容器與虛擬機(jī) (VM) 有何不同?
云容器和VM之間的主要區(qū)別在于各自專用的資源級別。雖然虛擬機(jī)需要完整的操作系統(tǒng)和安裝主機(jī)服務(wù)器硬件的虛擬副本,但云容器不需要。只需最少的資源,云容器仍然可以完成它們的設(shè)計目標(biāo),并且可以比 VM 更快地啟動。
云容器和安全
隨著網(wǎng)絡(luò)攻擊持續(xù)存在以及主要組織看到他們的平臺出現(xiàn)故障,云容器已成為 IT 行業(yè)的熱門話題。因?yàn)樗鼈優(yōu)?IT 基礎(chǔ)設(shè)施提供了一定程度的保護(hù),所以云容器是 DevOps 在云上繼續(xù)其生產(chǎn)環(huán)境而不會將其應(yīng)用程序暴露給黑客攻擊的一種流行方式。這就是為什么經(jīng)歷過中斷的頂級科技公司,如 Facebook 和 Instagram,都在使用它們。

云容器如何工作?
云容器的運(yùn)行方式與傳統(tǒng)容器相同。它們虛擬化底層操作系統(tǒng),并允許容器化應(yīng)用程序運(yùn)行,就好像它們擁有自己的專用操作系統(tǒng)一樣,包括 CPU、內(nèi)存、文件存儲和網(wǎng)絡(luò)連接。從本質(zhì)上講,云容器為每個應(yīng)用程序提供了一個不可變的、輕量級的基礎(chǔ)架構(gòu),該基礎(chǔ)架構(gòu)與其配置、庫要求和依賴項(xiàng)打包在一起。這些一起成為托管在云上的容器鏡像。
這些容器鏡像文件每一個都是完整的、可執(zhí)行的,這是由容器引擎完成的。然而,主機(jī)操作系統(tǒng)限制任何單個容器對其物理資源的訪問,以防止它耗盡所有資源。
IT 團(tuán)隊(duì)使用云容器來部署和運(yùn)行與共享同一操作系統(tǒng)內(nèi)核的其他應(yīng)用程序虛擬隔離的應(yīng)用程序。但是容器本身共享機(jī)器操作系統(tǒng)內(nèi)核,這使得它們的文件很小并且資源較少。這也意味著只需一個單一的操作系統(tǒng)就可以運(yùn)行許多獨(dú)立的容器。事實(shí)上,容器攜帶了它們的所有依賴項(xiàng),無需重新配置即可部署到不同的環(huán)境,例如筆記本電腦、云和本地計算。
云容器的優(yōu)點(diǎn)和缺點(diǎn)是什么?
雖然大多數(shù)組織會受益于使用便攜式、低成本的云容器,但企業(yè)必須仔細(xì)權(quán)衡全面容器化戰(zhàn)略的優(yōu)缺點(diǎn)。

優(yōu)點(diǎn)
- 更高效:無需啟動操作系統(tǒng)或加載庫,它們可以在幾秒鐘內(nèi)啟動。
- 減少開銷:由于它們共享主機(jī)操作系統(tǒng),所有云容器的維護(hù)(例如修補(bǔ)和更新)可以在一次事件中完成,而不是多次。
- 輕量級:隨著所有操作系統(tǒng)元素的虛擬化,包括 CPU、內(nèi)存、文件存儲和網(wǎng)絡(luò)連接,這些容器在云上占用的空間很小。
- 可移植: 因?yàn)樗鼈冊试S IT 團(tuán)隊(duì)從底層基礎(chǔ)架構(gòu)中提取應(yīng)用程序代碼,所以云容器與任何平臺都兼容,并且可以在許多部署環(huán)境中運(yùn)行。
- 提高利用率:由于容器支持微服務(wù)架構(gòu),如果單個應(yīng)用程序組件出現(xiàn)問題,只需擴(kuò)展一個元素來處理其負(fù)載,而不是擴(kuò)展整個單體應(yīng)用程序。
缺點(diǎn)
- 約束:容器必須在每個容器內(nèi)只定義一個操作系統(tǒng),因此它們只能在該特定操作系統(tǒng)上運(yùn)行。
- 管理:當(dāng)組織決定將其 IT 環(huán)境容器化時,這些簡單的容器可以快速加起來成數(shù)百個,這使得管理更新或補(bǔ)丁成為一項(xiàng)復(fù)雜的任務(wù)。它還使可見性變得困難:容器的數(shù)量之多使得查看每個容器中發(fā)生的事情變得具有挑戰(zhàn)性。
- 安全性:雖然云容器提供了一些保護(hù),但它們絕不是牢不可破的。容器內(nèi)的軟件可能存在漏洞,訪問底層操作系統(tǒng)需要 root 權(quán)限,這可能會受到威脅。

云容器如何使用?
有多種方法可以使用云容器。
- 微服務(wù): 當(dāng)應(yīng)用程序由許多獨(dú)立的服務(wù)組成時,容器的大小和重量非常適合將松散關(guān)聯(lián)的服務(wù)收集在一起。
- 現(xiàn)代化: 完成 數(shù)字化轉(zhuǎn)型 通常從某種形式的容器化開始,尤其是在將應(yīng)用程序遷移到云端時。
- 云原生應(yīng)用程序: 由于容器的低開銷/資源占用,它們可以非常緊密地打包在一個操作系統(tǒng)上。這種高密度允許將許多容器托管在一個虛擬機(jī)中,這是 云原生 應(yīng)用程序交付的理想選擇。
- 遷移: 當(dāng)應(yīng)用程序被打包到容器中時,將應(yīng)用程序提升和轉(zhuǎn)移到云中要容易得多,因?yàn)樗鼈兺ǔ?梢栽诓桓娜魏未a的情況下移動。
- 批處理: 隨著組織尋求更高的效率,他們實(shí)施批處理以在無需人工干預(yù)的情況下執(zhí)行活動,使用不需要單獨(dú)環(huán)境或依賴項(xiàng)管理的容器可以使這變得更加容易。
- 機(jī)器學(xué)習(xí):數(shù)據(jù)科學(xué)家可以在單獨(dú)的容器中運(yùn)行單獨(dú)的算法,這使得機(jī)器學(xué)習(xí) 過程 高效且易于擴(kuò)展。
- 混合、多云: 當(dāng)組織結(jié)合自己的數(shù)據(jù)中心跨多個云運(yùn)行時,使用容器最有意義,因?yàn)樗鼈兡軌蛟诟鞣N類型的環(huán)境中一致地運(yùn)行,無論是本地、筆記本電腦還是云。