云計算的“云”源于繪制互聯網的網絡圖表時的一個習慣——會將其畫成一朵云。最受認同的關于云計算含義的解釋是,在一個商業供應者的數據中心上通過互聯網遠程運行工作負載——也就是所謂的“公有云”模式。AWS、Azure、谷歌云等平臺都是這一云計算概念的例證。
但是,云計算還有一個更精確的解釋:數據中心資源的虛擬化和中心管理。其關鍵優勢是敏捷性:根據工作負載的需求,使用抽象計算、存儲和網絡等資源,且具備大量的預構建服務。
從客戶的角度來看,公有云能夠提供一種方式,在不投入新的硬件和軟件的情況下,獲得新的功能。同時,客戶只需按照自己所使用的資源為他們的云供應商支付費用。只要填寫web表單,用戶就可以設置賬戶、加速虛擬機或提供新的應用程序。根據客戶在運行自己的工作負載時的需求增加更多計算資源,這種特性被稱為伸縮性。
云計算中可用的服務種類是很多的,不過主要可以分為以下幾類:
SaaS(software as a service,軟件即服務)
這種類型的公有云在互聯網上通過瀏覽器對應用程序進行交付。最受歡迎的商務級SaaS應用程序有谷歌的G Suite和微軟的Office 365;而在企業級應用中,Salesforce獨占鰲頭。但是幾乎所有的企業級應用,包括從Oracle到SAP的ERP套件,都采用SaaS模型。通常,SaaS應用可提供廣泛的配置選項以及開發環境,使客戶能夠自己對代碼進行修改和添加。
IaaS(infrastructure as a service,基礎設施即服務)
在基礎層面上,IaaS公有云供應商提供存儲和計算服務。但所有主要公有云供應商提供的服務都是驚人的:高可伸縮數據庫、虛擬專用網絡、大數據分析、開發工具、機器學習、應用程序監控等等。AWS是第一個IaaS供應商,且目前仍是領袖,緊隨其后的是微軟Azure、谷歌云平臺和IBM Cloud。
PaaS(platform as a service,平臺即服務)
PaaS所提供的服務和工作流專門針對開發人員,他們可以使用共享工具、流程和API來加速開發、測試和部署應用程序。Saleforce的Salesforce的Heroku和Force.com是非常受歡迎的公共云PaaS產品;Pivotal的Cloud Foundry和紅帽的OpenShift可以在本地部署或通過一些主要的公有云來訪問。對于企業來說,PaaS可以確保開發人員對已就緒的資源的訪問,遵循一定的流程和只使用一個特定的系列服務,運營商則維護底層基礎設施。
值得一提的是,專為移動端開發人員使用的各種PaaS一般被稱作MBaaS(移動后端即服務),或者只是BaaS(后端即服務)。
FaaS(functions as a service,功能即服務)
FaaS,無服務器計算的云實例化,為PaaS增加了另一個抽象層,以便開發人員在堆棧中完全隔絕一切優先級低于他們代碼的東西。不是去搞虛擬服務器、容器和應用運行時間,而是上傳功能代碼塊,讓它們被某個事件觸發(例如表單提交或上傳文件)。所有主要云都會在IaaS之上提供FaaS:AWS Lambda、Azure Functions、谷歌云Functions以及IBM OpenWhisk。FaaS應用的一個特殊的好處是,在事件發生之前不會使用IaaS資源,可通過降低資源使用率來減少費用。
私有云
私有云可以說是小尺寸的IaaS公有云,使軟件可以部署和運行在客戶的數據中心。與公有云一樣,內部客戶可以提供自己的虛擬資源,以構建、測試和運行應用程序,通過計量資源消耗進行收費。對于管理員而言,私有云數據中心最好就是自動化,而最差的情況則是手動配置和管理。VMware的軟件定義數據中心棧是最受歡迎的商業私有云軟件,雖然OpenStack是開源方面的領袖。
混合云
混合云是私有云與公有云的集成。混合云涉及創建并行環境,是應用程序可以在私有云和公有云之間輕松移動。在其他情況下,數據庫可能待在客戶數據中心與公有云應用程序集成——在需求高峰期,虛擬化數據中心的工作負載可能會被復制到云。私有云和公有云之間的集成類型差別很大,但他們必須各自互相適應,以成為一個混合云的模式。
公有 API(API,應用程序設計接口)
正如SaaS在互聯網上為用戶交付應用程序,共有API為開發人員提供應用程序功能,可以以編程的方式訪問。例如,在構建Web應用時,開發人員經常會利用谷歌地圖API提供行車路線;為了集成到社交媒體,開發人員可能會呼吁API通過Twitter或Facebook被保持。Twilio已經建立了一個成功的業務,致力于通過公共API提供電話和消息傳遞服務。最終,任何企業都可以提供自己的公有API實現客戶消費數據和應用程序功能的訪問。
iPaaS(integration platform as a service,集成平臺即服務)
數據集成是任何具備一定規模的公司的一個關鍵問題,尤其對于那些大規模采用SaaS的企業而言。iPaaS供應商通常提供預先構建的連接器,為流行的SaaS應用程序和本地企業應用程序之間提供共享數據,盡管供應商可能或多或少地關注B2B電子商務集成、云集成或傳SOA風格的集成。
IDaaS(identity as a service,身份即服務)
在私有數據中心和公有云網站上,與云計算相關的最大的安全問題就是管理用戶身份及其相關權利和權限。IDaaS供應商保持基于云計算的用戶配置文件,驗證用戶身份,并使訪問資源或應用程序基于安全策略、用戶組和個人的特權。能夠集成各種目錄服務(Active directory LDAP,等等),而且這是至關重要的。
協作平臺(Collaboration platforms)
協作解決方案如Slack、微軟Teams和HipChat已經成為重要的信息溝通平臺,是組織內部能夠有效地溝通和合作。基本上,這些解決方案是相對簡單的SaaS應用程序,支持聊天形式的消息傳遞以及文件共享和音視頻交流。大多數提供API來促進與其他系統的集成,使第三方開發者創建和共享插件,增強功能。
垂直云(Vertical clouds)
在金融、醫療、零售、生命科學和制造行業提供PaaS云使客戶建立垂直應用程序,接近行業特定的、API-accessible服務。垂直云可以減少垂直應用程序投放到市場的時間,加速特定領域的B2B集成。大多數垂直云的構建都帶著一些培養生態合作伙伴系統的目的。
云計算的吸引力與反對意見
云計算的主要吸引力是減少市場投放時間以及應用程序的動態化的規模擴展。不過,越來越多的開發商正將大量先進的服務引進到云中,并且可以合并到應用程序中,從機器學習到物聯網。
雖然有時候企業遺留應用程序會遷移到云來減少數據中心的資源需求,但真正的福利在于利用云服務和“云原生”屬性增加新的應用程序。后者包括微服務架構、Linux容器,可增強應用程序的可移植性,容器管理解決方案如Kubernetes基于容器的服務編排。原生云方法和解決方案可以是公有云或私有云的一部分,有助于高效使用Devops風格的工作流。
對公有云的反對意見,一般源于安全問題,雖然主要的公有云供應商已經證明自己的數據中心比一般企業更不容易收到攻擊影響。更大的問題是客戶與公有云供應商之間安全策略以及身份管理之間的集成。同時,政府的監管可能會禁止客戶讓敏感數據離開本地。其他一些問題包括服務中斷的風險和長期運營成本。
但公有云和私有云都已成為大型應用程序的首選平臺,尤其是對于那些需要經常動態地改變規模的客戶。更重要的是,現在的公有云供應商在技術開發上一直處在前列。企業選擇云之后,會源源不斷地被邀請使用一些令人興奮的新技術。