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

閱讀時間約 5 分鐘

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

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

4 個 serverless 的特性

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

採用 serverless 的優點

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

AWS Lambda 是什麼?

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

AWS Lambda 的功能

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

AWS Lambda 的應用方式

Event source (來源事件) → Lambda function (函式) → Services (服務)
  • 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 供應機可供應什麼飲料。

延伸閱讀

為什麼會看到廣告
avatar-img
20會員
29內容數
AWS Startup Content Team
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
AWS Educate的沙龍 的其他內容
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex! Amazon Lex 聊天機器人的 5 大元素 在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項: 位置 (Slot):完成操作所需的輸入資料
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
本篇文章要介紹的是 AWS 的雲端運算服務 —— Amazon Elastic Compute Cloud (EC2),文末也會帶領讀者使用 EC2 建立 Web Server。
【人物專訪】企劃是由 AWS Educate PR Team 主導的一項全新計畫!! 這次人物專訪邀請到的是在104資訊科技擔任Data Engineer的Scott Hsieh來與我們分享雲端學習和使用經驗,同時他也是AWS Community builder Program的成員之一。
十分榮幸本次能夠邀請到雲端大使偉傑與我們分享雲端相關的所見所聞,以及擔任大使期間的豐富經驗及心得,下文以四大主軸回顧本場精彩的分享。
在 3/16 這天,Ambassador Startup 團隊的Rickie 為我們帶來一場從零開始上手的基礎攝影課程。
本篇文章將透過實際建立一個 Amazon Lex 聊天機器人,帶大家認識 Amazon Lex! Amazon Lex 聊天機器人的 5 大元素 在開始建立聊天機器人以前,先向大家介紹 AWS 如何定義 Lex 聊天機器人介面的元素,分別是以下 5 項: 位置 (Slot):完成操作所需的輸入資料
我們很榮幸地邀請到了在 IBM Consulting 擔任大數據工程師的 Kenny ,以大數據下的技術演變作為主題,與我們分享他的職涯。
本篇文章要介紹的是 AWS 的雲端運算服務 —— Amazon Elastic Compute Cloud (EC2),文末也會帶領讀者使用 EC2 建立 Web Server。
【人物專訪】企劃是由 AWS Educate PR Team 主導的一項全新計畫!! 這次人物專訪邀請到的是在104資訊科技擔任Data Engineer的Scott Hsieh來與我們分享雲端學習和使用經驗,同時他也是AWS Community builder Program的成員之一。
十分榮幸本次能夠邀請到雲端大使偉傑與我們分享雲端相關的所見所聞,以及擔任大使期間的豐富經驗及心得,下文以四大主軸回顧本場精彩的分享。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
透過充分利用 AWS Organizations 和 CloudFormation StackSets,您可以更好地實現企業級的雲端管理與控制,為業務的持續發展提供穩固的技術支撐。
Thumbnail
雲端已經成為App開發的核心,而Amazon的AWS(Amazon Web Services是開發者常用的平台,可以幫助開發者建立、整合和擴展App。
本篇文章將介紹如何使用Lambda建立Pre-Sign URL 的簡單範例,讓讀者瞭解如何自行發揮。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
你是否曾對那些支撐著我們日常生活、工作與娛樂的網路系統背後的運作原理感到好奇?想知道是什麼力量讓我們能夠順暢地上網購物、交友、瀏覽資訊嗎?就現在,就讓我們一起探索伺服器(Server)的秘密,從定義到種類,從現狀到趨勢,一篇文章帶你全面探索伺服器的世界!
Thumbnail
lambda 函式,又稱為“匿名函式”,是一種在 Python 中快速定義單行函式的方法,與 def 定義函式不同,lambda 函式不需要命名。本文將介紹 lambda函式的基礎語法,以及實際應用範例演示。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
透過充分利用 AWS Organizations 和 CloudFormation StackSets,您可以更好地實現企業級的雲端管理與控制,為業務的持續發展提供穩固的技術支撐。
Thumbnail
雲端已經成為App開發的核心,而Amazon的AWS(Amazon Web Services是開發者常用的平台,可以幫助開發者建立、整合和擴展App。
本篇文章將介紹如何使用Lambda建立Pre-Sign URL 的簡單範例,讓讀者瞭解如何自行發揮。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS是一種雲端服務模型,所使用的運算資源託管在公有雲 、私有雲或混合雲中,能將傳統IT硬體設備統整為虛擬的運算資源,而得以針對運算需求彈性地調配資源。
Thumbnail
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
Thumbnail
實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端
你是否曾對那些支撐著我們日常生活、工作與娛樂的網路系統背後的運作原理感到好奇?想知道是什麼力量讓我們能夠順暢地上網購物、交友、瀏覽資訊嗎?就現在,就讓我們一起探索伺服器(Server)的秘密,從定義到種類,從現狀到趨勢,一篇文章帶你全面探索伺服器的世界!
Thumbnail
lambda 函式,又稱為“匿名函式”,是一種在 Python 中快速定義單行函式的方法,與 def 定義函式不同,lambda 函式不需要命名。本文將介紹 lambda函式的基礎語法,以及實際應用範例演示。
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的