Cloud Run 是一套基於 Knative 的全代管無伺服器(serverless)容器平台,也屬於 Google Cloud 中的 FaaS 服務,功能是可在 GCP 託管的環境中運行 Container 且已經具有高擴展性基礎架構。若從「無基礎建設的容器化平台(Containers without infrastructure)」的角度來說,對應其他的雲端服務是 :
- Amazon Web Services (AWS) : AWS App Runner、Fargate
- Microsoft Azure : Azure Container Apps、Azure Container Instances
Cloud Run 一個蠻大的好處是 : 如果已經把程式打包成 Container Image 鏡象檔,那就可以使用任何程式語言來部署,但其實 Container Image 化是可選的,如果使用的是 Go、Node.js、Python、Java 等等常用的語言,也可以直接使用 Source Code 的方式來部署,讓我們可以使用 FaaS 的概念去執行如 Web Server 比較大型一點的程式。
Cloud Run 是 Google 的 Serverless 產品,讓我們不用管理基礎 infra 也能建置容器,並會根據流量自動調整資源,且只依據實際使用的資源收費。 這邊特別注意一下,目前 Cloud Run 似乎還沒支持 ARM 格式的 image,故有使用 M1 筆電包 docker image 要特別注意一下,這會出現不可預期的 bug !