云計算有兩個含義。云計算第一個含義也是最常見的含義,是指在云計算提供商的數據中心(也稱為“公共云”)中通過互聯網遠程運行用戶的工作負載。而亞馬遜網絡服務(AWS)、Salesforce公司的CRM系統,以及Microsoft Azure等目前流行的公共云產品,都體現了人們所熟悉的云計算概念。如今,大多數企業采用多云模式,這意味著他們使用多種公共云服務。
云計算的第二個含義描述了它的工作原理:從虛擬化資源池到原始計算能力,再到應用程序功能,都可按需提供。當客戶采用云計算服務時,云計算提供商使用高級自動化而不是人工配置來滿足這些請求。關鍵優勢是敏捷性:能夠根據需要將抽象的計算、存儲和網絡資源應用于工作負載,并利用大量預先構建的服務。
公共云使客戶無需投資新硬件或軟件即可獲得新功能。相反,他們向云計算提供商支付訂閱費或僅為他們使用的資源付費。只需填寫Web表單,用戶就可以設置賬戶,并啟動虛擬機或配置新的應用程序。由于具有自動縮放的功能,工作負載需要這些資源,因此可以實時添加更多用戶或計算資源,而計算資源則實時添加。
定義的云計算類型
可用的云計算服務數量巨大,但大多數屬于以下類別之一:
(1)SaaS(軟件即服務)
這種類型的公共云計算通過瀏覽器在互聯網上提供應用程序。最受歡迎的SaaS應用程序可以在谷歌公司的G Suite和Microsoft的Office 365中找到。在企業應用程序中,Salesforce處于領先地位。但幾乎所有企業應用程序(包括Oracle和SAP的ERP套件)都采用了SaaS模型。通常,SaaS應用程序提供廣泛的配置選項以及開發環境,使客戶能夠編寫自己的修改和添加代碼。
(2)IaaS(基礎設施即服務)
在基本層面,IaaS公共云提供商以按使用付費的方式提供存儲和計算服務。但是,所有主要公共云提供商提供的全套服務都是驚人的:高度可擴展的數據庫、虛擬專用網絡、大數據分析、開發人員工具、機器學習、應用程序監控等等。亞馬遜網絡服務公司是第一個IaaS提供商,仍然是行業領導者,其后依次是微軟Azure、谷歌云平臺、IBM云平臺。
(3)PaaS(平臺即服務)
PaaS提供了一組服務和工作流,專門針對開發人員,他們可以使用共享工具、流程和API來加速應用程序的開發、測試和部署。Salesforce的Heroku和Force.com是流行的公共云PaaS產品,Pivotal的Cloud Foundry和Red Hat的OpenShift可以部署在本地或通過主要的公共云。對于企業而言,PaaS可以確保開發人員可以隨時訪問資源,遵循某些流程,并僅使用特定的服務陣列,而運營商則可以維護底層基礎設施。
(4)FaaS(功能即服務)
FaaS是無服務器計算的云計算版本,它為PaaS增加了另一層抽象,因此開發人員可以完全隔離代碼下面堆棧中的所有內容。他們不是使用虛擬服務器、容器和應用程序運行時,而是上傳功能狹窄的代碼塊,并將它們設置為由特定事件(例如表單提交或上載文件)觸發。所有主要云都在IaaS之上提供FaaS:AWS Lambda、Azure Functions、Google Cloud Functions和IBM OpenWhisk。FaaS應用程序的一個特殊優勢是,它們在事件發生之前不會消耗任何IaaS資源,從而降低了按使用付費的費用。
(5)私有云
私有云將用于運行IaaS公共云的技術縮減為可在客戶數據中心部署和運行的軟件。與公共云一樣,企業內部客戶可以配置自己的虛擬資源來構建、測試和運行應用程序,并通過計量向企業收取資源消耗費用。對于管理員而言,私有云相當于最終的數據中心自動化,最大限度地減少了人工配置和管理。 VMware公司的軟件定義數據中心堆棧是最受歡迎的商業私有云軟件,而OpenStack是開源的行業領導者。
但請注意,私有云并不完全符合云計算的定義。云計算是一項服務。私有云要求組織構建和維護自己的底層云計算基礎設施,只有私有云的內部用戶才能將其視為云計算服務。
(6)混合云
混合云是私有云與公共云的集成。在最理想的情況下,混合云涉及創建并行環境,其中應用程序可以在私有云和公共云之間輕松移動。在其他情況下,數據庫可以保留在客戶數據中心并與公共云應用程序集成,或者虛擬化數據中心工作負載可以在高峰需求期間復制到云平臺。私有云和公共云之間的集成類型差異很大,但它們必須廣泛才能獲得混合云指定。
(7)公共API(應用程序編程接口)
正如SaaS通過互聯網向用戶提供應用程序一樣,公共API為開發人員提供了可以通過編程方式訪問的應用程序功能。例如,在構建Web應用程序時,開發人員通常會使用Google Maps的API來提供導航路線。為了與社交媒體集成,開發人員可以調用由Twitter、Facebook或LinkedIn維護的API。Twilio已經建立了一個成功的企業,致力于通過公共API提供電話和消息服務。最終,任何企業都可以配置自己的公共API,以使客戶能夠使用數據或訪問應用程序功能。
(8)iPaaS(集成平臺即服務)
對于任何規模較大的企業而言,數據集成是一個關鍵問題,尤其是那些大規模采用SaaS的企業。iPaaS提供商通常提供預構建的連接器,用于在流行的SaaS應用程序和本地企業應用程序之間共享數據,但云計算提供商可能或多或少地關注B2B和電子商務集成、云計算集成或傳統的SOA風格集成。來自Dell Boomi、Informatica、MuleSoft和SnapLogic等提供商的云平臺中的iPaaS產品還允許用戶實施數據映射、轉換和工作流,以作為構建集成平臺過程的一部分。
(9)IDaaS(身份即服務)
與云計算相關的最困難的安全問題是跨私有數據中心和公共云站點管理用戶身份及其相關權利和權限。IDaaS提供商維護基于云計算的用戶配置文件,用于對用戶進行身份驗證,并根據安全策略,用戶組和個人權限啟用對資源或應用程序的訪問。能夠與各種目錄服務(Active Directory,LDAP等)集成并提供這些服務至關重要。Okta是基于云計算的IDaaS的行業領導者。CA、Centrify、IBM、Microsoft、Oracle和Ping提供內部部署和云計算解決方案。
(10)協作平臺
Slack、Microsoft Teams和HipChat等協作解決方案已成為重要的消息傳遞平臺,使群組能夠有效地進行通信和協同工作?;旧?,這些解決方案是相對簡單的SaaS應用程序,支持聊天式消息傳遞以及文件共享和音頻或視頻通信。大多數提供API以促進與其他系統的集成,并使第三方開發人員能夠創建和共享增加功能的插件。
(11)垂直云
金融服務、醫療保健、零售、生命科學和制造等行業的主要提供商提供PaaS云平臺,使客戶能夠構建垂直應用程序,利用行業特定的API可訪問的服務。垂直云可以顯著減少垂直應用程序的上市時間,并加速特定于行業領域的B2B集成。大多數垂直云的構建旨在培育合作伙伴生態系統。
其他云計算考慮因素
最廣泛接受的云計算定義意味著企業在其他人的服務器上運行工作負載,但這與外包不同??蛻舯仨毰渲煤途S護虛擬云計算資源甚至SaaS應用程序。在規劃云計劃時考慮這些因素:
(1)云計算安全
人們對于公共云的抵制通常始于云計算安全,盡管主要的公共云已經證明自己比普通企業數據中心更不容易受到攻擊。
更值得關注的是客戶和公共云提供商之間的安全策略和身份管理的集成。此外,政府部門監管可能禁止客戶允許外圍的敏感數據。其他問題包括中斷風險和公共云服務的長期運營成本。
(2)多云管理
企業成為多云采用者的標準很低:客戶只需要使用多個公共云服務。但是,根據所涉及的云計算服務的數量和種類,從成本優化和技術角度來看,管理多個云平臺可能會變得非常復雜。
在某些情況下,客戶只是為了避免依賴單個提供商而訂閱多個云計算服務。更復雜的方法是根據它們提供的獨特服務選擇公共云,并在某些情況下集成它們。例如,開發人員可能希望在谷歌云平臺上使用谷歌公司的TensorFlow機器學習服務來構建支持機器學習的應用程序,但更喜歡在CloudBees平臺上托管的Jenkins進行持續集成。
為了控制成本并降低管理開銷,一些客戶選擇云計算管理平臺(CMP)和/或云服務代理(CSB),這使企業可以像管理一個云平臺一樣管理多個云。問題在于,這些解決方案傾向于將客戶限制在諸如存儲和計算之類的服務中,忽略了使每個云平臺獨特的全方位服務。
(3)邊緣計算
企業經常將邊緣計算視為云計算的替代方案,但事實并非如此。邊緣計算是關于將本地計算移動到高分布式系統中的本地設備,通常作為圍繞云計算核心的層。通常會涉及一個云平臺來協調所有設備并接收其數據,然后對其進行分析或以其他方式對其進行操作。
云計算的好處
云計算的主要吸引力是縮短需要動態擴展應用程序的上市時間。然而,越來越多的開發人員被大量的先進新服務吸引到云端,這些服務可以整合到應用程序中,從機器學習到物聯網(IoT)連接。
雖然企業有時會將遺留應用程序遷移到云平臺中以降低數據中心資源需求,但是利用云計算服務和“云原生”屬性的新應用程序會帶來真正的好處。后者包括微服務架構,用于增強應用程序可移植性的Linux容器,以及編排基于容器的服務的Kubernetes等容器管理解決方案。云原生方法和解決方案可以是公共云或私有云的一部分,有助于實現高效的devops風格的工作流。
云計算(公共云或私有云)已成為大型應用程序的首選平臺,尤其是需要頻繁更改或動態擴展的面向客戶的應用程序。更重要的是,主要的公共云現在引領企業技術發展,在其他任何地方出現之前推出新的進展。按工作量劃分,企業正在選擇適合自己的云平臺,而在未來,無數激動人心的新技術將會帶來更多的創新用途。