淺談云上應用自動化的發(fā)展趨勢

責任編輯:editor005

2015-03-12 14:39:13

摘自:Haixu個人博客

隨著Docker公司那難以抑制的宏圖壯志的逐漸顯露,其他人關于未來趨勢的聲音也許值得關注。而后者一旦被證明更具成本效益后,基于預定義規(guī)則的跨云自動移植即可開始,所有容器即可跨公有云遷移。

隨著Docker公司那難以抑制的宏圖壯志的逐漸顯露,其他人關于未來趨勢的聲音也許值得關注。

午夜一點,你收到了一封系統(tǒng)自動發(fā)送的來自“應用移植經(jīng)理”的郵件,其中講到量控制程序(它本身也是一個容器化形式的應用)已經(jīng)自動將你的AWS實例遷移到了你的新的Google實例。此外,你所有容器已經(jīng)啟動并運行,原有和企業(yè)數(shù)據(jù)庫的連接也已經(jīng)完成重建,同時所有的安全和管控服務也已經(jīng)重置成功。

這一切都是自動發(fā)生的,甚至在跨云遷移前你自己都不清楚這樣的遷移即將發(fā)生,而這是系統(tǒng)分別對在AWS和Google上運行容器化應用的成本差異進行對比之后,自動作出的決定。而后者一旦被證明更具成本效益后,基于預定義規(guī)則的跨云自動移植即可開始,所有容器即可跨公有云遷移。當然,同樣也可以是跨私有云遷移或者公有云/私有云之前遷移。

當下,這樣的場景也許聽起來更像是科幻小說,但也許不久我們即將具備這種能力。這種能夠?qū)θ萜鬟M行混合和配對、自動跨云遷移,并針對不同云完成本地化工作的可能性,也許會改變我們對云計算的發(fā)展,對公有/私有IAAS和PAAS的一些看法。

發(fā)現(xiàn)新價值

在如下這樣一個數(shù)據(jù)中心中,它具有云編排層(cloud-orchestration layer),能夠支持容器運行、支持容器在線遷移,并能在容器遷移后監(jiān)控其狀態(tài)。使用容器并不算是一件新鮮事,甚至在Docker出現(xiàn)之前人們已經(jīng)在使用各種容器了。但是,“自動資源調(diào)配”和“自動遷移”之前更多仍是停留在概念上,在實際的實踐推廣過程中仍然面臨很多困難。Docker的出現(xiàn)為將概念變?yōu)楝F(xiàn)實提供了更多可能性:

  通過容器層的抽象來降低復雜性

容器屏蔽了對底層基礎設施服務的依賴,降低了和這些平臺打交道的復雜度。容器具有非常明確的定義,即支持應用程序或服務的“小平臺”。

通過自動化,最大化容器的可移植性和容器自身的價值。

通過自動化,我們可以通過腳本實現(xiàn)容器的跨云遷移。這意味著需要重新配置容器間的各種通訊,如不同層級間的通訊,同數(shù)據(jù)服務的通訊。今天,在對應用進行自動化遷移時,效果依然很難盡如人意。事實上,自動化遷移通常需要依賴于很多經(jīng)常變化的外部條件,一旦不再具備這些條件,遷移就會非常困難。盡管這些問題依然存在,但幸運的是,這些問題并非不可解決的。

提供更好的安全和治理服務

通常在許多情況下,安全和治理服務是基于特定平臺并與其綁定,而不是和特定應用程綁定的。通過在容器外圍部署安全和治理服務,而不是在容器內(nèi)部或者應用域(application domain)部署,可以提供更好的移植性,降低遷移操作時的復雜度。

提供更好的分布計算的能力

這主要是因為應用程序容器化之后可以更容易的分到許多不同的域,而這些域中都是各自容器形式存在的應用。這些容器可以以任意數(shù)量運行在不同的云平臺,特別是那些提供最優(yōu)性價比的云平臺。換句話所,就是容器化的應用在分布部署時可以根據(jù)容器對各平臺的利用率進行優(yōu)化。比如說:可以將i/o密集型應用程序更多在部署在裸機上,以提供最佳的性能,將一個計算密集型的應用程序更多部署在可以提供適當?shù)目s放和負載平衡的公有云上,甚至可以將其中一部分有選擇地部署在傳統(tǒng)的硬件和軟件??傊瑧贸绦蚩梢员环指顬閮?yōu)化的組件,而這些組件結合在一起則構成完整的應用程序.

回到現(xiàn)實

雖然可能有其他更好的方式來利用新興的云計算平臺,并且看起來仍有許多障礙需要克服,但器化仍然可說是分布式應用的重大變革。

雖然目前技術確實可以管理機器實例,甚至基于簡單策略和腳本,已經(jīng)可以實現(xiàn)策略驅(qū)動(policy-driven)的自動化跨云的容器遷移,包括自動配置、自動本地化,但當下的自動化和編排技術仍然達不到我們所期望的程度。

此外,Docker推出的時日尚短,關于Docker及其所代表的容器虛擬化的潛力和局限性仍需探索。以之前的容器和分布式推廣經(jīng)驗來看,這項技術可以發(fā)揮最大價值的途徑是提供容器的跨云協(xié)調(diào)(cloud coordination)。是的,能夠成為跨云的標準是一件激動人心事情,但歷史告訴我們,供應商和廠商都傾向于在自己的標準和方向上繼續(xù)前進,以確保自己的市場份額利益。如果出現(xiàn)這種情況,則一切都會變成空談了。

最后的問題。 雖然我們盡力讓事情簡化,隨著時間的過去,使用容器作為平臺的一種抽象意味著應用程序?qū)⒊訌碗s和更分布的方面變化。未來,你有可能發(fā)現(xiàn)你的應用程序運行在很多不同的型號和品牌的云平臺的成百上千的容器中。如此復雜的情況,可能是脆弱并且難以維護的。

考慮到所有的一切,在云上構建應用仍然可能是一個較好的選擇。PaaS和IaaS云仍將提供平臺,甚至提供基礎的開發(fā)能力。然而,隨著Docker 商品化的進展,應用也許會基于容器化的平臺。如果有較大的廠商希望能夠推動容器大規(guī)模推廣、大規(guī)模商用的進程,那將會是有趣的一件事情,因為出于利益的考慮,這也很可能是Docker公司自己的方向。

現(xiàn)在的核心問題:如果自管理/自遷移是容器技術的目標,那么對于企業(yè)應用基于云平臺的組織而言,是否應該重組組織資源以面對新的愿景? 我懷疑大部分組織在云計算的道路并沒有走到強烈需要容器化的程度,目前的云遷移(cloud migration)工作仍需要繼續(xù)發(fā)展。但是要知道,通過自動化、可遷移的實現(xiàn)更好的云應用架構終將是我們的最終目標。

博文地址:https://blog.nicescale.com/yun-shang-ying-yong-zi-dong-hua-de-qu-shi-zi-guan-li-zi-qian-yi-de-rong-qi/

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號