Docker在公有云的應用處理能力

大雄45發表於2021-02-09
導讀 “雲”是企業在數字化轉型過程中,繞不開的一個主題。即便有些企業表示,近期不會上雲,也只是不會將業務部署到公有云上。隨著企業舊有軟、硬體系統的更替,也勢必要從傳統資料中心向私有云資料中心進行轉變。這時候想或不想上雲的企業都會面臨業務如何在雲端進行部署的問題。下面就讓我們看一下透過Docker打包後的Web應用在十大公有云上的應用處理能力表現。

Docker在公有云的應用處理能力Docker在公有云的應用處理能力

遭到棄用的Docker與方興未艾的容器

透過今年的公有云調研發現,透過容器技術將舊有或新業務進行打包,並在雲上進行部署,已經成為當前企業關注的熱點。然而在寫稿之前又收到一個訊息,“Kubernetes 中已棄用了 Docker 支援”!在震驚之餘,又感到可以理解,畢竟開源是當前軟體開發的大趨勢,而Docker由開源專案變成公司商標,甚至連鯨魚logo使用也需要授權的狀態,實在與開源軟體的宗旨大相違背。也真是由衷的佩服Docker,明明有很多種活法,但非要活成令人討厭的樣子,既然讓人討厭,就別怪被人踢到一邊了。

即便讓人討厭,也並不妨礙企業在生產環境中,大量使用經典 Kubernetes+ Docker 方案,同時在一些業務場景中也有單獨使用 Docker 的情況。未來即使Docker可能會被拋棄,但是透過容器映象將應用打包,並在雲上進行業務部署的趨勢,並不會因此受到過大影響。畢竟Docker也僅僅是 容器的一種打包應用方式。去掉Docker部分直接對Linux容器進行呼叫,對於未來容器應用部署而言未必是一件壞事。

容器在公有云上的應用能力表現

然而利用容器將應用進行打包後,在公有云平臺上進行部署,是否會對應用處理能力產生過大影響呢?為了瞭解這個問題,至頂網懂雲帝繼續沿用2019年公有云Web應用測試方案,對十大公有云廠商雲主機上部署由Docker打包的Web應用效能同樣進行了測試。

在本次測試中,同樣採用在伺服器端,用ab同時保持50個使用者訪問(ab引數-c 50)並建立1萬連線和間隔數分鐘後再發起同時保持50個使用者訪問並建立10萬連線的方式,對公有云主機上用Docker部署的Web應用透過高併發的方式進行應用處理能測試。並選用Apache AB所提供的請求速率Requests/s結果進行統計。在得出測試結果後,再與去年公有云主機Web應用測試結果相比對,看一下透過Docker映象打包後,Web應用的最大處理能力是否出現下降,對比結果如下:

Docker在公有云的應用處理能力Docker在公有云的應用處理能力

不出所料的是,透過Docker將應用進行打包,在公有云主機上進行部署後,應用處理效能或多或少都會有所下降。但其中下降最嚴重的Azure雲主機,居然從去年的87.97-92.67下降到了37.16-36.83,Web應用效能下降了一倍還不止。這樣的結果就有些難以令人理解了。

此外還有UCloud,Web應用效能非但沒有下降,反而還有大幅度的提升。詢問原因有以下兩點,一是UCloud對雲主機上容器處理效能進行了大幅最佳化,另一個原因是去年是對UCloud雲主機Braodwell的CPU進行的測試,但今年雲主機CPU已經換成了Cascadelake,處理效能也比去年有所增長。

Docker在公有云的應用處理能力Docker在公有云的應用處理能力

不過從橫向對比測試結果來看,即便在今年選擇處理器中,其他家也基本選擇的是最新Cascadelake處理器,但UCloud雲主機的Docker處理效能依然處於最高水平,可見其Docker應用最佳化,確實是卓見成效。

公有云主機Docker部署情況分析

Docker在公有云上部署,應用處理的效能還會有所降低,那麼容器的優勢到底是什麼?舉個我們在雲主機上部署的例子,大家就很容易理解了。

今年雖然受到疫情的影響,但是至頂網的業務卻反而比去年更加飽滿。不然作者也不會在2020跨年的時間,還在辛苦的趕著測試的稿子。今年的公有云測試,也是我們懂雲帝幾個抽空擠時間來完成的。但是和19年進行公有云主機環境搭建時完全不同。那時候,是我催著樂樂同學,找時間搭一下公有云測試環境。而今年是他主動催我來做測試。並不是因為樂樂同學的事情少,而是因為在Docker下搭測試環境實在是太簡單了。

Docker在公有云的應用處理能力Docker在公有云的應用處理能力

某位同學只需要把雲主機建起來之後,把上面這幾行程式碼一貼上,然後就可以催著我做測試了。這也是頭一次讓我見識到搭測試環境比跑測試的時間還短的情況。

由此可知,在如此便捷的應用部署能力面前,少許應用處理效能的損失,就顯得那麼的微不足道了。當然微軟的Azure雲部署應當除外,但我相信Azure也應當會很快將這個問題給解決一下的。

後Docker時期的容器發展

在原定計劃中,還有一項透過Kubernetes對公有云上Docker進行管理的體驗,可惜(xing hao)還沒找到時間進行,就已經傳來“Kubernetes 中已棄用了 Docker 支援”的訊息。於是在2020年的公有云測試中,將不再進行Docker的管理控制能力測試了,但是未來容器的將如何進行發展,我們懂雲帝還是會繼續進行關注。在新的2021年將會邀請一些技術專家一起進行一下座談,好好探討一下Docker模式的未來前景,容器技術未來將如何發展,企業應用要如何才能透過容器更好的將業務進行打包,並在雲端部署。

總而言之,充滿坎坷的2020年已經過去了,在充滿希望的2021年,我們相信萬事皆有可能!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2756894/,如需轉載,請註明出處,否則將追究法律責任。

相關文章