隨著企業(yè)上云成為趨勢,如何在本地數(shù)據(jù)中心與公有云之間為應(yīng)用遷移構(gòu)建橋梁,讓大家再次想到了容器。說到容器,很多人會先想到集裝箱,為什么這么說?因為從本質(zhì)來看,容器的打包交付方式與碼頭工人裝箱上船很類似。這樣的好處在于,既節(jié)省了分批搬運的時間,又有效降低了遷移成本。
容器在云時代迸發(fā)活力(圖片來自docker)
從技術(shù)的角度來看,Docker基于沙箱機制可將任何應(yīng)用集成在一個輕量化、可移植、標準化的容器中,核心問題就是利用Linux容器技術(shù)實現(xiàn)類似虛擬機的功能。通常,企業(yè)內(nèi)部對數(shù)據(jù)在本地和云端之間的遷移要求是無縫即時的,而容器要做的就是基于底層提供一個抽象層讓應(yīng)用“隨意交互”。
不過,Docker并不會重寫代碼,只是讓跨平臺部署變得容易了,想具有擴展性還是要由開發(fā)者親自動手。同時,Docker也不是橫跨所有系統(tǒng),畢竟系統(tǒng)層的軟件泊接不是停船裝貨那么簡單。
對于任何一家企業(yè)而言,打包交付的方式都是首選,但遺憾的是現(xiàn)有工具無法在用戶使用容器時提供完全自動化的方案。能力越大,需要注意的點就越多,容器可以將package直接從開發(fā)環(huán)境搬到生產(chǎn)環(huán)境,但在生產(chǎn)環(huán)境仍有要完善的地方。
在編排層面,常見的編排工具包括Kubernetes(谷歌開源工具)、Docker Swarm、Apache Mesos、Rancher等,它們能夠處理復(fù)雜任務(wù),例如查找最優(yōu)運行位置、處理失敗任務(wù)、分享儲存卷或創(chuàng)建負載均衡與容器間通訊的覆蓋網(wǎng)絡(luò)。
據(jù)了解,Kubernetes使用了計算集群部署并管理容器,通過均衡工作負載來維護性能。在集群中運行時,Kubernetes的自復(fù)制性可以從橫向或縱向擴展容器數(shù)量,以滿足多應(yīng)用遷移的需求。
從容器的發(fā)展來看,其在生產(chǎn)環(huán)境、安全性等方面仍有不小的完善空間,要想將整個環(huán)境變得更加成熟,離不開生態(tài)的打造,其中要升級上下游的合作伙伴,包括設(shè)計和制造商。任何一項技術(shù)的普及都不是一帆風(fēng)順的,容器也是如此。