Cloud Storage 簡稱為 GCS ,是 Google 提供的 Object Storage,會把物件儲存在一個名叫 Bucket 的容器內,而 Bucket 還可以有類似劃分資料夾的功能稱 Managed Folders,可以針對這些資料夾加上個別的 IAM 來提供更精細的存取權限。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : Simple Storage Service (S3)
  • Microsoft Azure : Azure Blob Storage

Cloud Storage 是具有高性能 BLOB(Binary Large Object)儲存裝置,基本上可當成是近乎無限大的檔案儲存空間,不用預先配置容量也無需花費心力去管理容量,並提供 User 以 Google Web Console 介面 、SDK 或 RESTful API 的方式,簡單直觀地存取儲存的 Object。

Continue reading

前面幾個章節有介紹了 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 的全代管無伺服器容器平台,也屬於 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

Cloud NAT 全稱是 Cloud Network Address Translation,是 Google Cloud 代管的 IP 轉譯服務,可在不公開 IP 位址的情況下,讓 GCP VM 或 GKE 內的 Pod 可以高效的連接上「外部網路 Internet」,而外部資源無法直接存取 Cloud NAT gateway 後方的資源,維持獨立性與安全性。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : NAT gateways
  • Microsoft Azure : Azure NAT Gateway

Cloud NAT 是以 Software-defined Networking 服務,中間不存在 proxy instance ,故性能方面比傳統 NAT 好上不少。除了 VM、GKE 之外,也可使用在 Cloud Run、Cloud Functions、App Engine 等服務。

Continue reading

Author's picture

李昀陽 YunYang Lee

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

Software Engineer

Taiwan