目前為止從傳統走向至今,仍然需要高度依賴在後端有資源已經等待著有服務需求來做適時的回應,但無論多與少都是要租用痴痴的等...雖然已經有非常多的監看工具可以配合調整至貼近符合商業服務需求的效能資源,但還是有很多是在等待的時間..成本還是不知不覺的流逝..
我們難道不能跟全聯一樣省了還要更省(有真的用到資源執行才付錢...沒用到不用付的)另外也更不用管理惱人的IaaS / PaaS都能省去這樣的管理工作..只要把核心的事做好剩下全都是雲端的事.
Serverless這一詞就這樣誕生了...其實Serverless(所謂無伺服器)並非指沒有Server,而是不用去擔心維護Server 這件事,而無論是部署或開發,都是以一個個function作為單位,用事件驅動(event driven)方式觸發才進行運算,而有在運算才會產生成本...這就是基本function的忠旨.
這是基本的Cloud Functions流程圖,對外可連結多個API服務透過Cloud Functions將單一功能程式碼附加在雲端服務事件上。當Event觸發時,Cloud Functions會啟動執行動作並回傳結果.
其實如果沒有超過所規定的次數,資料量都是免費的!以下有更詳盡的價格費用
補充價格計算上其中一欄需要你填入執行時會需要多少ms-->這單位是豪秒(1000ms=1sec)記得.
https://cloud.google.com/functions/pricing#invocations
我這邊擷取官方對於Cloud Functions使用的效能規格使用建議場景(標準小型函數運算如紅框所視)
接下來我們來簡單做個牛刀小試.選到Cloud Functions
需要啟用API,就啟用吧!
因為都是用程式碼做驅動,來啟用函式
選擇後端執行的規格效能(我選擇小型函式場景256MB)
觸發條件非常多種,我先選擇http類型
有分原始碼上版方式以及程式語言(目前僅支援Node.js / Python兩種),我先選擇手動edit以及Node.js 6.x
再來是服務執行的地區,我選擇亞洲
逾時終止的時間就依照預設60秒(自行決定調整)完成就建立吧!
Cloud Functions建立中
OK,建立完成了!還算快,來簡單測試一下函式
觸發條件經過剛剛設定用http來做觸發產生了一組URL
來執行一下這組URL沒錯產生顯示Hello World的網頁
來簡單執行一下Hello World測試,輸出端立刻就印出結果
我們可以看到執行Functions後都有所謂的狀態紀錄(最多顯示100筆)成功狀態200 OK
回頭來看看這筆Functions監看包含有事件呼叫,記憶體用量與執行花費多少時間從趨勢圖來做檢視
試試用github上的sample指令來做觸發(範例連結如下)
https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/functions/gcs
用github上的命令用http方式建立一functions
可以監看到剛剛所調用的次數時間(wordCount)
不過在最後階段要call sample.txt產生事件驅動卻一直說沒法讀取定義
Starkdriver上對此錯誤報告來看有不少行的錯誤....這真的要找時間來好好查一下了@@
這篇今天就到這了!!待小弟查到問題或有另外的OK的範例再來補充,感謝收看....81