有些人對當前技術(shù)新趨勢缺乏了解而感到擔憂和沮喪。行業(yè)專家指出,“一切都與云計算有關(guān)。即使是一些與云計算關(guān)系不大的大型科技公司似乎也致力于將自己的業(yè)務(wù)與云計算聯(lián)系在一起,因為云計算的應(yīng)用已經(jīng)包羅萬象。”
從廣義上講,云計算就是在他人的服務(wù)器上運行或構(gòu)建自己的應(yīng)用程序。但其作用遠不止于此,云計算如今已經(jīng)形成了一個龐大的云計算服務(wù)生態(tài)系統(tǒng),企業(yè)正在使用它來加速各行業(yè)領(lǐng)域的高級應(yīng)用程序的上市時間。因此,調(diào)研機構(gòu)IDC公司預(yù)測,2019年公共云支出將達到驚人的2100億美元,與2018年相比增長24%。
而云計算的成功使這個領(lǐng)域變得混亂。其副作用是,一些人對什么是真正的云計算以及云計算的優(yōu)勢所在一直存在困惑。
云還是非云?
此時,大多數(shù)人都了解云計算的核心優(yōu)勢,從動態(tài)擴展應(yīng)用程序的能力開始。這適用于公共云提供商提供的三種基本云計算風格(IaaS、SaaS和PaaS),所有這些都為企業(yè)提供自助用戶界面,以設(shè)置帳戶,上傳數(shù)據(jù)或代碼,以及配置訂閱的任何服務(wù)。
但是還有一些人對云計算有一些混淆和誤解。在企業(yè)獲得云計算的好處之前,最好消除一些誤解:
私有云:指的是企業(yè)運行自己數(shù)據(jù)中心中的基礎(chǔ)設(shè)施即服務(wù)(IaaS)。任何企業(yè)都可以使本地基礎(chǔ)架設(shè)施像云平臺一樣,具有良好管理的虛擬化和用戶自我配置的能力(通常使用VMware的完整SDDC堆棧)。但這與云計算不同。為什么?因為云計算是一種服務(wù)。企業(yè)不必擔心容量規(guī)劃、電源管理、物理空間,以及運行自己數(shù)據(jù)中心的所有細節(jié),這些事務(wù)都由企業(yè)的云計算提供商處理。企業(yè)需要做的就是啟動帳戶并開始使用。
混合云:其標準定義是集成的兩個云,一個是私有云,一個是公共云,但其集成不能將二者合二為一。這就提到如上所述的問題:沒有私有云這樣的東西……只有一個例外,它只適用于混合模式。目前最重要的三個公共云是AWS、Microsoft Azure、谷歌云平臺,都提供了可以在內(nèi)部部署的完全托管的云實例。
那么為什么要同時支付云計算基礎(chǔ)設(shè)施和托管公共云堆棧的費用?通常,因為企業(yè)希望所有公共云都適合其應(yīng)用程序,但隱私法規(guī)規(guī)定企業(yè)不能將某些敏感數(shù)據(jù)上傳到公共云。如果企業(yè)的混合云的私有實例幾乎與公共云環(huán)境完全相同,那么這與企業(yè)將要獲得的那樣接近“真正的混合”,其中一個云平臺是另一個云平臺的擴展。
最重要的是,當人們談?wù)撛朴嬎銜r,真正談?wù)摰氖枪苍疲篠aaS應(yīng)用程序(來自Salesforce、Microsoft、Oracle、Slack等)或來自云計算三巨頭的IaaS/PaaS產(chǎn)品和其他一些廠商。SaaS只是提供應(yīng)用程序的一種方式。但是,IaaS和PaaS支持企業(yè)軟件開發(fā)的全新應(yīng)用程序架構(gòu)。
云計算原生邊緣
相當一部分公共云支出用于遷移,也就是將現(xiàn)有應(yīng)用程序“提升并轉(zhuǎn)移”到AWS、Azure或谷歌云,以及第二級IaaS提供商(如IBM或Oracle)的公共云中。但在許多情況下,其好處是微乎其微的。除非這些應(yīng)用程序及其業(yè)務(wù)邏輯完美無缺,否則只是在公共云平臺上重復過去的錯誤。
有趣的是,當企業(yè)在公共IaaS平臺上構(gòu)建云原生應(yīng)用程序時(現(xiàn)在包括PaaS、內(nèi)部部署和第三方)。云原生應(yīng)用程序是使用內(nèi)置于IaaS平臺中的服務(wù)以現(xiàn)代風格從頭開始構(gòu)建的。這至少意味著:
微服務(wù)架構(gòu):微服務(wù)是一種獨立的、單用途的微型應(yīng)用程序,主要作為應(yīng)用程序組裝在一起,已經(jīng)成為構(gòu)建云原生應(yīng)用程序的實際方法。通常,小型的離散的開發(fā)團隊維護每個微服務(wù),從一開始就用API構(gòu)建,以便與其他微服務(wù)集成。只要API保持一致,就可以逐個更新(或擴展)微服務(wù),而不是通過整個開發(fā)團隊重構(gòu)一個巨大的單一應(yīng)用程序。企業(yè)可以共享或復制要重新組裝到其他應(yīng)用程序中的微服務(wù)。
容器和Kubernetes:Docker容器革命為微服務(wù)提供了理想的平臺。通常,它是一對一的關(guān)系, Docker容器中部署微服務(wù),這會消耗虛擬機的一小部分資源。但是,企業(yè)如何將這些微服務(wù)編排到應(yīng)用程序中?這就是現(xiàn)在可用于所有主要IaaS平臺的Kubernetes的用武之地。它可以自動化基于容器的應(yīng)用程序的部署、管理、擴展、聯(lián)網(wǎng)和可用性。
微服務(wù)體系結(jié)構(gòu)還為持續(xù)集成(CI)/持續(xù)交付(CD)提供了一種一致的打包、測試、交付應(yīng)用程序的方法,以及敏捷的方法,它鼓勵增量代碼提交和滾動更改,以及與業(yè)務(wù)利益相關(guān)者的持續(xù)交互。還有DevOps為自動化軟件部署、基礎(chǔ)設(shè)施配置以及測試和監(jiān)控提供了一個模型。所有這些云原生元素共同為企業(yè)構(gòu)建和維護軟件的方式提供了新的范例。
Kubernetes也有望創(chuàng)建一種新的混合云。在以往,真正的混合云要求虛擬機級別的并行環(huán)境。使用Kubernetes在容器級別強制執(zhí)行這種一致性可能要容易得多,這使企業(yè)可以或多或少地在公共云和私有云之間無縫地移動基于微服務(wù)的應(yīng)用程序。
當企業(yè)在其中一個大型公共云IaaS平臺上構(gòu)建云原生應(yīng)用程序時,企業(yè)可以獲得數(shù)百種API可訪問服務(wù)的額外優(yōu)勢,這些服務(wù)可能是最令人興奮的部分。企業(yè)可以選擇利用機器學習庫、物聯(lián)網(wǎng)平臺、應(yīng)用程序監(jiān)控解決方案、大數(shù)據(jù)分析、區(qū)塊鏈服務(wù)、數(shù)據(jù)集成解決方案。
也許最具顛覆性的是AWS、Azure、谷歌云提供的新的分布式關(guān)系數(shù)據(jù)庫。這些基于SQL的云計算產(chǎn)品不僅允許輕松的關(guān)系數(shù)據(jù)庫擴展(這是一項繁瑣的工作),而且還允許全球公共云數(shù)據(jù)中心的分布式數(shù)據(jù)庫之間的一致性。這是企業(yè)越來越多地關(guān)注云計算構(gòu)建大規(guī)模應(yīng)用程序的關(guān)鍵原因(更不用說對現(xiàn)有的內(nèi)部部署數(shù)據(jù)庫解決方案構(gòu)成威脅)。
最后,企業(yè)擁有無服務(wù)器計算(也稱為服務(wù)或FaaS功能),將PaaS提升到新的水平。每個主要的云計算供應(yīng)商都提供這種服務(wù),AWS Lambda是公認的領(lǐng)導者。正如開發(fā)人員使用微服務(wù)來組裝應(yīng)用程序一樣,開發(fā)人員可以從庫中獲取功能以組裝微服務(wù),并將應(yīng)用程序拼接在一起,而無需考慮虛擬服務(wù)器基礎(chǔ)設(shè)施甚至容器。無服務(wù)器應(yīng)用程序也可以節(jié)省成本,因為它們處于休眠狀態(tài)直到請求到達,從而縮短了公共云提供商以其他方式收費的周期。
當企業(yè)看到云計算服務(wù)的廣度和深度時,就會提出一個顯而易見的問題:為什么要在其他地方創(chuàng)建和部署應(yīng)用程序?還有一些原因與數(shù)據(jù)駐留、運營成本等有關(guān)。但如今,最新、最令人興奮的技術(shù)往往首先出現(xiàn)在云端,因此其吸引力只會加強。