技術部落格

集結國內外精選文章,掌握最新雲端技術新知與應用

iKala Cloud / 基礎架構 / 【GCP 專欄】Cloud Functions 的介紹與應用

【GCP 專欄】Cloud Functions 的介紹與應用

Google Cloud Functions – 在無伺服器的環境中打造並連結雲端服務

目前 Cloud Function 僅在 beta 測試階段,日後可能會因再修正而出現不相容的情況,因此暫不支援 SLA 。

 

 data-lazy-src=

Cloud Functions 是透過 Javascript 程式語言所寫,並被執行在 GCP Node.js v6.11.1 的環境中。也因此您可以在所有標準的 Node.js 上執行 Cloud Functions,這讓本地測試和可移植性也變得更加容易。

連結並延展您的雲端服務

Cloud Functions 提供了一層邏輯的連接層,讓您可以透過寫 code 去連結並延展您的雲端服務,像是當檔案上傳到 Cloud Storage、log 更改、在 Cloud Pub / Sub 上的訊息。 Cloud Functions 增強了既有的雲端服務,並允許您使用任意編程邏輯來處理越來越多的案例。

Cloud Functions 有 Google Service Account 的憑證,也因此能通過 GCP 上許多服務的驗證,像是 Datastore, Cloud Spanner, Cloud Translation API, Cloud Vision API 等服務。除此之外,許多 Node.js client libraries 支援 Cloud Functions,這些都再再簡化了整合功能。

Events 和 Triggers

Cloud Events 指的是那些發生在您雲端環境的事件,像是修改 Database 裡面的資料、將檔案新增至存儲系統、建置一台新的 VM等等。

不論您有沒有要回應那些 Events,Events 皆會發生。若您對特定 Events 感興趣,您可以選擇回應,這樣的行為稱之為 Trigger。您可以透過將 Functions 綁定在 Trigger 上來採集 Event 並對其採取行動。想瞭解更多如何創建 Triggers 並將其與 Functions 做連結的資訊,請參考 Events and Triggers

無伺服器

Cloud Functions 省去了您管理伺服器、配置軟體、更新框架、修補正在運作的伺服器的工作。Google 會負責管理所有軟體及基礎設施,所以您僅負責加上程式碼即可。此外,Google Functions 能自動調配資源,這代表就算在一天之內不管這個 Functions 被 call了幾次或是幾百萬次,您都不需多做額外的工作。

 data-lazy-src=

Cloud Functions 因為具備 fine-grained 和 依用量自動配置資源 (On-demand)的特質,使其成為輕量級 API 和 webhook 的絕佳選項。此外,當您部署 HTTP Functions 時,將會自動配置 HTTP 端點,代表著這不需要管理複雜的設定。更多常見 Cloud Functions 案例,請參考下表:

 

案例 敘述
資料處理 / ETL 監聽並回應 Cloud Storage Event。像是檔案創建、修改或刪除,以及處理圖片、視頻轉碼、驗證/轉換數據,並從您的 Cloud Functions 中調用網路上的服務等等。
webhook 透過簡單的 HTTP trigger,可以回應來自第三方系統的 Event,像是 GitHub、Slack、Stripe,或是任何可以發送 HTTP 請求的地方。
輕量級 APIs 透過能快速建構和即時擴展的輕耦合邏輯,去組合應用程式,您的 Functoin 可以透過驅動 Event 或透過 HTTP/S 直接調用。
行動裝置後端服務(Mobile Backend) 善用 Firebase( GCP 提供的後端平台),並用 Cloud Functions 撰寫 Mobile Backend。監聽並回應那些從 Firebase Analytics、Realtime Database、Authentication 和 Storage 中發出的 Event。
物聯網 即便有幾十萬台的設備要將資料傳輸到 Cloud Pub/Sub,Cloud Functions 能讓您以無伺服器的方式去處理、轉換、儲存資料。

(原文翻譯自:https://cloud.google.com/functions/docs/concepts/overview)

 

分享本文:
FacebookLineTwitter
回到頂端