『聽到無伺服器(Serverless)架構第一次聽到會覺得很酷炫,但其實無伺服器架構並不是沒有伺服器,而是利用更龐大的架構實現出方便於開發人員有更友善的選擇,接著我們試著體驗其帶來的使用便利性。 』
什麼是函數計算(Function Compute)
函數計算是阿里雲上一個全託管的運算服務,並透過事件來觸發運行,所有的計算資源、負載能力、網路連線、操作系統都由阿里雲進行完全的管理,省掉了基礎環境的搭建,程式開發者不需要再額外學習佈署傳統的 serverful 架構、調校伺服器、套件安裝等事情,將時間運用專注在程式應用的開發使用上,對於現在追求的敏捷開發有相當大的幫助。
下圖比較函數運算與自行架設服務上的差異:
在使用函數計算可以支援多種方式包含自定義的容器鏡像、網頁伺服器軟體、輕量的 linux 的執行環境及多種程式語言,這邊可以注意觸發器的選擇。
HTTP觸發器:
針對 HTTP 請求的(GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH、DELETE、OPTIONS、HEAD、PATCH)
事件觸發器:
主要關聯著阿里雲上的原生服務,可以靈活的透過觸發執行函數運算
筆者剛好前陣子有接觸一套很不錯的圖片處理工具 - imgproxy ,可以對網路位置的圖像進行裁切、水印、模糊等處理,這次實作希望將觸發圖像處理的工作建立在函數運算上,接著我們就直接來看如何使用吧!