DevOps
AWS 雲端
開始使用 AWS

無伺服器運算可讓您建立和執行應用程式與服務,而無須擔心伺服器的問題。使用無伺服器運算,您的應用程式仍然在伺服器上執行,但所有伺服器管理工作都由 AWS 完成。AWS Lambda 是無伺服器運算的核心,讓您無須佈建或管理伺服器即可執行程式碼。使用 Lambda 時,您幾乎可以為任何類型的應用程式或後端服務執行程式碼,而且它會運用其高可用性來處理執行程式碼及擴展規模所需的各項工作。

要進一步了解,請加入我們即將舉行的技術會談: 

100x100_benefit_code-quality

AWS Lambda 可以自動執行您的程式碼,您不必再行佈建或管理伺服器。只需編寫程式碼,並上傳到 Lambda 即可。

100x100_benefit_increase-upward1

AWS Lambda 會透過執行程式碼回應各個觸發條件,自動擴展您的應用程式規模。系統會平行處理程式碼,並個別處理各個觸發條件,根據負載量精確調整規模大小。

100x100_benefit_performance

AWS Lambda 的收費標準分別是程式碼的執行時間 (每 100 毫秒加計一次費用),以及程式碼的觸發次數。一旦程式碼停止執行,就不會計算費用。

無伺服器運算可讓您建立可擴展且經濟實惠的應用程式,這些應用程式可自動擴展或縮減,無須佈建、擴展和管理伺服器。您使用 AWS Lambda 執行應用程式的程式碼,然後 Lambda 會觸發程式碼以回應 HTTP 請求、Amazon S3 儲存貯體或 Amazon DynamoDB 表內的資料變更等事件。費用是以執行程式碼的持續時間和觸發程式碼的次數來計費。由於 Lambda 會依工作負載的大小精準地擴展,因此您無須擔心支付閒置的運算費用。

AWS 還提供一組可搭配 Lambda 使用的全受管服務,可用於建立無伺服器應用程式。這些服務可讓您為應用程式新增資料庫和儲存層,或者從行動和 IoT 裝置管理連線和訊息。您可以將這些服務與 Lambda 一起使用,建立無須佈建和維護伺服器或管理資料庫的應用程式。同時,您也不再需要擔心應用程式的容錯能力和可用性。AWS 會提供所有的功能,讓您能夠專注在產品創新並加快上市時間。

交付大規模的無伺服器應用程式需要一個功能完備的平台。以下說明 AWS 如何支援使用無伺服器運算建立的企業級應用程式:

雲端邏輯層

使用 AWS Lambda 支援商業邏輯,以做為所有相互連結的基礎設施資源和 Web API 的控制平面和邏輯層。

協調和狀態管理

使用 AWS Step Functions 協調並管理無伺服器應用程式中每個分散式元件或微型服務的狀態。

回應式資料來源

從各式各樣的資料來源和提供者選擇可使用的項目,以即時處理資料或觸發事件。如需回應式資料來源的清單,請參閱我們的文件

應用程式模型建立架構

使用開放原始碼 AWS Serverless Application Model 製作無伺服器應用程式和服務的模型並進行部署。使用 AWS CodePipelineAWS CodeBuild 等應用程式生命週期管理工具持續交付無伺服器應用程式。

開發人員生態系統

使用第三方工具的生態系統和開放原始碼專案,簡化從開發到生產的程式碼建立、測試和部署。如需開發人員工具的詳細資訊,請參閱我們的生態系統頁面。

整合程式庫

利用我們可重複使用的範本或藍圖集合,輕鬆快速地透過熱門的第三方服務 (例如,Slack、Algorithmia、Twilio、Loggly、Splunk、Sumo Logic 等) 使用整合。

安全和存取控制

使用日誌、變更追蹤、存取控制和加密執行合規和保護整個 IT 環境的安全。使用 AWS Identity and Access Management (IAM) 安全地控制對 AWS 資源的存取。使用 Amazon Virtual Private Cloud (VPC) 建立只有您能存取的私有虛擬網路。

可靠性和效能

AWS 提供高可用性、可擴展且低成本的服務,以提供企業級的效能。AWS Lambda 使用無效字母佇列自動重試次數等內建功能,可靠地執行商業邏輯。如需了解各公司如何使用 AWS 執行應用程式的相關資訊,請參閱我們的客戶案例

世界級規模且遍及全球

使用我們遍及全球的功能,即可在幾分鐘內將應用程式和服務帶到國際市場。多個 AWS 區域提供 AWS Lambda,且可透過 Lambda@Edge 在所有 AWS 節點進行存取。您也可以使用 AWS Greengrass 在本機連線的裝置上執行 Lambda 函數。

AWS 提供您一組全受管服務,用來建立可高度擴展的無伺服器應用程式和服務。您可以使用無伺服器運算建立行動後端、串流資料處理器等各種服務。

運算

使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。只需上傳程式碼,Lambda 就會運用其高可用性來處理執行程式碼及擴展規模所需的各項工作。

儲存

Amazon Simple Storage Service (Amazon S3) 為開發人員和 IT 團隊提供安全、耐久、可高度擴展的物件儲存。Amazon S3 易於使用且具備簡單的 Web 服務界面,可讓您在 Web 上隨處存放和擷取任意數量的資料。

資料庫

Amazon DynamoDB 是一種快速靈活的 NoSQL 資料庫服務,適合所有需要一致性且延遲低於 10 毫秒的任何規模應用程式。它是全受管的雲端資料庫,支援文件和鍵值存放模型。

API 代理

Amazon API Gateway 是一種全受管的服務,可讓開發人員輕鬆地建立、發佈、維護、監控和保護任何規模的 API。Amazon API Gateway 可讓您處理數十萬個並行 API 呼叫,以及處理流量管理、授權和存取控制、監控以及 API 版本管理。

分析

Amazon Kinesis 是 AWS 上的串流資料平台,可提供輕鬆載入和分析串流資料的強大服務,還能讓您針對特殊需求建置自訂的串流資料應用程式。

簡訊和佇列

Amazon SNS 是一個快速靈活而且全受管的發佈訂閱簡訊服務。使用它作為雲端行動應用程式通知服務來傳送推送通知、電子郵件和 SMS 訊息;或作為企業簡訊基礎設施。Amazon SQS 是一個快速、可靠、可擴展且全受管的訊息佇列服務。SQS 簡化了雲端應用程式的組件分離,而且經濟實惠。

協調和狀態管理

AWS Step Functions 可使用視覺化工作流程來輕鬆協調分散式應用程式與微型服務中的各個元件。使用可執行獨立功能的個別元件來建立應用程式,能讓您迅速擴展和變更應用程式。Step Functions 是在應用程式的各個功能中協調元件與步驟的可靠方式。

診斷

AWS X-Ray 可協助開發人員分析和偵錯生產、分散式應用程式,例如那些使用微型服務架構的建置成果。有了 X-Ray,您可以了解應用程式及其基礎服務的執行方式,以識別和疑難排解效能問題與錯誤的根本原因。

使用無伺服器架構幾乎可建立所有類型的應用程式或後端服務。
以下是幾個使用案例:
 

您可以使用 AWS Lambda、Amazon API Gateway、Amazon S3 和 Amazon DynamoDB 建立無伺服器 Web 應用程式和後端,以處理 Web、行動、物聯網 (IoT) 和聊天機器人請求。

範例:Web 應用程式參考架構:架構圖 | 範本程式碼

Lambda_WebApplications

範例:行動後端參考架構:架構圖 | 範本程式碼

Lambda_MobileBackends
Lambda_Bustle

Bustle 使用 AWS Lambda 和 Amazon API Gateway,在其 Bustle iOS 應用程式和網站執行無伺服器後端。使用無伺服器架構之後,Bustle 無須處理基礎設施管理,因此每位工程師都能專注在建立新功能和創新。閱讀案例研究 »

您可以使用 AWS Lambda、Amazon Kinesis、Amazon S3 和 Amazon DynamoDB 建立各種即時資料處理系統。

範例:資料處理參考架構:架構圖 | 範本程式碼

Lambda_FileProcessing
Lambda_SeattleTimes

The Seattle Times 使用 AWS Lambda 來調整影像大小,以便在不同裝置 (例如桌上型電腦、平板電腦和智慧型手機) 上檢視影像。閱讀案例研究 »


範例:即時串流資料參考架構:架構圖 | 範本程式碼 

Lambda_StreamProcessing
serverless-benchling

Benchling 使用無伺服器架構處理大規模的基因體資料,減少 90% 的處理時間。這讓使用其平台的科學家可將更多時間花在研究上。閱讀案例研究 »