Wprowadzenie do AWS Lambda

AWS Lambda to responsywna usługa w chmurze, która sprawdza działania aplikacji i reaguje, wdrażając kody zdefiniowane przez użytkownika zwane funkcjami. Zanim dogłębnie poznamy ten temat, najpierw zrozummy AWS Lambda z dwóch różnych scenariuszy.

Problem

Masz na myśli projekt. Algorytm formułujesz w swoim umyśle. Oceniasz opcje stosu technologii, których możesz użyć do zbudowania swojego projektu. Wszystko idzie bardzo dobrze, dopóki nie uświadomisz sobie, że musisz pobrać wymagane oprogramowanie, IDE, narzędzia i uzyskać przestrzeń na serwerze do obsługi kodu. Dobra, musisz skonfigurować podstawową infrastrukturę, zanim zaczniesz kodowanie w swoim projekcie. Och, ale potrzebujesz aplikacji do płynnego działania na komputerach i interfejsach mobilnych. Oznacza to więcej infrastruktury do skonfigurowania, zanim uderzysz w kodowanie naziemne.

Zbyt wiele narzutów na początkowe etapy rozwoju? Zbyt duży narzut związany z zarządzaniem infrastrukturą, nawet gdy Twój projekt się skaluje? Czy Twój projekt wykracza poza szacunki kosztów? Czy twoja uwaga jest podzielona na wszystkie rzeczy oprócz kodowania?

Rozwiązanie - są to problemy, ale AWS Lambda jest rozwiązaniem.

AWS Lambda - Computingless Server

AWS Lambda umożliwia uruchamianie kodu bez obsługi administracyjnej serwerów i innej infrastruktury wspierającej. Możesz kodować w dowolnym typie aplikacji lub usługi zaplecza bez martwienia się o serwer lub obsługiwane biblioteki DLL / oprogramowanie. Musisz tylko skupić się na kodzie. Resztą zajmuje się AWS, poczynając od serwowania kodu, poprzez uruchamianie kodu w określonych zdarzeniach, po zarządzanie większą ilością miejsca na serwerze, gdy kod się skaluje.

  • AWS rozlicza Cię na podstawie czasu wykonania kodu w wielokrotnościach 100-milisekundowych ramek. Nie pobiera się opłat za czas, gdy kod pozostaje bezczynny na serwerze. Jaka lepsza motywacja do pisania wydajnego kodu!
  • Termin „bezserwerowy” często oznacza przejście do chmury. Dzięki chmurze możesz przekazać swoje obowiązki operacyjne AWS i skupić się bardziej na zapewnieniu lepszej jakości obsługi klienta za pośrednictwem aplikacji.
  • Robiąc to, AWS obsługuje zadania takie jak zarządzanie infrastrukturą, klastrowanie, łatanie, bezpieczeństwo, konserwacja systemu operacyjnego itp.

Dlaczego AWS Lambda?

Podobnie jak natura ludzka, zawsze dobrze jest ocenić, czy technologia / narzędzie jest warte korzyści. Zobaczmy niektóre funkcje AWS Lambda, które ułatwiają życie programistom.

1) Przynieś swój własny kod

Ponieważ AWS bardzo chętnie chwali się tą funkcją, Lambda pozwala na kodowanie w dowolnym języku, a AWS zapewniłoby wsparcie. Obsługuje prawie wszystkie języki ojczyste, frameworki JavaScript, biblioteki stron trzecich i inne funkcje.

2) Wiele innych usług AWS

AWS to kompleksowe centrum obsługi całej potrzebnej infrastruktury. Ma łatwą integrację z różnymi usługami, takimi jak pamięć (S3), bazy danych (RDS, DynamoDB), serwery (EC2), zarządzanie bezpieczeństwem (IAM), praca w sieci (Route53, CloudFront) i wiele innych.

3) Kod niestandardowy

Chcesz napisać niestandardową logikę zaplecza dostosowaną do pojedynczego klienta? Zamiast pisać logikę po stronie klienta, użyj AWS Lambda do pisania niestandardowych usług i uwolnienia kodu od aktualizacji platformy klienta.

4) Pay Per Use

Nie musisz wydawać dolców za czas, gdy kod jest bezczynny. Jeśli Twoja usługa odbiera działania tylko w ciągu dnia, zapłać tylko za czas wykonania kodu. Oblicza się to w przedziałach czasowych 100 milisekund.

5) Automatyczne skalowanie

AWS automatycznie skaluje zasoby, gdy Twoja usługa otrzyma wyższe trafienia. Nie musisz niczego konfigurować, aby uzyskać dodatkowe zasoby. Nie ma ograniczeń co do liczby żądań, które Twój kod może obsłużyć. Tak więc wydajność pozostaje wysoka przez cały czas.

6) Amazon's Disaster Recovery

Po powieleniu kodu i danych w wielu strefach dostępności żadna awaria urządzenia nie ma wpływu na aplikację. Żądania są automatycznie kierowane do innej strefy.

Zacznijmy od AWS Lambda Tutorial

Podekscytowany? Zacznijmy od AWS Lambda. Ponieważ jest to zwyczaj w całym świecie programowania, zaczniemy od prostego programu „Hello World”.

Wstępnie wymagane kroki

Aby rozpocząć korzystanie z AWS Lambda, musisz mieć konto AWS. Różni się od konta Amazon używanego do zakupów. Jeśli już go masz, zaloguj się do konsoli i przejdź do następnej sekcji. Jeśli nie, wykonaj poniższe czynności. Nie martw się, jest całkowicie darmowy, o ile twoja aplikacja nie przekroczy limitu bezpłatnych poziomów.

Utwórz konto AWS

  • Otwórz konsolę AWS. Kliknij Utwórz nowe konto AWS.

  • Uzupełnij informacje i zaktualizuj dane karty. Amazon nie obciąży Cię żadnymi opłatami, chyba że przekroczysz limit bezpłatnego korzystania. Limit wykorzystania w dowolnej warstwie jest duży w przypadku programowania dla jednego użytkownika.
  • Po zakończeniu procesu rejestracji ponownie odwiedź link w kroku 1. Tym razem zaloguj się do konsoli za pomocą nazwy użytkownika i hasła.

Wejdź do Lambda Console

Po zalogowaniu się do konsoli zarządzania AWS w panelu nagłówka zobaczysz łącze do usług. Kliknij na niego, a znajdziesz Lambdę w podsekcji Compute .

Tak na pierwszy rzut oka wygląda konsola lambda:

Możesz także przejść do pulpitu Lambda i zobaczyć statystyki swojego kodu. Daje wgląd w liczbę wywołań, czas trwania wykonania, wskaźnik powodzenia i błędów itp. Przykładowy pulpit wygląda podobnie do poniższego.

Ok, więc następnym krokiem jest utworzenie funkcji. Wszystkie kody w języku Lambda są nazywane funkcjami, ponieważ, no cóż, wykonują określone zadanie. Zwróć uwagę na przycisk Utwórz funkcję w prawym górnym rogu konsoli Lambda. Ten przycisk przeniesie nas do poniższego ekranu:

Tworzenie funkcji lambda AWS

Zobaczmy, jak utworzyć funkcję lambda AWS, wykonując poniższe kroki.

Krok 1

Teraz mamy trzy opcje na początek:

  • Autor od zera - otrzymasz pusty szablon i możesz napisać kod od zera.
  • Użyj Blueprint - szablonu z dołączonymi bibliotekami, które odpowiadają Twoim potrzebom. Musisz tylko popracować nad logiką swojego kodu.
  • Przeglądaj repozytorium aplikacji bez serwera - gotowe do użycia wbudowane kody wykonujące różne funkcje. Można je również łatwo wykorzystać w kodzie.

Aby spełnić nasz cel, jakim jest zrozumienie Lambda, najpierw skorzystamy z planu. Gdy będziesz mieć pewność, możesz zacząć konstruować kod od zera i odkryć potencjał AWS Lambda.

Teraz kliknij Użyj schematu i wyszukaj słowo cześć. Pojawiają się następujące wyniki. Stwórzmy naszą aplikację witającą świat za pomocą NodeJS.

Krok 2

Teraz dochodzimy do ekranu konfiguracji naszej funkcji. Wpisz wybraną nazwę i wybierz „Utwórz nową rolę z szablonów zasad AWS” z menu rozwijanego Rola wykonania. Nadaj nazwę roli „lambda_basic_execution”.

Uwaga - Rola wykonania określa uprawnienia, które AWS Lambda może przejąć podczas wykonywania kodu. Podstawowe wykonanie oznacza, że ​​lambda po prostu wykona kod, gdy nie jest zaangażowana biblioteka innej firmy. W przypadku, gdy Twój kod musi wchodzić w interakcje z Amazon S3, RDS lub EC2 lub innymi usługami, należy uzyskać odpowiednie uprawnienia dostępu do tych usług dla funkcji lambda AWS.

Kliknij przycisk Utwórz funkcję u dołu ekranu. Po pomyślnym utworzeniu funkcji pojawi się następujący ekran.

Uwaga - Nazwa zasobów ARN lub Amazon to unikalna nazwa Twojej funkcji. Może to służyć jako punkt końcowy do uruchomienia funkcji. Wyzwalacze w sekcji projektanta służą do dodawania usług, które mogą wyzwalać Twoją funkcję. W każdej usłudze, która może wyzwolić twoją funkcję, ARN twojej funkcji musiałby zostać skonfigurowany. To jak dwukierunkowe wiązanie usług. Usługa wyzwalacza będzie wiedziała, że ​​musi nacisnąć twoją funkcję, a twoja funkcja będzie skonfigurowana do odbierania żądań od dodanych usług wyzwalających. Dodawanie wyzwalaczy to kolejny poziom samouczków lambda i wykracza poza zakres tego artykułu.

Krok 3

Poniżej podsekcji projektanta jest podsekcja Kod funkcji. To jest twoje wbudowane IDE obsługiwane przez Amazon. Wygląda to mniej więcej tak:

  • W menu rozwijanym Typ wpisu kodu możesz wybrać, czy chcesz edytować kod bezpośrednio, czy przesłać plik zip z systemu, czy przesłać plik zip z Amazon S3. Opcji przesyłania można używać w przypadku złożonych kodów, które można łatwo edytować w lepiej wyposażonym środowisku IDE w systemie lokalnym.
  • Środowisko wykonawcze jest językiem / strukturą obsługującą Twój kod.
  • Handler to funkcja wywoływania wewnątrz funkcji lambda AWS. Twoja funkcja lambda AWS może mieć wiele programów obsługi i możesz określić, z którym programem obsługi chcesz rozpocząć wykonywanie. Programy obsługi obrazów jako metody przeznaczone do wykonywania określonych zadań.

Krok 4

Na górze strony zobaczysz pasek z kilkoma przyciskami. Kliknij Wybierz zdarzenie testowe, aby przetestować nasz kod. Pojawi się monit o skonfigurowanie zdarzenia testowego, na wypadek, gdyby żadne nie zostało utworzone.

Skonfiguruj swoje pierwsze zdarzenie testowe, takie jak to poniżej:

Zapisz zdarzenie testowe i kliknij Test. Zobaczysz wyniki wykonania swojej funkcji.

  • Odpowiedź - wynik końcowy zwracany przez twoją funkcję. Zauważ, że nasza funkcja zwróciła klucz1.
  • Identyfikator żądania - każde żądanie do Twojej funkcji ma unikalny identyfikator żądania. Są one wykorzystywane przez Amazon do śledzenia żądań i generowania informacji rozliczeniowych.
  • Dzienniki funkcji - najbardziej wnikliwa część AWS Lambda. Są to szczegółowe dzienniki określające początek i koniec wykonywania funkcji. W przeciwieństwie do debugowania w zwykłych IDE, AWS Lambda w dużym stopniu opiera się na logach w celu debugowania. Są one również przechowywane w CloudWatch do wykorzystania w przyszłości.

Gratulacje! Pomyślnie utworzyłeś funkcję Lambda. Ale czekaj, jeszcze go nie wywołaliśmy. Właśnie przetestowaliśmy to w naszym własnym środowisku. Przywołajmy to ze świata zewnętrznego.

Wywoływanie funkcji lambda AWS

Tworzymy interfejs API REST w celu wywołania funkcji Lambda.

Krok 1

Przejdź do Amazon API Gateway. Można go również znaleźć w obszarze Usługi -> Sieć i dostarczanie treści. Kliknij Utwórz interfejs API.

Krok 2

Skonfiguruj podstawowe dane API jak poniżej i kliknij Utwórz API.

Krok 3

Teraz tworzony jest interfejs API, ale w interfejsie API nie zdefiniowano żadnej metody HTTP. Kliknij menu Działania i Utwórz metodę. Zauważysz mniejszą listę rozwijaną w lewym okienku. Kliknij GET z tego menu. Zasadniczo tworzymy metodę HTTP GET dla naszego interfejsu API.

Krok 4

Skonfiguruj metodę GET, aby wywoływała funkcję lambda, jak pokazano poniżej. Musisz podać ARN swojej funkcji Lambda w polu Funkcja Lambda. Kliknij Zapisz.

Po zapisaniu metody GET powinieneś przejść do poniższego ekranu wykonywania metody.

Krok 5

Teraz tworzona jest również twoja metoda GET. Ale nadal nie dostarczyliśmy par klucz-wartość, które zrobiliśmy w naszym środowisku testowym. Nasza funkcja AWS Lambda oczekuje trzech kluczy i wartości. Zdefiniujmy je.

Kliknij Żądanie integracji i przewiń w dół do Szablony mapowania. Zdefiniuj szablon mapowania jak poniżej. Typ zawartości to application / json. Jest to po prostu format parametrów wysyłanych w treści żądania.

Interfejs API jest teraz gotowy do wdrożenia.

Krok 6

Kliknij Działania i Wdróż interfejs API. W wyskakującym okienku wdrażania wybierz opcję Nowy etap i podaj sensowną nazwę i opis.

Pojawi się poniższy ekran z punktem końcowym REST interfejsu API skonfigurowanym i gotowym do użycia.

Kliknij punkt końcowy, a przeglądarka wyśle ​​zapytanie do Twojej funkcji Lambda i wyświetli odpowiedź.

Gratulacje! Z powodzeniem wywołałeś również swoją funkcję Lambda. Całkiem osiągnięcie.

Kto może nauczyć się AWS Lambda

Do tej pory musi być oczywiste, że funkcja AWS Lambda wymaga niewielkiej wiedzy na temat usług, wdrażania usług, żądań i odpowiedzi. Jest to podstawowa rzecz, którą każdy programista musi znać, aby tworzyć aplikacje internetowe. Jeśli nie masz wystarczającej wiedzy na ten temat, zaleca się zdobycie tej wiedzy, aby zapewnić bezproblemowe kodowanie w AWS Lambda.

AWS posiada również obszerną dokumentację wszystkich swoich usług. Przejrzyj dokumentację, aby lepiej zrozumieć świat AWS.

Kariera w AWS Lambda

To nie tylko Lambda, ale cały sektor Amazon Web Services jest dziś dynamicznie rozwijający się. Istnieje zapotrzebowanie na ekspertów w zakresie usług AWS. AWS zapewnia również certyfikaty odpowiadające Twojemu poziomowi wiedzy. Odwiedź stronę AWS, aby uzyskać dodatkowe informacje na ten temat.

Wniosek

Teraz, gdy znasz podstawy funkcji AWS Lambda, przejdź do tworzenia kolejnych funkcji i integracji z innymi usługami AWS. Graj dalej i ucz się dalej. Twoje zdrowie!

Polecane artykuły

To był przewodnik po tym, co jest AWS Lambda. W tym samouczku na temat funkcji AWS Lambda wyjaśniliśmy, jak skonfigurować i wdrożyć interfejs API. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest AWS? | Jak to działa?
  2. Kariera na platformie Azure | Edukacja | Ścieżka kariery
  3. Przewodnik po usługach w chmurze
  4. Jakie są alternatywy dla AWS?
  5. Kompletny przewodnik po dostawcach usług w chmurze

Kategoria: