我為什麼選擇使用容器?

【摘要】小編主要介紹了自己選擇使用容器的6個主要原因,這也是容器為我們的工作帶來的一些好處。

我使用容器已經將近三年,最初在一個技術支持團隊工作,主要是幫助客戶解決應用程序中的問題,並提供一些有關運行容器最佳做法的建議。如今我在的團隊,做的主要是容器開發並在我們自己的OpenShift環境中使用,由於我的技術支持背景,我的故障排除技巧能幫助我完成這項工作。

我使用容器運行我的大部分任務,這讓我的工作變得比較輕鬆。我可以在容器中運行任何軟體,無論是用於評估或者用於我自己的網站。一個事實是:容器在很多公司中變得越來越普遍。Google的數據中心每天可以不停地運轉數千個容器,Netflix每周可以啟動超過100萬個容器,而許多其他公司(無論是小型還是大型)都在生產中使用容器來實現新的可擴展性。 考慮到這一點,我想列出我開始使用容器的六個主要原因。

Advertisements

  • 容器簡單

在我的工作中,我一直認為KISS原則是最棒的,那為什麼不使用簡單的工具來改善我的工作?我說容器很簡單,因為我只需要用兩個或三個命令就可以在我的機器上運行一個操作系統以及整個軟體棧。由於這種簡單性,我可以節省大量運行容器的時間和精力,而不是花時間在創建虛擬機、安裝操作系統和安裝軟體。這樣,我就可以專註於重要的事情。

  • 容器輕量

容器的好處是它們直接運行在操作系統(Linux)層之上,而中間沒有hypervisor層。這使得容器比虛擬機使用的資源更少,我可以在相同的硬體資源上啟動更多的容器。

另一方面,容器使用的存儲空間也比虛擬機少,這更有吸引力。舉個例子,RHEL 7鏡像大小是193MB,還有一個替代的RHEL版本(我們稱之為RHEL Atomic),大小小於80MB。由於鏡像大小的原因,容器啟動的引導時間少於任何傳統運行操作系統的方式。雖然在虛擬機或裸機上安裝RHEL的啟動時間大約是1分鐘,但在容器內部運行的時間可能不超過15秒。

Advertisements

  • 容器具有可移植性(不止是 "可以運行在我的機器")

容器是不可變的,這項功能對我來說特別重要。它保證了在我機器上運行的容器能以相同的方式運行在任何一台機器上。不會再有類似「它在我的機器上可以工作」這樣的借口。使用容器可以避免這種情況,甚至可以運行在像AWS,IBM Bluemix,Google Cloud Platform,以及Azure這樣的雲端供應商上,並且獲得相同的行為。

  • 大型社區支持

想想你要使用容器運行的軟體,我敢確定如果你找不到所需軟體的鏡像,那麼很快會有人創建它,並在任何存儲庫中推出。大多數公司正在為他們的軟體創建容器鏡像用以支持在容器上運行,你可以使用這些鏡像來創建自己的配置。此外,還有很多有關容器的書籍(包括付費和免費的),這些書籍會教你如何開發,運行容器並且使其更加安全。

  • 容器是可擴展的

你找到一個可以運行的鏡像,但是鏡像中缺少你需要的特殊配置或者一些軟體。使用容器,你可以擴展現存的鏡像,在容器中加入你需要的東西,然後根據你自己的需求製作一個更適合的鏡像。這樣,準備操作系統運行軟體的時間遠遠少於任何其他方法。即使使用DevOps工具,如Puppet,Chef或者其他,準備運行軟體環境的時間甚至超過運行一個新的容器。

  • 容器為雲就緒

雲計算是下一代計算,你可以按需在你的環境中添加資源,並收集有關它們的運行指標。容器在設計中將所有這些要求以及更多的內容帶入雲計算,因為它們在出現任何問題時很容易進行更換。你不必為丟失一個容器而擔心,因為最先進的雲計算架構已經為你管理容器,並啟動了一個新的容器來替代沒有響應的容器。

Advertisements

你可能會喜歡