Serverless (無伺服器架構) 和 AWS Lambda

更新於 發佈於 閱讀時間約 6 分鐘

什麼是 serverless (無伺服器運算)?

無伺服器運算是一種開發架構,允許開發者在不用管理伺服器的情況下建置部署和執行應用程式。無伺服器運算裡仍然有伺服器,只是伺服器是由雲端服務供應商負責處理配置、維護、拓展伺服器基礎設施的日常工作,開發者可以專注於開發程式碼。

4 個 serverless 的特性

  • 使用者無需配置或管理伺服器
  • 隨使用量增加或縮減資源
  • 按用量付費
  • 具有可用性和容錯率

採用 serverless 的優點

  • 提高敏捷性
  • 減少閒置資源浪費
  • 更專注於焦點
  • 自動拓展
  • 能快速面對市場

AWS Lambda 是什麼?

Lambda 是 AWS 的無伺服器運算服務,Lambda 藉由事件驅動,並按使用量計費,可以讓使用者執行程式碼,無須部署和管理伺服器。

AWS Lambda 的功能

  • 自訂邏輯拓展其他 AWS 服務
  • 自動擴展服務資源
  • 開發者可以使用自己的程式碼
  • 自動化管理所有基礎設施
  • 高可用性與容錯能力
  • 將函數封裝和部署為容器映像
  • 有效提高效能控管
  • 整合式安全模型

AWS Lambda 的應用方式

Event source (來源事件) → Lambda function (函式) → Services (服務)

raw-image
  • Event source:例如資料更動、資源更動、端點請求等。
  • Lambda function:AWS Lambda 原生支援 Java、Go、PowerShell、Node.js、C#、Python 和 Ruby 程式碼,並提供 Runtime API,讓使用者可以使用任何其他程式設計語言編寫功能。
  • Services:可以結合其他 AWS 服務做後續處理

哪些來源事件可以觸發 AWS Lambda?

Lambda 函數和觸發程式 (trigger) 是使用 AWS Lambda 時的核心元件,Lambda 函數是處理事件的程式碼,而觸發程式是呼叫 Lambda 函數使其執行的事件,通常為 AWS 服務或應用程式。

AWS Lambda 常見的事件來源有 Amazon S3、DynamoDB、網站 HTTP 請求、APP 等,AWS Lambda 還有支援更多 AWS 服務當作事件來源,如果需要詳細資訊,可以至 AWS 官方文件查詢。

AWS Lambda 的使用案例

  • 從 Amazon S3 推送事件 (PUT、POST、COPY 或 DELETE 等) 並叫用 Lambda 函數
  • 從 Amazon Kinesis 串流或 Amazon SQS 佇列中提取記錄,然後為每個擷取的訊息執行 Lambda 函數
  • 使用 Lambda 函數訂閱另一個 AWS 帳戶中的 Amazon SNS 主題,並授予許可以允許這兩個資源可彼此存取
  • 設定 Amazon Lex 機器人時,指定 Lambda 函數執行驗證回應,或是叫用 Lambda 函數以履行使用者請求
  • 以 AWS Lambda 建立應用程式的後端

在 AWS 上採用 serverless 架構

Lambda 是 AWS 的無伺服器運算服務,除了 Lambda 外 AWS 也針對整合和資料儲存提供無伺服器服務。

如果想要在 AWS 上採用 serverless 架構,可以在 AWS 官方提供、開源架構或是第三方 Web 架構中選擇,以下是熱門的 serverless 架構。對於想要了解 serverless 的初學者來說,這些架構也是非常好的參考資料。

案例分享:Coca-Cola Freestyle

COVID-19 疫情期間大家會避免肢體接觸或共用物品以防止被病毒傳染,疫情持續改變著消費者的行為。可口可樂公司在 2020 年為此研發出全新的倒飲料方式:透過手機選擇、送出,就可以在 Coca-Cola Freestyle 供應機取得飲料。

Freestyle 專案從初始想法構思到完成,只花費不到 4 個月的時間,在 150 天內,Freestyle 團隊便將應用程式從原型拓展到 10,000 個機器。

根據 AWS 官網的介紹,Freestyle 團隊之所以能在這麼快速的時間內,測試、大規模推出新機器並且預期能正常運作,有很大一部份功能是靠著其背後採用的 AWS serverless 架構。

例如為了提供消費者即時的服務體驗, Freestyle 團隊在 AWS Lambda 建立後端及 Amazon API Gateway,因此應用程式能快速取的所以機器的所有成分庫存,在消費者以手機連線時,他們就能馬上知道 Freestyle 供應機可供應什麼飲料。

延伸閱讀

無伺服器運算 – Amazon Web Services

AWS Lambda – Amazon Web Services

[實作] AWS Lambda & Amazon API Gateway 建立 Telegram 聊天機器人

留言
avatar-img
留言分享你的想法!
avatar-img
AWS Educate的沙龍
20會員
29內容數
AWS Startup Content Team
AWS Educate的沙龍的其他內容
2022/04/19
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
Thumbnail
2022/04/19
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
Thumbnail
2022/03/14
本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex! Amazon Lex 聊天機器人的 5 大元素 在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項: 位置 (Slot):完成操作所需的輸入資料
Thumbnail
2022/03/14
本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex! Amazon Lex 聊天機器人的 5 大元素 在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項: 位置 (Slot):完成操作所需的輸入資料
Thumbnail
2022/03/12
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
Thumbnail
2022/03/12
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
Thumbnail
看更多
你可能也想看
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
家中修繕或裝潢想要找各種小零件時,直接上網採買可以省去不少煩惱~看看Sylvia這回為了工地買了些什麼吧~
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
👜簡單生活,從整理包包開始!我的三款愛用包+隨身小物清單開箱,一起來看看我每天都帶些什麼吧🌿✨
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
Lambda Log 是存放至 CloudWatch Logs, 格式跟log level只能預設,但現今是可以修改的 Log 格式:Text Log level:無 Log Group :/aws/lambda/Function Name 實驗開始 新建立測試Functi
Thumbnail
Lambda Log 是存放至 CloudWatch Logs, 格式跟log level只能預設,但現今是可以修改的 Log 格式:Text Log level:無 Log Group :/aws/lambda/Function Name 實驗開始 新建立測試Functi
Thumbnail
雖然lambda本身的概念就是主打無伺服器+各自獨立運行的function,但有時又不免其然的需要共用代碼,像是api可能都需要做權限驗證。 會有這方面的研究是因為公司正好要將app跟web共用的api搬到api gateway去處理,但我馬上就想到會有code reuse的問題,怎麼樣用可維護的
Thumbnail
雖然lambda本身的概念就是主打無伺服器+各自獨立運行的function,但有時又不免其然的需要共用代碼,像是api可能都需要做權限驗證。 會有這方面的研究是因為公司正好要將app跟web共用的api搬到api gateway去處理,但我馬上就想到會有code reuse的問題,怎麼樣用可維護的
Thumbnail
研究這個部分起因是因為公司某些功能服務是使用AWS Serverless來處理計算,故而外訂立了三個月學習NodeJS的計畫,並開始試著實作Serverless服務,Jest測試還沒研究到,下次再補充說明。
Thumbnail
研究這個部分起因是因為公司某些功能服務是使用AWS Serverless來處理計算,故而外訂立了三個月學習NodeJS的計畫,並開始試著實作Serverless服務,Jest測試還沒研究到,下次再補充說明。
Thumbnail
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。
Thumbnail
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。
Thumbnail
1.首先 這是 “AWS 上的工作負載發現” 的解決方案,我嘗試了一下,覺得很方便,所以介紹一下~ https://aws.amazon.com/tw/solutions/implementations/workload-discovery-on-aws/ 2. 部署 官方提供 CloudF
Thumbnail
1.首先 這是 “AWS 上的工作負載發現” 的解決方案,我嘗試了一下,覺得很方便,所以介紹一下~ https://aws.amazon.com/tw/solutions/implementations/workload-discovery-on-aws/ 2. 部署 官方提供 CloudF
Thumbnail
PaaS 是指平台即服務(platform as a service),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。
Thumbnail
PaaS 是指平台即服務(platform as a service),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。
Thumbnail
什麼是 serverless (無伺服器運算)? 無伺服器運算是一種開發架構,允許開發者在不用管理伺服器的情況下建置部署和執行應用程式。無伺服器運算裡仍然有伺服器,只是伺服器是由雲端服務供應商負責處理配置、維護、拓展伺服器基礎設施的日常工作,開發者可以專注於開發程式碼。
Thumbnail
什麼是 serverless (無伺服器運算)? 無伺服器運算是一種開發架構,允許開發者在不用管理伺服器的情況下建置部署和執行應用程式。無伺服器運算裡仍然有伺服器,只是伺服器是由雲端服務供應商負責處理配置、維護、拓展伺服器基礎設施的日常工作,開發者可以專注於開發程式碼。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News