Wprowadzenie do AWS Lambda dla początkujących

Nauczmy się krok po kroku podstaw AWS Lambda i uruchamiania funkcji.

Wstęp

Tworząc aplikacje, chcesz, aby zapewniały doskonałe wrażenia użytkownika. Aby zadziałała magia, Twoja aplikacja potrzebuje kodu zaplecza, który działa w odpowiedzi na zdarzenia.

Jednak zarządzanie infrastrukturą do hostowania i wykonywania kodu zaplecza wymaga określenia rozmiaru, udostępnienia i skalowania wielu serwerów, zarządzania aktualizacjami systemu operacyjnego, stosowania poprawek zabezpieczeń, a następnie monitorowania całej tej infrastruktury pod kątem wydajności i dostępności.

Czy nie byłoby miło, gdybyś mógł skupić się na tworzeniu świetnych aplikacji bez martwienia się o ich infrastrukturę? I tu pojawia się AWS Lambda.

Co to jest AWS Lambda?

AWS Lambda to bezserwerowa usługa obliczeniowa, która umożliwia uruchamianie kodu bez martwienia się o udostępnianie serwera lub zarządzanie nim. Możesz uruchomić swoją aplikację lub usługę zaplecza przy użyciu AWS Lambda bez żadnej administracji. Po prostu prześlij swój kod na Lambdę, a on uruchomi Twój kod, a nawet skaluje infrastrukturę z wysoką dostępnością.

Kod, który uruchamiasz na AWS Lambda, nazywa się funkcją lambda. Obecnie obsługuje następujące języki programowania:

  • Jawa
  • Pyton
  • C#
  • Node.js
  • Iść
  • PowerShell
  • Rubin

Zapewnia również interfejs API środowiska wykonawczego, którego można używać do uruchamiania funkcji napisanych w innych (natywnych) językach programowania.

Aby pracować z AWS Lambda, jest tylko jeden warunek wstępny; powinieneś mieć konto na AWS, z którego możesz uzyskać dostęp do konsoli zarządzania AWS.

Możesz zadzwonić do Lambda is FaaS (Function-as-a-Service) przez AWS.

Funkcje AWS Lambda

Poniżej znajdują się niektóre z ważnych funkcji oferowanych przez AWS Lambda:

  • AWS Lambda łatwo skaluje infrastrukturę bez dodatkowej konfiguracji. Zmniejsza to wymaganą pracę operacyjną.
  • Oferuje wiele opcji, takich jak AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit i wiele innych, aby wywołać zdarzenie.
  • Nie musisz inwestować z góry. Płacisz tylko za pamięć używaną przez funkcję lambda i minimalny koszt liczby żądań, dzięki czemu jest to opłacalne.
  • AWS Lambda jest bezpieczna. Wykorzystuje AWS IAM do definiowania wszystkich ról i zasad bezpieczeństwa.
  • Oferuje odporność na awarie zarówno dla usług uruchamiających kod, jak i dla funkcji. Nie musisz się martwić, że aplikacja spadnie.

Ceny AWS Lambda

Cena AWS Lambda zależy od czasu trwania i pamięci używanej przez napisaną przez Ciebie funkcję lambda. Maksymalnie można przypisać 3008 MB pamięci do funkcji lambda w krokach co 64 MB. Poniżej znajduje się tabela cen ze wszystkimi płytami pamięci na 100 milisekund.

Jak działa AWS Lambda?

  • Najpierw tworzysz funkcję i dodajesz do niej podstawowe informacje, takie jak język programowania, który ma być używany w funkcji.
  • Następnie piszesz swój kod w edytorze lambda lub przesyłasz go w obsługiwanym języku programowania w pliku ZIP.
  • Po przesłaniu kodu lambda usługa obsługuje całe skalowanie pojemności, poprawki i administrację infrastrukturą.
  • Aby uruchomić kod, musisz wywołać funkcję lambda za pomocą zewnętrznej usługi AWS, która może wywołać funkcję lambda. Na przykład może to być wiadro S3.
  • W ciągu kilku sekund lambda będzie gotowa do automatycznego uruchomienia Twojej funkcji, gdy wystąpi zdarzenie. AWS Lambda uruchamia twój kod po wywołaniu zdarzenia wyzwalającego. Zapewnia zarządzanie i monitorowanie serwerów dla Ciebie.
  • Jeśli twoja funkcja wymaga dużej mocy obliczeniowej, wybierze typ instancji, który ma większą moc obliczeniową i pamięć RAM, lub jeśli twój kod lambda jest wykonywany tylko przez dwie sekundy, wybierze najniższą możliwą instancję, co oszczędza pieniądze i czas .

Tak więc AWS Lambda działa wewnętrznie. Pozwól, że pokażę ci demo na AWS Lambda.

Tworzenie funkcji Lambda AWS

Zamierzam stworzyć bardzo prostą grę, używając funkcji lambda w Node.js na potrzeby tego artykułu. Stworzę funkcję lambda do rzucania kostką, losowego generowania liczby od 1 do 6 i drukowania jej.

  • Przejdź do konsoli zarządzania AWS i w pasku wyszukiwania wpisz Lambda, kliknij Lambda.

  • Pojawi się okno funkcji, kliknij Utwórz funkcję.

  • Otrzymasz różne opcje tworzenia funkcji wraz z ich wyjaśnieniem. Ponieważ tworzę go od podstaw, wybiorę Autora od podstaw.

  • Następnie musisz wypełnić kilka niezbędnych informacji dla tej funkcji lambda. Wprowadź nazwę funkcji i wybierz wersję Node.js, której chcesz użyć dla tej funkcji.
  • Musisz także wybrać rolę wykonawczą. Ponieważ nie mam zdefiniowanej żadnej istniejącej roli na moim koncie AWS, wybiorę opcję tworzenia nowej roli. Kliknij Utwórz funkcję.

  • Otrzymasz wiadomość o powodzeniu, że namaszczenie zostało utworzone. Kliknij okno Projektanta, aby je zminimalizować.

  • Następnie pojawi się okno Kod funkcji.
  • Umieść poniższy kod w edytorze. Możesz również przesłać kod za pomocą pliku zip, ale używam wewnętrznego edytora kodu AWS.

  • Jest to prosty kod, który przyjmuje liczby tylko od 1 do 6 i wykorzystuje losową funkcję matematyczną do losowego generowania liczby i drukowania jej po wywołaniu funkcji.
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out="Dice throw result is: " + randomNum;
return out;
};
  • Teraz kliknij przycisk Test w prawym górnym rogu. Otrzymasz wyskakujące okienko, aby skonfigurować zdarzenie testowe, wprowadzić nazwę zdarzenia i kliknąć opcję Konfiguruj.

  • Teraz kliknij Zapisz, a następnie Testuj.

W Rezultacie wykonania zobaczysz wynik logiki funkcji, którą właśnie napisaliśmy. Drukuje – Wynik rzutu kostką to 2.

  • Przewiń w górę i kliknij szczegółowe wyniki wykonania, aby uzyskać pełne podsumowanie tej funkcji lambda wraz z oczekiwanym wynikiem. Dostępne są również szczegóły, takie jak identyfikator żądania, czas trwania, czas trwania faktury, skonfigurowane zasoby itp. z danymi wyjściowymi dziennika.

  • Kliknij kartę monitorowania, aby zwizualizować dzienniki obserwacji w chmurze i wydajność funkcji lambda w określonym czasie.

  • Jeśli wejdziesz do logów utworzonych przez CloudWatch, możesz zobaczyć szczegóły tego, co się stało, gdy uruchomiła się funkcja lambda, która była monitorowana przez CloudWatch.

Wniosek

Pierwsze kroki z Lambdą jest naprawdę łatwe. Jeśli Twoja aplikacja biznesowa wymaga uruchomienia kodu zaplecza, możesz rozważyć użycie platformy bezserwerowej, takiej jak AWS Lambda.

Podobał Ci się artykuł? A co powiesz na dzielenie się ze światem?