前面幾個章節有介紹了 Google Cloud 中常見的幾個 Compute Service 運算服務,分別是: Compute EngineCloud FunctionsCloud RunGoogle Kubernetes Engine :

這邊也補充介紹 App Engine,它也是屬於 GCP 運算服務,只要上傳滿足該平台規範的 Code 格式就可以開始運作,會自動做負載平衡且並不需要管理任何硬體機器,聽說當年很紅的遊戲 Angry Birds 就是使用 App Engine 來作為服務平台。以上這五種運算服務應該在什麼情況下選擇呢? 選擇正確的基礎架構服務來運行 APP 是很重要的,故以下對其做一些廣義的整理和筆記。

Continue reading

Google Kubernetes Engine 簡稱是 GKE ,是一個由 Google 管理的 Kubernetes 開源容器編排平台的實現。因為 Kubernetes 的前身 Borg 本來就是 Google 內部的產品,憑藉著這樣的背景 GKE 號稱對於 Kubernetes 的支援跟擴展性跟其它雲端比起來會是最好的。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : EKS
  • Microsoft Azure : AKS

雲端化的 Kubernetes 簡單的說就是把可在地端原生的 Kubernetes 放到雲端上運行,由雲供應商幫助我們大幅簡化集群的設置管理與維運。由於只是讓雲供應商託管 Kubernetes ,最終差異也只是看雲供應商如何「預設」和「整合自己平台其他服務」至 Kubernetes 罷了,本質上 EKS、AKS、GKE 差異並不大,故基本上不推薦隨意更換 Kubernetes 服務的雲供應商或使用多雲,會考慮 GKE 的公司,大多都是只是思考怎樣更方便的整合 Kubernetes 和 GCP 的各種服務而已。

Continue reading

Cloud Run 是一套基於 Knative 的全代管無伺服器(serverless)容器平台,也屬於 Google Cloud 中的 FaaS 服務,功能是可在 GCP 託管的環境中運行 Container 且已經具有高擴展性基礎架構。若從「無基礎建設的容器化平台(Containers without infrastructure)」的角度來說,對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : AWS App RunnerFargate
  • Microsoft Azure : Azure Container AppsAzure Container Instances

Cloud Run 一個蠻大的好處是 : 如果已經把程式打包成 Container Image 鏡象檔,那就可以使用任何程式語言來部署,但其實 Container Image 化是可選的,如果使用的是 Go、Node.js、Python、Java 等等常用的語言,也可以直接使用 Source Code 的方式來部署,讓我們可以使用 FaaS 的概念去執行如 Web Server 比較大型一點的程式。

Continue reading

Cloud Functions 是一個無伺服器的雲端執行環境 (serverless execution environment),會把寫出來的 code 完全託管給 GCP 並且無需配置任何 Infra 也不用管理任何 Servers 就可以執行了,對於程式設計師來說只需要專注在自己的程式邏輯即可,基本完全省去管理硬體的煩惱,為最標準的 FaaS 類型服務。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : AWS Lamda
  • Microsoft Azure : Azure Functions

Cloud Functions 可以用 Java、Python、Node.js、Go 等常用 coding language 來撰寫,適用於部署單一化用途的程式,或用於連接擴展其他的 GCP 雲端服務,以 Events and triggers 為其核心設計思想。

Continue reading

Compute Engine 是託管在 Google 雲端上基礎架構即服務 (IaaS) 產品,其他的稱呼還有 compute engine instancevirtual machine instanceVM instance。 對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : EC2
  • Microsoft Azure : Virtual Machine

啟動前可以訂製自己需要的 Machine Type ,例如 CPU、memory、disk 等等;再來 Boot disk OS 也可自行選擇 Linux 、 Windows 等等操作系統;針對容器虛擬化,可能使用專門優化來運行容器的 Container-Optimized OS (COS) image 在虛擬機上啟動容器服務。最後關於備份資料,GCP 也有提供相應的服務來面對災難發生時的處理。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan