天天看點

Docker應用設計四大關鍵

docker已經壟斷了容器技術。設計應用時注意考慮便攜性能夠幫助企業利用容器技術能提供的所有優勢。

随着docker應用和容器越來越流行,很多公司都開始将容器技術作為其雲運維系統和應用打包的基礎。業務喜歡容器系統勝過虛拟機,因為容器能夠提供可擴充性、便攜性和高效性。和虛拟機不一樣,多個容器能夠運作在同一個核心的宿主os上,是以額外消耗更少,性能更優。

docker為容器内的應用提供環境,該環境在平台間可移動。docker是很流行的選擇,因為其簡化了應用程式部署和管理。基于其開源設計,開發人員能夠為其業務特定的獨特需求貢獻特性。docker的一大優勢是它是廣泛使用的容器管理系統;是以,有大量可用的支援資源。

要為docker和容器優化應用設計,需要遵守如下四點。

考慮業務和應用目标

容器介于獨占伺服器和虛拟機之間。它提供高于作業系統(os)的隔離性,但是不及虛拟機。确定使用容器的目标,以及期望得到什麼結果。這個問題的答案決定了docker應用如何設計。

使用容器的最佳理由是建構和公有雲服務混合的私有雲。容器在運維實踐方面幫助統一了混合雲;當有統一os平台時,混合容器表現最好。因為所有容器都在相同核心上運作,確定os是一緻的,進而避免不相容。為容器應序使用比對os版本的中間件服務。如果在不同os上運作docker應用,最好将它們當做獨立的docker社群。

采用集合的觀念

當應用及其相關元件是在同一台伺服器上建構,移動和擴充時,docker能夠發揮最大的效用。通過将應用群組件打包進一個應用程式特定的容器,使用者可以受益于docker這方面的優勢。

打包應用以及所需元件的關鍵是了解元件工作流。通過研究元件間的工作找到最為自然的元件組的劃分,并且确定哪裡的互動最頻繁。

知道容器的名字

docker給每個容器配置設定了自己的命名空間和檔案系統。確定其他流程能夠通路這一功能以及共享資料。網絡連接配接性是其中一方面,但是其他方面控制所有應用目錄,包括域名系統(dns)。

思考這些處于獨立子網裡的元件和微服務,就像一系列運作着docker容器的伺服器。使用者需要管理代表這些伺服器的url,也需要管理docker容器。如果使用docker和soa/soap,要確定在部署或者移動單個或多個容器時更新了服務目錄。

建立連接配接

雲容器互相內建,通常都包含非容器化的應用元件。docker花了很多力氣去管理容器部署,但是還不太擅長管理工作流內建。當選擇使用容器時,找出容器能夠提供了什麼,并且確定能夠滿足自己的需求。docker新使用者會遇到的最常見的問題是docker應用通路不了internet或者企業網絡。docker能夠輔助遠距離的連結,但是使用者得自己建立連結。

docker在確定容器相容性方面真的很有用。不幸的是,當內建跨雲容器的工作流時無法保證相容性。大部分工作流是通過目錄功能,比如dns內建的。當部署或者移動容器時要確定去更新這些目錄。

本文轉自d1net(轉載)