16項不可抗拒的云創新
在即付即得定價模式的背后,公有云擁有著最新和最好的開發、Devops和人工智能工具,用于更快地構建更好、更智能的應用程序。
當提到公有云時,人們通常首先想到的是成本:企業將工作負載從數據中心遷移到云平臺上會減少資本支出,但會增加運營支出。這對首席財務官可能并不具有吸引力,但對于開發人員、運營人員或二者結合的DevOp的人員來說,云計算可以帶來更多收益。
對于這些人來說,云計算提供了許多機會,而這些機會在數據中心由于運營新軟件而需要購買服務器硬件或軟件套件時難以獲得。在內部部署數據中心擴展計算資源可能需要六個月的時間,但在云中可能只需要10分鐘。
這不僅僅是時間和便利的問題。云計算還可以提高軟件開發的速度,通常會縮短上市時間。云計算還可以允許進行更多的嘗試和實驗,這通常會提高軟件質量。
此外,云計算創新可以提供更直接的好處,并解決內部部署數據中心長期存在的問題。以下將展示16種引人注目的云計算功能。
1.按需計算實例
企業在自己的內部部署服務器上安裝新數據庫,可能要做好等待數月甚至數年的準備。如果可以使用內部部署虛擬機而不是物理服務器,并且使用VMware或類似技術,那么可能只需要數周時間。如果想在公有云上創建一個服務器實例,可以在大約15分鐘內配置并運行,這能夠根據需要調整實施的大小,并在不使用它時將其關閉。
2.預構建的虛擬機鏡像
雖然使用企業選擇好的操作系統啟動虛擬機很方便,但仍然需要安裝和許可需要的應用程序。能夠將所選擇的操作系統和應用程序都準備好運行的虛擬機是非常寶貴的。
3.無服務器服務
“無服務器”意味著一項服務或一段代碼將在短時間內按需運行,通常只是為了響應一個事件,而不需要專用的虛擬機來運行。如果采用無服務器服務,那么根本不需要擔心底層服務器,其資源是從云計算提供商維護的數據池中分配的。
無服務器服務目前都可以在主要的公有云平臺上使用,通常具有自動擴展、內置高可用性和按價值付費的計費模式。如果希望無服務器應用程序不被鎖定到特定的公有云中,可以使用與供應商無關的無服務器框架,例如Kubeless。
4.按需運行的容器
容器是軟件的輕量級可執行單元,比虛擬機輕得多。容器打包應用程序代碼及其依賴項(例如庫)。容器共享主機的操作系統內核,并且可以在Docker引擎或Kubernetes服務上運行。按需運行的容器具有按需運行虛擬機的所有優勢,以及采用更少資源和成本更低的優勢。
5.預構建容器鏡像
Docker容器是Docker鏡像的可執行實例,由Dockerfile指定。Dockerfile包含構建映像的說明,并且通?;诹硪粋€映像。例如,包含Apache HTTPS服務器的映像可能基于Ubuntu映像。用戶可以在Docker注冊表中找到預定義的Dockerfile,也可以構建自己的Dockerfile。用戶可以在內部部署設施安裝的Docker或任何支持容器的云平臺中運行Docker映像。與預先構建的虛擬機映像一樣,Dockerfile可以快速啟動完整的應用程序,但與虛擬機映像不同,Dockerfile與供應商無關。
6.Kubernetes容器編排
Kubernetes(K8s)是一個開源系統,用于自動部署、擴展和管理容器化應用程序。Kubernetes基于谷歌內部的“Borg”技術。Kubernetes集群由一組稱為節點的工作機器組成,它們運行容器化的應用程序。工作節點托管Pod,其中包含應用程序。Kubernetes可以在任何地方運行,并且可以無限擴展。所有主要的公有云都有Kubernetes服務,用戶也可以在自己的開發機器上運行Kubernetes。
7.自動擴展服務器
用戶無需將應用程序容器化,并在Kubernetes中運行它們,以便在云中自動擴展它們。大多數公有云允許用戶通過添加(或減少)實例或增加(或減少)實例大小,根據使用情況自動向上(或向下)擴展虛擬機和服務。
8.行星級的數據庫
全球主要的公有云供應商和數據庫供應商已經實施了行星級的分布式數據庫,這些數據庫具有數據結構、冗余互連和分布式共識算法等基礎,使它們能夠高效地工作,并具有高達5個9的可靠性(99.999%的正常運行時間)。特定于云計算的示例包括Google Cloud Spanner(關系)、Azure CosmosDB(多模型)、Amazon DynamoDB(鍵值和文檔)和Amazon Aurora(關系)。供應商示例包括CockroachDB(關系)、PlanetScale(關系)、Fauna(關系/無服務器)、Neo4j(圖形)、MongoDB Atlas(文檔)、DataStax Astra(寬列)和Couchbase Cloud(文檔)。
9.混合服務
對數據中心進行大量投資的企業通常希望將其現有的應用程序和服務擴展到云平臺中,而不是用云服務取代它們。主要的云計算供應商現在都提供了實現這一目標的方法,包括使用特定的混合服務(例如,可以跨越數據中心和云計算的數據庫)以及連接到公有云的內部部署服務器和邊緣云資源,通常稱為混合云。
10.可擴展的機器學習訓練和預測
機器學習訓練(尤其是深度學習)通常需要數小時到數周的大量計算資源。另一方面,機器學習預測需要每秒鐘的計算資源,除非進行批量預測。使用云計算資源通常是完成模型訓練和預測的最便捷方式。
11.云端GPU、TPU和FPGA
在CPU集群上,使用大型模型和非常大的數據集進行準確訓練所需的深度學習通常需要一周以上的時間。GPU、TPU和FPGA都可以顯著地縮短訓練時間,并且將它們放在云端可以在需要時輕松使用它們。
12.預訓練的人工智能服務
許多人工智能服務可以通過預訓練模型很好地執行,例如語言翻譯、文本到語音和圖像識別。所有主要的云服務都提供基于穩健模型的預訓練的人工智能服務。
13.可定制的人工智能服務
預訓練的人工智能服務有時并不能完全滿足用戶的需求。遷移學習僅在現有模型之上訓練幾個神經網絡層,與從頭開始訓練模型相比,它可以相對快速地為用戶提供定制服務。同樣,主要的云服務提供商都提供遷移學習,盡管他們的名字并不相同。
14.監控服務
所有云平臺都支持至少一種監控服務,讓用戶輕松配置云服務進行監控。監控服務通常會顯示一個圖形儀表板,并且可以配置為通知用戶異常的性能指標。
15.分布式服務
數據庫并不是唯一可以從以分布式方式運行中受益的服務,其面臨的問題是延遲。如果計算資源遠離數據或管理的進程,則發送和接收指令和信息需要很長時間。如果反饋回路中的延遲太高,則回路很容易失控。如果機器學習和數據之間的延遲太高,則執行訓練所需的時間可能會增加。為了解決這個問題,云服務提供商提供連接的設備,可以將他們的服務擴展到客戶的數據中心(混合云)或客戶的工廠車間附近(邊緣計算)。
16.邊緣計算
將分析和機器學習在地理上靠近機器和現實世界對象(物聯網)的需求產生了專門的設備,例如帶有 GPU 和傳感器的微型計算設備,以及支持它們的架構,例如作為邊緣服務器、自動化平臺和內容交付網絡。最終,這些設備都連接云端,但在邊緣執行分析的能力可以顯著地減少發送到云端的數據量,并減少延遲。
以后當聽到有關云支出的抱怨時,也許可以指出云計算具有的好處。任何一項云創新都可以證明其使用是合理的。綜合起來,云計算帶來的好處確實是不可抗拒的。