AWS Lambda - pierwsze kroki

Aplikacje webowe zdominowały nasze codzienne życie. Nie wystarczy jedynie zaprojektowanie i stworzenie aplikacji. Konieczne jest zarządzanie nią. To z kolei zwykle oznacza konieczność stworzenia serwera o wysokiej wydajności. Alternatywą, która zyskuje ogromną popularność, jest AWS Lambda- rozwiązanie pozwalające na przeniesienie swoich deweloperskich działań do chmury. To także spora oszczędności, a tym samym na utrzymanie najwyższej wydajności działania aplikacji.
https://cms.pracuj.pl/content/uploads/2024/01/o-digital-wast-2024-01-02T121820.889.jpg

W tym artykule

  • AWS Lambda to platforma typu serverless, która pozwala programistom na tworzenie i uruchamianie aplikacji w chmurze.
  • Najważniejsze parametry Lambdy to memory i timeout. 
  • AWS Lambda obsługuje wiele języków, między innymi Java, Python, Ruby.
  • AWS Lambda Layers mają na celu zmniejszenie rozmiaru pakietu wdrożeniowego.

Spis treści

  1. AWS Lambda - pierwsze kroki
  2. Czym jest AWS Lambda?
  3. Najważniejsze parametry Lambdy
  4. AWS Lambda Memory
  5. AWS Lambda Timeout
  6. Języki obsługiwane przez AWS Lambda
  7. Jakie zdarzenia wyzwalają działanie Lambdy?
  8. Czym są AWS Lambda Layers?
  9. Pierwsza funkcja w AWS Lambda krok po kroku.
  10. Podsumowanie

Czym jest AWS Lambda?

AWS Lambda jest usługą obliczeniową serverless, dostępną na AWS. Mówiąc inaczej, AWS Lambda to usługa bezserwerowa, czyli Function as a service, w skrócie FaaS. Dzięki niej możliwe będzie stworzenie kodu i zarządzanie swoją aplikacją bez potrzeby utrzymywania własnych serwerów. Ogólne działanie AWS Lambda zaczyna się od zdarzenia (eventu), które powoduje wyzwolenie działania Lambdy. Zdarzenia te mogą pochodzić z różnych serwisów bądź z systemów zewnętrznych.

Zasadniczo Lambdę można wywołać w dwóch trybach - w trybie synchronicznym i asynchronicznym. W trybie synchronicznym wysyła się żądanie i otrzymuje na nie odpowiedź. W trybie asynchronicznym żądanie jest wysyłane do kolejki zdarzeń. Korzystanie z AWS Lambda jako usługi Function as a Service będzie zatem korzystne głównie ze względu na fakt, że użytkownik płaci tylko za czas przetwarzania danej funkcji.

Najważniejsze parametry Lambdy

Tworzenie lambdy wymaga wzięcia pod uwagę dwóch najważniejszych parametrów- memory oraz timeout. Przyjrzyjmy się im bliżej, by zrozumieć, na czym konkretnie one polegają.

AWS Lambda Memory

Memory to dostępna pamięć RAM, która jest przypisana do instancji usługi. Maksymalny limit pamięci wynosi 10 GB. Jeśli limit zostanie przekroczony, instancja zostaje zatrzymana.

AWS Lambda Timeout

AWS LambdaTimeout definiuje się natomiast jak maksymalny czas wykonywania funkcji. Parametr timeout pozwala na znaczące ograniczenie kosztów. Możemy określić odpowiedni dla budżetu czas wykonywania danej funkcji, a jeżeli zostanie on przekroczony, to funkcja zostanie zatrzymana. Co ważne maksymalny czas dla funkcji wynosi 15 minut.  

Języki obsługiwane przez AWS Lambda

Języki obsługiwane przez Lambdę (AWS Lambda Languages) to obecnie:

Ponadto możliwe jest korzystanie z dodatkowych języków programowania przy użyciu interfejsu API środowiska wykonawczego (np. AWS Lambda Typescript). W zależności od wybranego języka nieco inaczej będzie wyglądało tworzenie funkcji. Na przykład wykorzystując język Node.js, kod funkcji można dostarczyć w formie zbudowanej zewnętrznie paczki w formacie ZIP bądź napisać go bezpośrednio we wbudowanym edytorze do tworzenia funkcji.

Jakie zdarzenia wyzwalają działanie Lambdy?

Zdarzeniem wyzwalającym działanie Lambdy może być właściwie wszystko. Natomiast eventem może być zarówno jedno, jak i więcej zdarzeń z serwisów AWS bądź z systemów zewnętrznych. Funkcję wywołuje się w jednym z dwóch trybów. Pierwszym z nich jest tryb synchroniczny, zwany także typem request/response. W tym trybie wysyłane będzie żądanie, na które następnie przychodzi odpowiedź.

Drugi typ wywoływania funkcji, to typ asynchroniczny, polegający na wysyłaniu żądania do lambdy i dodawaniu go do kolejki zdarzeń. Tryb asynchroniczny zwany jest także trybem event.

Czym są AWS Lambda Layers?

AWS LambdaLayers to pliki .zip, zawierające dodatkowy kod bądź inną zawartość, np. biblioteki, dane czy pliki konfiguracyjne. Warstw używa się głównie w celu zmniejszenia rozmiaru pakietu wdrożeniowego. Uruchamiając lambdę, zawartość warstwy zostaje wypakowana do folderu /opt znajdującego się w kontenerze i zostaje dostępna dla kodu. Zastosowanie warstwy ma znaczenie także dla ominięcia limitu wielkości kodu zastosowanego w danym edytorze.

Pierwsza funkcja w AWS Lambda krok po kroku.

Wiesz już, czym jest i jak działa AWS Lambda- zatem skupmy się na tym, jak stworzyć pierwszą funkcję serverless. Gotowy? No więc zaczynamy!

  1. Zacznij od utworzenia swojej Lambdy. W tym celu uruchom Lambda Service w AWS i kliknij okienko „Create Function”. Następnie wybierz opcję „Author from scratch” i wprowadź nazwę swojej funkcji. Nazwa jest oczywiście dowolna. Następnie wybierz język programowania, jakim będziesz się posługiwać. Może być to np. AWS Lambda Python czy AWS Lambda Java. Wybierz okno "Create a new role with basic Lambda permissions" i kliknij przycisk "Create function". W ten sposób stworzyliśmy Lambdę z domyślnym kodem, który wymaga aktualizacji.
  2. Przejdź do sekcji "Function code" i zaktualizuj kod. Aby zapisać wyniki, kliknij przycisk "Save".

Aby funkcja uruchamiała się w odpowiednim momencie, musimy stworzyć jej wyzwalacz. W tym celu klikamy przycisk „Add trigger”. Zdarzeniem mogą być np. komendy, pliki załadowane do S3 czy cała masa innych triggerów. Po wybraniu wyzwalacza kliknij "Add".

Twoja funkcja jest gotowa do testów.

Kod funkcji AWS Lambda jest tworzony w stylu stateless, a więc jest bezstanowy i nie ma żadnego wpływu na wcześniejsze wdrożenia. Warto pamiętać również o tym, by na bieżąco usuwać niepotrzebne funkcje. Korzystanie z AWS Lambda jest korzystne również ze względów finansowych- bazowe koszty hostowania kodu są zerowe, a płaci się dopiero za wykonanie kodu. Całkowita kwota do zapłaty wynika więc z czasu wykorzystywania zasobów przez aplikację, a czas działania serwera jest zaokrąglany do 100 milisekund. 

Podsumowanie

Stworzenie prostej funkcji jest zaledwie wstępem do potężnych możliwości, jakie daje korzystanie z AWS Lambda. Z jej pomocą możesz tworzyć własne mikroserwisy i aplikacje bez konieczności tworzenia własnych serwerów.

the:protocol © 2026 Grupa Pracuj S.A.