Google在Next 2018大會上發表的服務,近日逐漸正式上線,繼無伺服器NoSQL資料庫Cloud Firestore已正式推出後,Google主打的事件驅動無伺服器運算平臺Cloud Functions也正式上線了。

Cloud Functions是Google在2017年就對外發布的測試版服務,提供Node.js Runtime,還有像是HTTP/S等重要功能,讓使用者部署功能後,就能直接呼叫使用。而現在Google宣布Cloud Functions已正式上線,已經提供SLA能夠投入生產,服務地區增加歐洲和亞洲。這次發布Google將Cloud Functions作業系統升級到了Ubuntu 18.04 LTS,擴大了可用函式庫的範圍,除了Imagemagick一直都有外,還多了Ffmpeg和Libcairo2系統函式庫,連無頭Chrome也有,使用者不只可以在Cloud Functions中處理影片,甚至還能進行網頁截圖。

現在可以在Cloud Functions使用擁有非同步功能的Node 8,由Cloud Functions提供資料與上下文內容,使用者可以使用Node 8的Await關鍵字功能,等待非同步操作的結果,驅動Cloud Functions的功能,而這樣的形式為非同步操作提供更好的心智模型。另外,在Cloud Functions上也可以使用Python 3.7,用法與Node相同,透過HTTP請求由Cloud Functions為後端提供資料與上下文內容,且由於Python的HTTP功能基於Flask微框架,可以非常快速的啟動執行。

而Cloud Firestore也與Cloud Functions整合良好,借助Firebase功能和HTTPS請求觸發的事件Cloud Functions使用者可以讓後端程式碼自動執行。而這個版本已經完全支援Node 8,包括ECMAScript 2017以及Async/Await等相關功能,同時也能對Runtime進行更精細的控制,包括區域、記憶體或是超時等條件,讓使用者微調應用程式的行為。諸如分析、Firestore、即時資料庫與身份驗證等Firebase事件,也能直接在GCP上的Cloud Functions控制臺中使用,使用者透過GCP專案直接驅動功能以回應Firebase事件,將為應用程式帶來額外的設計靈活性。

使用者還能設置Cloud Functions環境變數,透過指定和功能綁定,但不存在於原始碼的鍵值與資料,傳遞設定到功能中,而環境變數會在執行期間注入到環境中。另外,Cloud Functions現在也可以使用完全託管的安全直接連線,連接Cloud SQL。

不過,Cloud Functions仍然有許多功能還未開放使用,但想嘗鮮的使用者已經可以申請試用。像是讓使用者控制規模的擴展控制目前在Alpha測試階段。而無伺服器排程功能也還在測試,該功能將能讓使用者在指定時間啟動Cloud Functions功能,這對於每日例行工作特別有用。還有,Cloud Functions將能存取運算引擎虛擬機器,並加入IAM安全性控制。

而在不久後,使用者也可以用到無伺服器容器,Google將提供支援Cloud Functions底層的架構,讓使用者只要輸入Docker映像檔,就能在任意Linux發布版上,部署任意的Runtime以及系統函式庫,同時保留與Cloud Functions相同的無伺服器特性。


Advertisement

更多 iThome相關內容