善用 FaaS 自動化排程 合理調控雲端資產成本

近年來函式即服務(Function as a Service, FaaS)在資訊開發、資訊運作領域快速增長。函式即服務屬於雲端運算的一環,雲端運算則經常與其他熱門資訊技術一同被談及,如應用程式介面(API)、物聯網(IoT)、行動應用程式(mobile app)等。
12

近年來函式即服務(Function as a Service, FaaS)在資訊開發、資訊運作領域快速增長。函式即服務屬於雲端運算的一環,雲端運算則經常與其他熱門資訊技術一同被談及,如應用程式介面(API)、物聯網(IoT)、行動應用程式(mobile app)等。

不過雲端技術在開發上的用處價值遠大於其他熱門技術,在一份由 New Stac k發佈的「無伺服器指引,Guide to Serverless」報告中,我們可以發現「無伺服器」技術已在多種運用情境中被大程度地運用,依據運用率高低依序為 73% HTTP REST 應用程式介面與網頁型應用程式、68% 批次作業或排程工作、60% 商務商業邏輯運作,以及 34% 持續整合管線。

New Stack 的調查報告並不讓人意外,最需要運用無伺服器技術的是雲端型應用程式,比例將近是整體受訪群的四分之三。而更有趣的在後頭,批次與排程的運用也佔了高比例,至於商務、商業邏輯串連運作也達過半。在四種高比例運用項中,「排程」這一項主要是運用雲端函式來管理雲端資產,而所謂的雲端資產指的是租賃使用的運算力、儲存空間、網路流量等。

運用無伺服器、函式即服務(Serverless、FaaS 兩者近似但有時並不完全等同)的技術,可以把雲端運算資源最佳化運用,在運算負荷高時增加運算資源,而在輕載時則自動停用、釋放與歸還資源給雲端服務供應商,資源得以彈性、即時地縮放,此特別適合用於虛擬容器與微服務的搭配運作上。完全依據應用程式需求來增減資源,並完全依據資源使用量付費,閒置未用的資源則因歸還而不需付費,如此可讓雲端運算更自動化、更合理化地精省成本。

有些人會覺得,應用程式閒置時確實會有一些資源浪費,但並不多,不需要太在意,但其實積少成多,如果同時開啟與執行多個應用程式,累積起來的閒置浪費與開銷就會很可觀。

要想達到「使用時開啟、閒置時退還」的自動化、合理化運作必須使用 FaaS/Serverless 的排程能力,事先想定各種應用程式的使用情境,以及因應情境而有的資源調配、調派動作,例如有些應用程式其實只給企業內員工在工作天時使用,如此在假日時就可以關起來,退用其運算資源,進而節省成本。

值得一提的是,有些雲端服務供應商的雲端函式(FaaS)可以提供一個省錢的路子,讓您的應用程式在夜間(非白天工作時間)或週末(非工作天)處於「溫」的狀態,即介於運作(熱)或關機(冷)兩種狀態間,例如一天 24 小時只運作 12 小時,另外 12 小時停歇,如此就可省下一半的錢。

更廣義而言,雲端函式服務形同提供一套在雲端執行的自動化程式,類似過去在本機端使用 Unix、Linux 作業系統時的 cron 工具程式,該程式可提供時間為基礎的排程運作機制。

F5 身為應用程式服務、應用程式交付網路技術的領導業者,也與 Amazon/AWS、Google/GCP、Microsoft/Azure 等國際重量級雲端服務商合作,運用服務商的條件自動化公有雲函式,如 AWS Lambda、Google Cloud Functions、Azure Functions 等,來實現應用程式的預先排程運作,使過往在企業自有資訊機房、企業私有雲內運用的應用程式調派、調撥技術,也能在公有雲環境上實現。