AWS Lambda

Serverless event-driven computing.

AWS Lambda to bezserwerowa, sterowana zdarzeniami usługa obliczeniowa dostarczana przez Amazon Web Services (AWS). Pozwala ona programistom na uruchamianie kodu bez konieczności udostępniania lub zarządzania serwerami. Programiści przesyłają swój kod jako funkcje Lambda, a AWS automatycznie zarządza infrastrukturą wymaganą do uruchamiania i skalowania tego kodu z wysoką dostępnością. Funkcje są wywoływane przez różne zdarzenia, takie jak zmiany danych w zasobniku Amazon S3, aktualizacje tabeli Amazon DynamoDB lub żądania [API Gateway](/pl/terms/api-gateway). Gdy wystąpi wyzwalacz, Lambda wykonuje funkcję, alokując niezbędne zasoby obliczeniowe. Rozliczenia opierają się na liczbie żądań oraz czasie trwania/pamięci zużytej podczas wykonania, z hojnym darmowym poziomem. Kluczowe funkcje obejmują automatyczne skalowanie, bezstanowe środowiska wykonawcze (chociaż stan można zarządzać zewnętrznie), obsługę wielu języków programowania (Node.js, Python, Java, C#, Go, Ruby, PowerShell i niestandardowe środowiska uruchomieniowe) oraz integrację z szeroką gamą usług AWS. Funkcje Lambda są zazwyczaj krótkotrwałe, zaprojektowane do konkretnych zadań, a nie do długo działających aplikacji. Kompromisy obejmują potencjalne zimne starty (opóźnienie, gdy funkcja nie była ostatnio wywoływana), limity czasu wykonania, ograniczenia pamięci i tymczasowego przechowywania danych oraz uzależnienie od dostawcy (vendor lock-in) do ekosystemu AWS. Jest idealna do przetwarzania zdarzeń, mikroserwisów, transformacji danych i backendowych interfejsów API.

        graph LR
  Center["AWS Lambda"]:::main
  Rel_api_gateway["api-gateway"]:::related -.-> Center
  click Rel_api_gateway "/terms/api-gateway"
  Rel_microservices["microservices"]:::related -.-> Center
  click Rel_microservices "/terms/microservices"
  Rel_serverless["serverless"]:::related -.-> Center
  click Rel_serverless "/terms/serverless"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Sprawdzenie wiedzy

1 / 4

🧒 Wyjaśnij jak 5-latkowi

Pomyśl o AWS Lambda jak o magicznym kucharzu, który gotuje tylko wtedy, gdy poprosisz o konkretne danie (następuje zdarzenie). Dajesz kucharzowi przepis (twój kod), a on natychmiast go gotuje, używając odpowiednich narzędzi, obciążając Cię tylko za czas, który spędza na gotowaniu.

🤓 Expert Deep Dive

AWS Lambda działa w oparciu o model wykonania oparty na kontenerach. Kiedy funkcja jest wywoływana, Lambda udostępnia mikro-kontener, ładuje kod funkcji i wykonuje go. W przypadku rzadko wywoływanych funkcji, ten krok udostępniania wprowadza opóźnienie 'zimnego startu'. Kolejne wywołania w krótkim czasie ponownie wykorzystują istniejący kontener ('ciepły start'), znacznie redukując opóźnienie. Funkcje Lambda są z natury bezstanowe; wszelki wymagany stan musi być utrwalony zewnętrznie (np. w DynamoDB, S3, RDS). Model współbieżności pozwala na równoległe uruchamianie wielu instancji funkcji, zarządzanych przez AWS w celu zaspokojenia popytu do limitów współbieżności na poziomie konta. Provisioned Concurrency (Zarezerwowana Współbieżność) może być używana do łagodzenia zimnych startów dla aplikacji wrażliwych na opóźnienia, utrzymując określoną liczbę środowisk wykonawczych w stanie gotowości. Bezpieczeństwo jest zarządzane za pomocą ról IAM, przyznających funkcjom szczegółowe uprawnienia do dostępu do innych zasobów AWS. Mechanizm mapowania źródła zdarzeń pozwala Lambda na odpytywanie źródeł zdarzeń (takich jak strumienie Kinesis) i wywoływanie funkcji z partiami rekordów. Rozważania architektoniczne obejmują optymalizację alokacji pamięci funkcji (która wpływa również na alokację CPU), zarządzanie zależnościami i projektowanie pod kątem idempotentności ze względu na potencjalne ponowne próby.

📚 Źródła