AWS Lambda – usługa typu Function as a Service w architekturze serverless w ramach platformy Amazon Web Services (AWS); umożliwiająca uruchamianie kodu aplikacji w odpowiedzi na zdarzenia bez konieczności zarządzania serwerami lub środowiskiem wykonawczym[1][2][3][4][5].Usługa jest elementem architektur chmurowych opartych na zdarzeniach[3][6][7].
Charakterystyka
edytujAWS Lambda umożliwia wykonywanie funkcji w odpowiedzi na zdarzenia generowane przez inne usługi AWS, takie jak Amazon S3, Amazon API Gateway, Amazon DynamoDB czy Amazon EventBridge. Kod jest uruchamiany w zarządzanym środowisku wykonawczym, a skalowanie odbywa się automatycznie w zależności od liczby zdarzeń[1][4][8].
Cechy AWS Lambda:
- brak konieczności zarządzania serwerami i systemem operacyjnym (model fully managed)[8],
- automatyczne skalowanie poziome w odpowiedzi na liczbę zdarzeń[3][9],
- rozliczanie według rzeczywistego użycia (liczba wywołań i czas wykonania)[1][4][10][11],
- integracja z innymi usługami AWS poprzez mechanizmy zdarzeń i wyzwalaczy[1][4][12],
- obsługa wielu języków programowania oraz możliwość definiowania własnych środowisk wykonawczych (custom runtime)[13].
Usługa obsługuje wiele języków programowania, w tym Python, JavaScript (Node.js), Java, C# (.NET), Go oraz Ruby. Możliwe jest także definiowanie własnych środowisk wykonawczych (custom runtime)[13]. Możliwe jest również uruchamianie funkcji w innych językach dzięki mechanizmowi custom runtime, opartemu na obrazie kontenera lub interfejsie wykonawczym Lambda Runtime API[14][15].
Model rozliczeniowy AWS Lambda opiera się na zasadzie pay-as-you-go. Koszt zależy od[1][4][6][10][15][11]:
- liczby wywołań funkcji,
- czasu wykonania funkcji (mierzonego w milisekundach),
- ilości przydzielonej pamięci, od której zależna jest również dostępna moc obliczeniowa,
- funkcje są bezstanowe, co wymusza korzystanie z zewnętrznych systemów przechowywania danych[1][4][7][8][16],
- możliwe opóźnienia pierwszego uruchomienia funkcji (tzw. cold start), szczególnie w przypadku integracji z Amazon VPC[4][17][18].
Funkcje AWS Lambda podlegają określonym limitom[19][16]. Maksymalny czas pojedynczego wykonania funkcji wynosi 15 minut[4][19][20],
Zastosowania
edytujPrzykładowe, powszechne zastosowania AWS Lambda[4][21]:
- implementacja backendów HTTP i REST przy użyciu Amazon API Gateway lub AWS ALB[22],
- przetwarzanie obiektów przesyłanych do Amazon S3 (np. generowanie miniatur, analiza danych)[23],
- obsługa strumieni danych z Amazon DynamoDB i Amazon Kinesis[24],
- realizacja zadań automatyzacyjnych i administracyjnych (np. reakcje na zdarzenia infrastrukturalne)[25],
- budowa systemów opartych na architekturze mikrousług[26].
Przykłady
edytujPrzykładowa funkcja AWS Lambda w języku Python zwracająca prostą odpowiedź HTTP:
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": "Hello from AWS Lambda"
}
Analogiczna funkcja w JavaScript (Node.js):
export const handler = async (event) => {
return {
statusCode: 200,
body: "Hello from AWS Lambda"
};
};
Przypisy
edytuj- ↑ a b c d e f Ilona Bluemke, Arkadiusz Zdanowski, Evaluation of configurations of AWS Lambda functions, International Journal of Electronics and Telecommunications, 9 lipca 2025, DOI: 10.24425/ijet.2025.153619 [dostęp 2026-01-22] (ang.).
- ↑ Maciej Malawski; Adam Gajek; Adam Zima; Bartosz Balis; Kamil Figiela. Serverless execution of scientific workflows: Experiments with HyperFlow, AWS Lambda and Google Cloud Functions. „Future Generation Computer Systems”. 110, s. 502–514, 2020. DOI: 10.1016/j.future.2017.10.029. [dostęp 2026-01-22]. (ang.).
- ↑ a b c Hassan B. Hassan; Saman A. Barakat; Qusay I. Sarhan. Survey on serverless computing. „Journal of Cloud Computing”. 10, s. art. 39, 2021-07-12. DOI: 10.1186/s13677-021-00253-7. [dostęp 2026-01-22]. (ang.).
- ↑ a b c d e f g h i Isaac Sacolick: How to make the most of AWS Lambda. InfoWorld, 2020-06-08. [dostęp 2026-01-22]. (ang.).
- ↑ Adžić 2020 ↓, s. 5–6.
- ↑ a b Serverless on AWS [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ a b Serverless Applications Lens – AWS Well-Architected Framework [online], Amazon Web Services [dostęp 2026-01-22] (ang.).
- ↑ a b c What is AWS Lambda? [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ AWS Lambda scaling [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ a b AWS Lambda Pricing [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ a b Adžić 2020 ↓, s. 7–10.
- ↑ Using AWS Lambda with other services [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ a b Lambda runtimes [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Custom runtimes [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ a b Ron Miller: AWS announces high resource Lambda functions, container image support & millisecond billing. TechCrunch, 2020-12-01. [dostęp 2026-01-22]. (ang.).
- ↑ a b Adžić 2020 ↓, s. 11–13.
- ↑ Lambda execution environment [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Anup Mohan i inni, Agile Cold Starts for Scalable Serverless [online], USENIX HotCloud 2019 [dostęp 2026-01-22] (ang.).
- ↑ a b AWS Lambda quotas [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ AWS promises everyone their 15 minutes of….Lambda execution. DevClass, 2018-10-12. [dostęp 2026-01-22]. (ang.).
- ↑ AWS Lambda use cases [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ API Gateway Lambda integration [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Using AWS Lambda with Amazon S3 [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Using AWS Lambda with DynamoDB [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Using AWS Lambda with EventBridge [online], Amazon Web Services [dostęp 2026-01-19].
- ↑ Microservices on AWS [online], Amazon Web Services [dostęp 2026-01-19].
Bibliografia
edytuj- Gojko Adžić: Działaj z Serverless. Wprowadzenie do AWS Lambda i architektury Serverless. Warszawa: Wydawnictwo Naukowe PWN, 2020. ISBN 978-83-01-21292-6. [dostęp 2026-01-22]. (pol.).