GCP:解析 Google Cloud Platform 計算堆疊

文章的翻譯是專門為課程的學生準備的 「雲端服務」.

您有興趣往這個方向發展嗎? 觀看專業大師課的錄音 “AWS EC2 服務”,由 InBit 團隊負責人 Egor Zuev 和 OTUS 教育計畫的作者進行。

GCP:解析 Google Cloud Platform 計算堆疊

Google Cloud Platform (GCP) 提供許多服務,特別是包含 Google Compute Engine (GCE)、Google Kubernetes Engine(以前稱為 Container Engine)(GKE)、Google App Engine (GAE) 和 Google Cloud Functions (GCF) 的計算堆疊。 所有這些服務都有很酷的名字,但它們的功能以及它們的獨特之處可能並不完全明顯。 本文面向剛接觸雲端概念(尤其是雲端服務和 GCP)的人。

GCP:解析 Google Cloud Platform 計算堆疊

1. 計算堆疊

計算堆疊可以被認為是電腦系統可以提供的功能的分層抽象。 該堆疊上升(向上移動)來自「裸鐵」(裸機),指的是電腦的實際硬體組件,具體到功能(功能),代表最小的計算單位。 關於堆疊需要注意的重要一點是,當您在堆疊中向上移動時,服務會聚合,例如「應用程式」部分(應用程序),如下圖 1 所示,應包含所有基本容器組件(集裝箱)、虛擬機器(虛擬機)和鐵。 同樣,虛擬機器組件必須包含內部硬體才能運作。

GCP:解析 Google Cloud Platform 計算堆疊

圖 1:計算堆疊 | 圖片來源於 Google雲端

此模型(如圖 1 所示)是描述雲端提供者產品的基礎。 因此,有些提供者只能提供堆疊中品質較低的容器和服務,而其他提供者則可以提供圖 1 中所示的所有內容。

— 如果您熟悉雲端服務,請訪問 第3節查看 GCP 等效項
— 如果您只想了解雲端服務的摘要,請訪問 第2.4節

2、雲端服務

雲端運算的世界非常多樣化。 雲端提供者提供針對不同客戶需求的各種服務。 您可能聽過 IaaS、PaaS、SaaS、FaaS、KaaS 等術語。 字母表中的所有字母後面跟著“aaS”。 儘管命名約定很奇怪,但它們形成了一組雲端提供者服務。 我指出雲端供應商幾乎總是提供 3 種主要的「即服務」產品。

它們是IaaS、PaaS和SaaS,分別代表基礎設施即服務、平台即服務和軟體即服務。 將雲端服務視覺化為所提供的服務層非常重要。 這意味著,當您從一個級別向上或向下移動時,作為客戶,您會遇到不同的服務選項,這些選項要么添加到核心產品中,要么從核心產品中刪除。 最好將其視為金字塔,如圖 2 所示。
GCP:解析 Google Cloud Platform 計算堆疊

圖 2:aaS 金字塔 | 圖片來源於 紅寶石車庫

2.1 基礎設施即服務(IaaS)

這是雲端供應商可以提供的最低層,涉及雲端供應商提供裸機基礎設施,包括中間件、網路佈線、CPU、GPU、RAM、外部儲存、伺服器和底層作業系統映像,例如 Debian Linux、CentOS、Windows , ETC。

如果您從雲端 IaaS 供應商訂購報價,那麼您應該會收到這樣的報價。 作為客戶,您需要組裝這些零件來經營您的業務。 您需要使用的內容範圍可能因供應商而異,但通常您只需獲得硬體和作業系統,其餘部分取決於您。 IaaS 的範例包括 AWS 彈性運算、Microsoft Azure 和 GCE。

有些人可能不喜歡這樣的事實:他們必須安裝作業系統映像並處理網路、負載平衡或擔心哪種類型的處理器最適合他們的工作負載。 這就是我們向 PaaS 邁進金字塔的地方。

2.2 平台即服務(PaaS)

PaaS僅涉及雲端服務供應商提供使用者可以在其上建立應用程式的特定平台。 這是對 IaaS 的抽象,意味著雲端供應商負責 CPU 類型、記憶體、RAM、儲存、網路等的所有細節。如圖 2 所示,作為客戶,您對實際平台幾乎沒有控制權,因為雲端供應商會為您處理所有基礎設施細節。 您請求所選的平台並在其上建立項目。 PaaS 的例子有 Heroku。

對於某些人來說,這可能太高了,因為他們不一定想在指定的平台上建立項目,而是需要直接來自雲端提供者的一組服務。 這就是 SaaS 發揮作用的地方。

2.3 軟體即服務(SaaS)

SaaS 代表雲端服務供應商提供的最常見的服務。 它們是針對最終用戶,主要透過 Gmail、Google Docs、Dropbox 等網站進行存取。至於 Google Cloud,在其運算堆疊之外還有多種 SaaS 產品。 其中包括 Data Studio、Big Query 等。

2.4 雲端服務總結

的成分
IaaS的
PaaS的
SaaS的

你得到什麼
您獲得基礎設施並支付相應費用。 自由使用或安裝任何軟體、作業系統或其組合。
在這裡你得到你所要求的。 軟體、硬體、作業系統、網路環境。 您將獲得一個隨時可用的平台並支付相應費用。
在這裡你不需要擔心任何事情。 我們為您提供了根據您的要求量身定制的預安裝包,您只需支付相應費用即可。


基礎計算
頂級 IaaS
這本質上是一個完整的服務包

技術難點
所需技術知識
您已獲得基本配置,但您仍需要領域知識。
無需擔心技術細節。 SaaS 提供者提供一切。

它與什麼一起工作?
虛擬機器、儲存、伺服器、網路、負載平衡器等。
執行時間環境(如java執行時)、資料庫(如mySQL、Oracle)、Web伺服器(如tomcat等)
電子郵件服務(Gmail、雅虎郵件等)、社交互動網站(Facebook 等)等應用程式

人氣圖
深受需要根據自己的要求或研究領域進行客製化的高技能開發人員和研究人員的歡迎
在開發人員中最受歡迎,因為他們可以專注於開發應用程式或腳本。 他們不必擔心流量負載或伺服器管理等。
最受一般消費者或使用電子郵件、文件分享、社交網路等軟體的公司歡迎,因為他們不需要擔心技術細節

圖 3:主要雲產品摘要 | 提供圖片 阿米爾在博客 Specia

3.Google雲端平台運算套件

在查看第 2 部分中典型的雲端供應商產品後,我們可以將它們與 Google Cloud 的產品進行比較。

3.1 谷歌計算引擎(GCE)-IaaS

GCP:解析 Google Cloud Platform 計算堆疊

圖 4:Google 計算引擎 (GCE) 圖標

GCE 是 Google 的一項 IaaS 產品。 使用GCE,您可以自由建立虛擬機,分配CPU和記憶體資源,選擇SSD或HDD等儲存類型以及記憶體量。 這幾乎就像您構建了自己的計算機/工作站並處理了其工作原理的所有細節。

在 GCE 中,您可以選擇具有 0,3 核處理器和 1 GB RAM 的微型實例,也可以選擇具有超過 96 GB RAM 的 300 核怪物。 您也可以為您的工作負載建立自訂大小的虛擬機器。 對於有興趣的人,您可以建立這些虛擬機器。

機器類型 | 計算引擎文檔 | Google雲

3.2. Google Kubernetes 引擎 (GKE) - (Caas / Kaas)

GCP:解析 Google Cloud Platform 計算堆疊

圖 5:Google Kubernetes Engine (GKE) 圖標

GKE 是 GCP 的獨特運算產品,是運算引擎之上的抽象。 更一般地說,GKE 可以歸類為容器即服務 (CaaS),有時也稱為 Kubernetes 即服務 (KaaS),它允許客戶在完全託管的 Kubernetes 環境中輕鬆運行其 Docker 容器。 對於那些不熟悉容器的人來說,容器有助於模組化服務/應用程序,因此不同的容器可以包含不同的服務,例如,一個容器可以託管Web 應用程式的前端,另一個容器可以包含它的後端。 Kubernetes 自動化、編排、管理和部署您的容器。 更多資訊請點這裡。

Google Kubernetes 引擎 | Google雲

3.3 谷歌應用引擎(GAE)-(PaaS)

GCP:解析 Google Cloud Platform 計算堆疊

圖 6:Google App Engine (GAE) 圖標

如第 2.2 節所述,PaaS 位於 IaaS 之上,對於 GCP,它也可以被視為高於 GKE 的產品。 GAE 是 Google 的客製化 PaaS,他們最好的描述自己的方式是「帶上您的程式碼,我們會處理剩下的事情」。

這確保使用 GAE 的客戶無需處理底層硬體/中間件,並且已經可以擁有一個隨時可用的預先配置平台; 他們所要做的就是提供運行它所需的程式碼。

GAE 會自動處理擴展以滿足負載和用戶需求,這意味著如果您的鮮花銷售網站由於情人節臨近而突然達到峰值,GAE 將處理擴展底層基礎設施以滿足需求,並確保您的網站不會因需求增加而崩潰。 這意味著您只需為應用程式當時所需的資源付費。

GAE 使用 Kubernetes 或其本機版本來處理所有這些,因此您不必擔心。 GAE 最適合那些對底層基礎設施不感興趣、只關心確保其應用程式能夠以最佳方式存取的公司。

在我看來,如果您是擁有好主意的開發人員,但不想處理設定伺服器、負載平衡以及所有其他耗時的 devops/SRE 工作的苦差事,那麼 GAE 是最好的起點。 隨著時間的推移,您可以嘗試 GKE 和 GCE,但這只是我的意見。

免責聲明:AppEngine 用於 Web 應用程序,而不是行動應用程式。

供參考: App Engine - 以任何語言建立可擴展的 Web 和行動後端 | Google雲

3.4 谷歌雲端函數-(FaaS)

GCP:解析 Google Cloud Platform 計算堆疊

圖 7:Google Cloud Functions (GCF) 圖標

希望您透過查看先前的產品已經注意到了這一趨勢。 您在 GCP 計算解決方案階梯上爬得越高,就越不需要擔心底層技術。 該金字塔以盡可能小的計算單位(函數)結束,如第 1 節所示。

GCF 是一個相對較新的 GCP 產品,仍處於測試階段(在撰寫本文時)。 雲端函數允許開發人員編寫的某些函數由事件觸發。

它們是事件驅動的,是流行詞「無伺服器」的核心,這意味著它們不了解伺服器。 雲端函數非常簡單,並且有許多不同的用途,需要事件思維。 例如,每次有新用戶註冊時,都可以觸發雲端功能來提醒開發者。

在工廠裡,當某個感測器達到某個值時,可以觸發雲端功能做一些資訊處理,或是通知一些維護人員等。

雲端函數-事件驅動的伺服器運算| Google雲

結論

在本文中,我們討論了不同的雲端產品,如 IaaS、PaaS 等,以及 Google 的運算堆疊如何實現這些不同的層。 我們已經看到,當從一種服務類別轉移到另一個服務類別(例如 Paas 中的 IaaS)時,抽象層所需的底層知識較少。

對於企業來說,這提供了至關重要的靈活性,不僅可以滿足其營運目標,還可以滿足安全性和成本等其他關鍵領域的要求。 總結一下:

計算引擎 - 讓您透過分配某些硬體資源(例如 RAM、處理器、記憶體)來建立自己的虛擬機器。 它也相當實用且低級。

Kubernetes 引擎 是 Compute Engine 的一個進步,可讓您使用 Kubernetes 和容器來管理您的應用程序,從而允許您根據需要擴展它。

應用引擎 是 Kubernetes Engine 的一個進步,讓您可以只專注於程式碼,而 Google 則負責所有底層平台要求。

雲端功能 是計算金字塔的頂部,可讓您編寫一個簡單的函數,該函數在運行時使用整個底層基礎設施來計算並傳回結果。

謝謝你的關注!

Twitter的: @martinomburajr

來源: www.habr.com

添加評論