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 的初學者來說,這些架構也是非常好的參考資料。

  • AWS Serverless Application Model (AWS SAM) 是一個開源架構,用於建置無伺服器應用程式
  • Serverless Framework 是由開源 CLI 和託管儀表板組成,提供完整的無伺服器應用程式生命週期管理
  • Chalice 是一個用 Python 編寫無伺服器應用程式架構
  • Architect 是用來在 AWS 上建置功能性網頁應用程式的簡易架構
  • Claudia.js 可以輕鬆將 Node.js 專案部署至 AWS Lambda 和 API Gateway

案例分享: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
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
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
債券投資,不只是高資產族群的遊戲 在傳統的投資觀念中,海外債券(Overseas Bonds)常被貼上「高資產族群專屬」的標籤。過去動輒 1 萬甚至 10 萬美元的最低申購門檻,讓許多想尋求穩定配息的小資族望而卻步。 然而,在股市波動劇烈的環境下,尋求穩定的美元現金流與被動收入成為許多投資人
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
透過川普的近期債券交易揭露,探討債券作為資產配置中「穩定磐石」的重要性。文章分析降息對債券的潛在影響,以及股神巴菲特的操作策略。並介紹玉山證券「小額債」平臺,如何讓小資族也能低門檻參與海外債券市場,實現「低門檻、低波動、固定收益」的務實投資方式。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
解析「債券」如何成為資產配置中的穩定錨,提供低風險高回報的投資選項。 藉由玉山證券的低門檻債券服務,投資者可輕鬆入手,平衡風險並穩定財務。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
Thumbnail
相較於波動較大的股票,債券能提供固定現金流,而玉山證券推出的小額債,更以1000 美元的低門檻,讓學生與新手也能參與全球優質企業債投資。玉山E-Trader平台即時報價、條件式篩選與清楚的交易流程等特色,大幅降低投資難度,對於希望分散風險、建立穩定現金流的人來說,玉山小額債是一個值得嘗試的理財起點。
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),意思是可以透過管理介面執行設定與部署而不需要處理底層的伺服器運作與維護。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News