雲服務架構完全指南

經過大約 16 年的演變,雲計算已經成爲一種幾乎所有網民都在使用的技術。它可以作爲一種服務,用於滿足各類企業和消費者的需求。因此,在雲計算中正在使用多種服務架構,旨在根據最新的需求來定製所需技術。本文就如今使用的所有服務架構,提供一份完全指南。

儘管在全球範圍內建立互相協同的計算機網絡的構想在 20 世紀 60 年代初就提出了,但直到 2006 年,谷歌的首席執行官 埃裏克 · 施密特 在當時的背景下引入了 “雲計算” 一詞,這種構想才成爲一種正式的概念。

雲計算可以簡單理解爲遍佈於世界各地的遠程服務器網絡,通過互聯網共享數據和協同工作,從而爲企業和消費者提供服務。雖然這樣的定義比較武斷,但它包含了雲計算背後的核心思想。促成這項技術發展的主要因素是對 “數據粘性” 的需求,就是令數據更容易被各種設備訪問,同時也要減少數據丟失的風險。如果用戶甲只在一臺服務器上保存了數據,對於用戶甲來說,只要有一臺服務器中斷,數據就很有可能永久性丟失。這種做法無異於“把所有雞蛋放在同一個籃子裏”,從來都不是一個好辦法,特別是當你在處理對公司和消費者具有重要意義的數據時。但如果你在多臺服務器上備份了用戶甲的數據,將有兩個主要好處:其一,即使一臺服務器中斷,用戶甲仍然可以正常獲取數據;其二,雲服務可以從負荷最小的、離他最近的那臺正常運作的服務器獲取數據。這使用戶甲可以在不同設備上更快、更容易地獲取數據。

歷經大約 16 年的發展,雲計算從起初只是一種用於備份圖片的工具,變爲了互聯網的骨幹。如今幾乎所有的應用,從 Office 到 Asana 以及 Todolist,都利用雲計算來實現實時訪問和數據共享。幾乎任意一款你能想像到的應用都在使用雲計算。從 Gmail 和 YouTube,到 Instagram,一切都使用雲計算,以提供快速、便捷、可靠的數據訪問功能。

提供雲計算服務的公司稱爲雲服務提供商。亞馬遜、谷歌、微軟、Salesforce、Cloud9 等都是 B2B 和 B2C 領域的雲服務提供商。

在早期,雲服務供應商通常指提供三類服務:

◈ 軟件即服務(SaaS)

◈ 平臺即服務(PaaS)

◈ 基礎設施即服務(IaaS)

然而,隨着行業需求不斷髮展,區塊鏈和 AI 等新技術的出現,雲服務提供商也開發了新的模式,用於更好地滿足客戶的各種需求。本文將詳細論述如今大衆普遍使用的那些雲計算模式。

雲端的架構

我們已經瞭解了什麼是雲計算,以及它是如何發展成一個高達 4450 億美元產值的行業,現在我們從技術視角來理解雲計算。通常一個雲端架構都由兩個主要部件組成 —— 前臺 (front-end) 和 後臺 (back-end)。

Figure 1: The architecture of a cloud (Courtesy: TechVidvan)

前臺包含客戶端基礎設施,有終端設備和用於與雲端通信的應用程序界面。在現實世界裏,你的智能手機和谷歌雲端硬盤就是前臺,它們用於訪問谷歌雲。

後臺包含雲端基礎設施,包括運行雲計算服務所需的一切設備。服務器、虛擬機、服務和存儲都是由雲端基礎設施提供的。爲了對它們有個全局的概念,現在我們來了解一下後臺的每個組件。

◈ 應用 (Application):用戶或企業使用的、通過互聯網與雲端互動的任何應用程序的後臺。

◈ 服務 (Service):雲端提供的服務型基礎設施。本文將詳細論述各種不同的服務。

◈ 運行時 (Runtime):提供給虛擬機的運行時和執行系統。

◈ 存儲 (Storage):具有靈活的伸縮性的用戶 / 企業數據獲取和管理系統。

◈ 基礎設施 (Infrastructure):運行雲端所需的硬件和軟件。

◈ 安全 (Security) 和管理 (Management):建立安全機制,保護用戶 / 企業數據,管理各個雲服務單元,避免過載和服務停機。

軟件即服務(SaaS)

“軟件即服務”是一種雲計算模式,通過互聯網將軟件和應用程序作爲一種服務提供。谷歌雲端硬盤或谷歌工作空間都是比較典型的例子。谷歌雲端硬盤內的所有應用,例如文檔、工作表、幻燈片、表格等,它們都可以通過使用瀏覽器訪問,並自動保存於雲端。你可以在任意設備上獲取文件的最新版本。你唯一需要做的就是登錄你的賬戶。這就是 “軟件即服務” 模式的優點。你不需要在你的設備上安裝任何東西,也不需要使用你的本地存儲空間,你可以直接訪問雲端的應用程序,並省略了使用本地軟件時的很多繁雜操作。SaaS 一般遵循 “按需付費” 法則,你只要爲你需要的服務支付費用。你總是可以通過支付更多的費用來購買更多的存儲和 / 或功能,或者根據你的要求來降低你的套餐。

SaaS 的好處

  1. SaaS 具有高度的可伸縮性,這歸功於它的 “按需付費” 思想。你可以根據自身需求增加 / 減少存儲空間或程序功能。

  2. 考慮到它提供的特性,如通過任何操作系統的任何設備進行實時訪問,它是非常合算的。

  3. 它在客戶端涉及的工作很少。不需要安裝或進行復雜的步驟,就可以完成軟件的初始化。你可以從你的瀏覽器和 / 或應用程序中舒適地使用它。

  4. 不必手動安裝,軟件會自動更新,而且更新過程中你也不必等待。

平臺即服務(PaaS)

並不是每家科技初創公司都有必要的資源來維護自己的基礎設施,以便在雲端運行他們的應用程序。公司(尤其是創業型公司)通常更傾向於把應用部署於雲端,這樣就不必處理後臺基礎設施了。這就是 “平臺即服務” 這種模式的用武之地了。Heroku 等公司提供了基於 “平臺即服務” 的雲端解決方案,令公司和個人可以在不需要直接與硬件交互的情況下就能部署並運行他們的應用程序。跟 “軟件即服務” 類似,這種模式也提供了靈活性,你只需選擇所需的服務,同時也從基礎設施的角度提供了可伸縮性和安全性。

PaaS 的好處

  1. 省去了操作雲端基礎設施的麻煩。你將其外包給在其雲中託管你的應用程序的公司。這令你能專注於應用程序開發工作的各個生命週期。

  2. PaaS 是可擴展的。你可以根據需要增加或減少存儲需求、附加服務等。

  3. 你設置的唯一安全參數是針對你自己的應用程序。雲安全是由你的雲服務提供商處理的。

  4. 對公司和個人來說,把應用程序託管在雲端,在時間和成本上都是合算的,特別是那些無法承擔基礎設施建設成本的創業型公司。

基礎設施即服務(IaaS)

IaaS 相對於 PaaS 更進一步,給予用戶更多的自主權。在 IaaS 模式中,雲服務提供商讓你對雲端的底層基礎設施進行操控。簡而言之就是你可以根據公司需要自行設計雲端環境,從專用服務器和虛擬機,到運行於服務器的操作系統,你還可以設置帶寬,創建自己的安全協議,以及創建雲基礎設施所需的其他項目。亞馬遜 AWS 和谷歌計算引擎(GCE)都是使用 IaaS 模式的很好的例子。鑑於此模式還可以實現用戶對硬件的自主操控,它也被稱爲硬件即服務(HaaS)。

IaaS 的好處

  1. “按需付費” 模式中的細粒度靈活性。你可以自行決定運行多少臺虛擬機以及使用多少時間。你還可以按小時付費。

  2. 以 “按需付費” 爲核心思想,它具有高度的可伸縮性。

  3. 完全的自主權,對基礎設施中的一切事項的控制,省去了在公司所在地點駐場維護服務器的麻煩。

  4. 大多數公司保證正常運行時間、安全性和 24/7 的現場技術支持,這對企業來說非常重要。

存儲即服務(StaaS)

谷歌雲端硬盤、OneDrive、Dropbox 和 iCloud 是 存儲即服務 (Storage as a Service) 行業內大名鼎鼎的產品。StaaS 就像它聽起來那麼簡單。如果你需要的只是通過任意設備可以實時訪問的雲端存儲空間,StaaS 就是可用的選項之一。很多公司和個人都使用這樣的服務來備份自己的數據。

StaaS 的好處

  1. 藉助內置的版本控制系統,實時訪問最新數據。

  2. 可以使用安裝任意操作系統的任何設備訪問數據。

  3. 隨着你創建、編輯和刪除文件,實時備份你的數據。

  4. 遵循 “按需付費” 模式,你可以根據需要自行確定存儲空間大小。

一切即服務(XaaS)

IaaS、PaaS、SaaS 和 StaaS 的混合版,就是所謂的 “一切即服務 (Anything/Everything as a Service)”模式,它在雲計算相關社區內快速引發關注。客戶可能有多種多樣的需求,這些需求可能是各種不同模式的混合。在這種場景下,應當爲用戶提供自由選擇所需服務的功能,讓他們從各種不同的層級選擇服務,從而創建自定義的 “按需付費” 模式。這種方式的好處在於,讓用戶根據自身需求自由選擇相應的雲服務。

XaaS 的好處

  1. 可以選擇你喜歡的東西和你喜歡的方式。

  2. 只需要爲你需要的服務支付費用,而且不需要支付任何基於層級系統的基本費用。

  3. 選擇你的基礎設施、平臺和功能的粒度水平。

  4. 只要使用得當,無論在時間、成本、效用上,XaaS 都是非常有效的。

功能即服務(FaaS)

在某些情況下,公司或個人需要 PaaS,但不是所有的功能都需要。例如,基於觸發器的系統,如定時任務,只需要在無服務器系統上運行一段代碼或一個函數,就可以實現一個特定的目標。例如某客戶需要創建一個網站的流量監測系統,在頁面下載量達到一定數量時發送通知。這樣的需求簡而言之就是在雲端運行一段持續檢查要執行的觸發器的代碼。使用 PaaS 的成本較高。此時就是 “功能即服務 (Function as a Service)” 發揮作用的時候了。許多公司,例如 Heroku,向客戶提供 FaaS,它只存儲一段代碼或一個方法,只會在被觸發的情況下運行。

FaaS 的好處

  1. 你只需要支付代碼運行的費用。託管代碼通常是不收費的,除非計算成本很高。

  2. 它不會有使用 PaaS 的那些麻煩,卻讓你享受所有好處。

  3. 無論如何,你都不必關心底層基礎設施。因此,你只需要上傳代碼,而不必關心任何虛擬機維護相關事宜。

  4. FaaS 讓你的開發更加敏捷,即編寫函數式代碼。

區塊鏈平臺即服務(BPaaS)

近年來,區塊鏈席捲了科技行業。它是目前最受歡迎的技術之一,比它更受歡迎的只有人工智能和數據科學相關技術。區塊鏈如此吸引人的原因是它提供了安全、可伸縮和透明的開放式賬本架構。這些功能對於許多應用程序都是必要的,例如銀行、選舉系統,甚至社交媒體也需要這些功能。隨着如此廣泛的應用,有必要能夠在雲上託管這樣的產品,其模式專門滿足這種技術的需求。這就是區塊鏈平臺即服務 (Blockchain Platform as a Service)(BPaaS)發揮作用的地方。如今,包括亞馬遜 AWS 和微軟 Azure 在內的許多公司,都在爲專門尋求在雲中託管基於區塊鏈的應用程序的客戶提供 BPaaS 解決方案。

BPaaS 的好處

  1. 它滿足了區塊鏈行業的特定需求,例如支持用於編寫智能合約的專用語言。

  2. 通過提供 API 橋接,支持與區塊鏈(如以太坊)集成。

  3. 支持在區塊鏈技術的應用中使用自定義數據庫。

  4. 雲的所有優點它也同樣具備,即 “按需付費” 功能、可擴展性、安全性和訪問便捷性。

(題圖:MJ/db8225c1-e970-4bc4-80db-514368955af2)


via: https://www.opensourceforu.com/2022/09/a-complete-guide-to-cloud-service-architectures/

作者:Mir H.S. Quadri 選題:lkxed 譯者:cool-summer-021 校對:wxy

本文由 LCTT 原創編譯,Linux 中國 榮譽推出

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/UxXBXyqjO_lJ7BWwRRjxjg