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