Facebook - konwersja
Czytaj fragment
Pobierz fragment

Działaj z Serverless - ebook

Data wydania:
1 stycznia 2020
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(2w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
Czytaj fragment
Pobierz fragment
84,00

Działaj z Serverless - ebook

Książka Działaj z Serverless. Wprowadzenie do AWS Lambda i architektury Serverless to praktyczny poradnik, jak rozpocząć pracę z AWS Lambda oraz Serverless Application Model (SAM). Narzędzia te wspólnie pozwalają na tworzenie w łatwy sposób automatycznie skalujących się API oraz serwisów zaprojektowanych pod wdrożenia klasy serverless.
W kolejnych rozdziałach książki Działaj z Serverless autor wyjaśnia, jak:
• stworzyć aplikacje, które w pełni wykorzystają potencjał architektury serverless,
• zbudować automatycznie skalujące się API,
• obsługiwać wykonywanie zadań w tle oraz różne modele obsługi zdarzeń,
• skonfigurować potok wdrożeniowy, tak aby praca w zespole była efektywna,
• testować i rozwiązywać problemy w aplikacjach zaprojektowanych na platformę AWS Lambda,
• sprawdzać i monitorować rozwiązania klasy serverless.

Działaj z Serverless. Wprowadzenie do AWS Lambda i architektury Serverless została przygotowana w oparciu o doświadczenia autora przy budowie narzędzia MindMup. Ma pomóc czytelnikowi szybciej przejść drogę do stworzenia aplikacji działającej na platformie AWS Lambda, korzystając z dobrych praktyk i unikając pułapek. Kolejne rozdziały pokazują, jak zbudować taką aplikację w praktyce.

Gojko Adžic rozpoczyna od wyjaśnienia, jak stworzyć proste statyczne API i rozbudować ją do pełnej i prawdziwej aplikacji służącej do skalowania obrazów, gotowej do przyjęcia milionów użytkowników, ze wszystkimi usługami wspierającymi wdrożenie i zarządzanie takim produktem. W trakcie tworzenia i wdrażania różnych części aplikacji czytelnik dowie się, jak działa AWS Lambda i usługi pokrewne, pozna także wskazówki, techniki i narzędzia, które pomagają w budowaniu rozwiązań klasy serverless.

Kategoria: Informatyka
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-01-21355-8
Rozmiar pliku: 5,2 MB

FRAGMENT KSIĄŻKI

Podziękowania

Wielu ludzi pomogło mi uczynić tę książkę lepszą, sugerując dodatkowe źródła, usprawnienia lub znajdując oraz pomagając w niej poprawić błędy. Dziękuję następującym osobom:

Alan Richardson, Aleksandar Simović, Alex Casalboni, Alvaro Garcia, Chris Haggstrom, Christian Pfisterer, Cyrille Martraire, Damjan Vujnović, Daniel Bryant, Daniel Zivkovic, Darryl Hughes, David Howell, Dejan Dimić, Gavin Manning, Ivica Kolenkaš, João Rosa, Lynn Langit, Marcus Hammarberg, Mashooq Badar, Michael Bolton, Michael Fagan, Mike Roberts, Paul Julius, Phil Hunt, Pieter Herroelen, Rich Vaughan, Rob Park, Shaolang Ai, Slobodan Stojanović, Vicenç García Altés.

Bardzo dziękuję Nikoli Korać, która ilustrowała tę książkę, oraz Mary White, która ją redagowała, za to, że obie uczyniłyście ją bardziej przystępną.O autorze

Gojko Adžić jest współzałożycielem i współtwórcą MindMup, narzędzia typu SaaS (Software as a Service), które umożliwia wspólną pracę nad mapami myśli – jego rozwiązanie było jednym z pierwszych produktów opartych na platformie AWS Lambda. Jest także jednym z głównych kontrybutorów Claudia.js, popularnego narzędzia, które służy do wdrażania aplikacji typu serverless. Autor posiada również tytuł AWS Serverless Hero, który został mu nadany w 2019 r.

Gojko jest także partnerem w firmie Neuri Consulting LLP, zdobywcą nagrody European Software Testing Outstanding Achievement Award z 2016 roku oraz zdobywcą tytułu Most Influential Agile Testing Professional z roku 2011. Książka Gojko Specification by Example zdobyła nagrodę Jolt Award za najlepszą książkę roku 2012, a jego blog wygrał UK Agile Award za najlepszą publikację online w roku 2010. Jest również autorem poniższych książek i publikacji w języku angielskim:

- Człowiek vs komputer;
- Fifty Quick Ideas to Improve Your Tests;
- Fifty Quick Ideas to Improve Your User Stories;
- Impact Mapping;
- Specyfikacja na przykładach;
- Bridging the Communication Gap.

Aby móc się z nim skontaktować, pisz na [email protected] lub odwiedź stronę: https://gojko.net.Aktualizacje

Platformy typu serverless ewoluują bardzo szybko, a AWS w zasadzie co kilka miesięcy zmienia coś, co dotyczy AWS Lambda. To pokazuje, jak trudno dostarczyć coś trwałego i długofalowego w postaci książki. Co więcej, po zakończeniu pisania pierwszej wersji książki, tuż przed oddaniem jej do druku, AWS wypuścił aktualizację dla środowiska uruchomieniowego Node.js na platformie Lambda oraz zmiany dotyczące narzędzia SAM, co spowodowało, że dwa rozdziały stały się zbędne i zmusiło mnie to do napisania ich od nowa. Zdecydowałem o przesunięciu daty druku, tak aby opracować informacje w możliwie najświeższy sposób.

Ta wersja książki opiera się na wersji platformy i na stanie ekosystemu ze stycznia 2020, wykorzystując środowisko uruchomieniowe AWS Lambda w wersji Node.js 12.x oraz narzędzie SAM w wersji 0.40.0.

Planuję utrzymywać aktualność elektronicznej wersji książki po wdrożeniu nowości przez AWS. Jeśli chcesz dowiedzieć się o zmianach oraz zapoznać się z tym, co się zmieniło od momentu opublikowania jej wersji drukowanej, wejdź na stronę https://runningserverless.com. Jeśli kupiłeś wydanie papierowe lub wersję elektroniczną, zapisz się na wyżej wymienionej stronie w celu otrzymania darmowej aktualizacji w formie elektronicznej.Wprowadzenie

Ta książka pomoże Ci rozpocząć pracę z AWS Lambda oraz narzędziem Serverless Application Model (SAM). Lambda jest usługą dostępną na platformie Amazon Web Services do uruchamiania kodu, który jest sterowany zdarzeniami, a SAM to rozwiązanie otwartoźródłowe (open source), które w znaczący sposób upraszcza konfigurację i wdrażanie oparte na wyżej wymienionej usłudze. Wspólnie pozwalają na tworzenie w łatwy sposób automatycznie skalujących się API oraz serwisów zaprojektowanych pod wdrożenia klasy serverless. W kolejnych rozdziałach dowiesz się, jak:

- stworzyć aplikacje, które w pełni wykorzystają potencjał architektury serverless;
- zbudować automatycznie skalujące się API;
- obsługiwać wykonywanie zadań w tle oraz różne modele obsługi zdarzeń;
- skonfigurować potok wdrożeniowy, tak aby praca w zespole była efektywna;
- testować oraz rozwiązywać problemy w aplikacjach zaprojektowanych na platformę AWS Lambda;
- sprawdzać i monitorować rozwiązania klasy serverless.

Książka została przygotowana na podstawie moich własnych doświadczeń zdobytych w trakcie budowy narzędzia MindMup, służącego do przygotowań map myśli w formie zespołowej pracy zdalnej, które było jednym z pierwszych rozwiązań opartych na usłudze AWS Lambda. MindMup zmigrował na architekturę serverless z klasycznego rozwiązania opartego na hostingu w trakcie roku 2016, tak aby skorzystać z mechanizmów skalowania na żądanie. Dzięki temu zredukowaliśmy nasze koszty operacyjne o około dwie trzecie, zwiększając w tym samym czasie możliwości aplikacji, przyspieszając proces wytwarzania oprogramowania oraz obniżenie czasu wprowadzenia na rynek. Wnioski z tej migracji zostały zebrane w postaci jednego z pierwszych opracowań naukowych na ten temat oraz były podstawą do przygotowania wystąpień na wielu konferencjach na całym świecie.

Kiedy piszę te słowa w styczniu 2020 roku, mając prawie czteroletnie doświadczenie w pracy z systemem klasy serverless, bardzo łatwo jest zauważyć pojawiające się wzorce architektoniczne oraz wybrać te eksperymenty, które przerodziły się w dobre pomysły, i wyeliminować te, które prowadziły donikąd. Ta książka ma Ci pomóc przejść tę drogę szybciej, tak aby skorzystać z dobrych praktyk oraz uniknąć pułapek.

Kolejne rozdziały pokażą, jak zbudować taką aplikację w praktyce. Rozpoczniemy od prostego statycznego API i iteracyjnie rozbudujemy ją do pełnej i prawdziwej aplikacji służącej do skalowania obrazów, gotowej do przyjęcia milionów użytkowników, ze wszystkimi usługami wspierającymi wdrożenie i zarządzanie takim produktem. Przygotowany system będzie przypominał to, z czym wielu z Was pracuje na co dzień. W ten sposób przygotujemy solidny fundament pod ewentualne przyszłe wykorzystanie, włącznie z kopiowaniem fragmentów na początek. W trakcie tworzenia i wdrażania różnych części aplikacji dowiesz się, jak działa AWS Lambda i usługi pokrewne, poznasz także wskazówki, techniki i narzędzia, które pomagają w tworzeniu rozwiązań klasy serverless.

Omawiany przykład wyewoluował z kilkunastu otwartych warsztatów i wystąpień konferencyjnych przeze mnie przeprowadzonych. Wraz z kolegami wykorzystywaliśmy przykłady zamieszczone w tej książce podczas nauki setek programistów, jak budować aplikacje w architekturze serverless. Dzięki temu przygotowane przykłady zostały sprawdzone w praktyce i usprawniono korzystanie z uwag oraz doświadczeń płynących z warsztatów.

Dlaczego AWS SAM?

Kiedy rozpoczęliśmy migrację MindMup do architektury serverless, SAM nie był jeszcze dostępny. Oznaczało to, że musieliśmy przygotować podobne narzędzie własnoręcznie. Gdybyśmy podchodzili teraz do tego problemu, wykorzystanie SAM byłoby oczywistym wyborem.

Jeśli interesujesz się tym tematem, to wiesz o tym, że SAM nie jest ani jedynym, ani najpopularniejszym, ani także nie najlepszym czy najłatwiejszym narzędziem w użyciu (biorąc pod uwagę, że piszę te słowa w czerwcu 2019). Jednakże SAM ma dwie znaczące zalety: jest ono efektywne, jeśli chodzi o pracę z nim, oraz jest ono wspierane i przygotowywane przez AWS. Szczególnie to ostatnie jest szalenie ważne, ponieważ oznacza solidne komercyjne wsparcie i jest bezpiecznym wyborem na przyszłość.

Użytkownicy tego narzędzia są beneficjentami wolności związanej z faktem, że jest to rozwiązanie o otwartym kodzie źródłowym, oraz ze świetną integracją z platformą dostawcy, która jest charakterystyczna dla komercyjnych rozwiązań, o zamkniętym kodzie. W tym przypadku kod jest dostępny na platformie Github, więc każdy może go przeanalizować i ocenić. Dzięki tym dwóm faktom dookoła narzędzia powstała znacząca społeczność, która chętnie pomaga w sytuacji ewentualnych problemów i wyzwań. Dodatkowo większość kontrybutorów to pracownicy AWS. Z racji tego, że cały ekosystem serverless szybko się zmienia, fakt, że autorzy tego narzędzia mają bezpośredni dostęp do produktów i usług na AWS oraz zespołów, które za nimi stoją, jest nie do przecenienia – przykładem jest chociażby to, jak szybko to narzędzie się rozwija.

Wykorzystanie AWS SAM powinno być relatywnie łatwe dla większości organizacji, ponieważ jest ono zbudowane de facto na standardzie dla wdrożeń na platformie AWS o nazwie CloudFormation (powiemy więcej o tym narzędziu w rozdziale 3). Dla firm, które już teraz używają CloudFormation, wykorzystanie AWS SAM oznacza tylko drobne zmiany w procesie przygotowania szablonów w tym narzędziu. Nie ma potrzeby przygotowywania nowego procesu czy nauki kompletnie nowego narzędzia. Dodatkowo, SAM w znacznym stopniu redukuje powtarzalność w celu przygotowania infrastruktury klasy serverless, co ułatwia pracę w szczególności początkującym użytkownikom CloudFormation.

Grupa docelowa

To jest podręcznik techniczny i w związku z tym uważam, że będzie pomocny dla dwóch grup programistów oraz architektów oprogramowania:

- tych bez wcześniejszego doświadczenia w zakresie aplikacji typu serverless, ale zainteresowanych nauką na temat nowych podejść związanych z architekturą aplikacji korzystających z chmury;
- tych pracujących z AWS Lambda, ale korzystających z innych narzędzi i chcących poznać AWS SAM oraz podejście nazwane przez inżynierów Amazona Serverless Application Model.

Drogi Czytelniku, nie potrzebujesz żadnej wiedzy na temat chmury, aby zrozumieć przedstawione przykłady, ale będziesz musiał umieć przeanalizować i przeczytać kod w języku JavaScript.

W momencie, gdy piszę te słowa, AWS Lambda pozwala na uruchamianie kodu napisanego na sześciu platformach: OpenJDK (dla języka Java i pokrewnych), .NET Core (dla języka C# i pokrewnych), Go, Ruby, Python oraz JavaScript (z wykorzystaniem Node.js). Dodatkowo, jest możliwe przygotowanie własnego środowiska uruchomieniowego w celu wsparcia innych platform oraz języków programowania.

Wybór języka programowania, w którym będziesz programować swoje funkcje, nie jest szalenie ważny, ale aby zachować spójność i uczynić tę książkę łatwiejszą do przyswajania wiedzy, wybrałem tylko jeden z nich. Wybór padł na JavaScript, ponieważ jest to język najbliższy uniwersalnemu dla wszystkich programistów w roku 2020. Wszystkie dobre praktyki przedstawione w książce mogą być z łatwością zaaplikowane na każdej z pozostałych wspieranych platform, a różnice, jakie będą występowały między platformami, zostały wyjaśnione w treści książki. Kompletny i działający kod źródłowy wszystkich przykładów oraz przykłady w innych językach programowania możesz pobrać z oficjalnej strony: https://runningserverless.com.

Jak czytać tę książkę?

Pierwszy rozdział niniejszej książki to szybkie wprowadzenie w podstawowe pojęcia aplikacji typu serverless oraz omówienie wad i zalet, jakie wynikają z wykorzystania tego podejścia. Jeśli jest to dla Ciebie kompletnie nowe, zachęcam do przeczytania i potraktowania tego jako zwiastun tego, czego możesz spodziewać się później. Jeżeli jednak ta tematyka jest Ci bliska i posiadasz doświadczenie w tym zakresie, możesz śmiało pominąć tę część książki.

Drugi rozdział wyjaśnia, jak skonfigurować narzędzie SAM, tak aby móc tworzyć i testować funkcje Lambda na lokalnej maszynie. Zgodnie z tą instrukcją przygotowujemy również takie środowisko, aby na bieżąco wypróbowywać przykłady znajdujące się w książce. Jeśli nie planujesz korzystać z przykładów, możesz śmiało pominąć ten rozdział.

Rozdziały od drugiego włącznie są kompletnym przewodnikiem, jak zbudować wysoce skalowalną aplikację, która w pełni korzysta z chmury. To ważne, aby czytać rozdziały 2–12 w zadanej kolejności. Na początku nauczysz się, jak wykonać najprostsze wdrożenie i jak przygotować projekt, tak aby mógł nad nim pracować cały zespół. W trakcie rozbudowy naszego przykładu dowiesz się o wysokopoziomowych aspektach, takich jak architektura aplikacji, jak dobrać właściwe usługi dostępne w portfolio AWS oraz jak wykorzystać potencjał, który drzemie w serverless. W każdym rozdziale znajdziesz ważne wskazówki i dlatego polecam, żeby nie omijać żadnej sekcji, nawet jeśli znasz ten konkretny temat.

Ostatni rozdział wyjaśnia wzorce architektoniczne oraz modele wdrożeniowe dla typowych przykładów aplikacji klasy serverless. Z racji tego, że tematyka ta jest jeszcze relatywnie młoda i trudno mówić o zestawie złotych rad oraz dobrych praktykach to ten rozdział pomoże Ci wykorzystać pełen potencjał AWS Lambda i pokrewnych usług, jeśli to Ty staniesz przed wyzwaniem zaprojektowania systemu z wykorzystaniem tej architektury.

Kod źrόdłowy

Aby skupić się na najważniejszych elementach i niepotrzebnie nie rozdmuchiwać przykładów, starałem się przygotować okrojone do niezbędnego minimum fragmenty kodu źródłowego. Każda osoba, która ma doświadczenie z językiem JavaScript, będzie w stanie odtworzyć samodzielnie kompletną aplikację, bazując na przygotowanych przykładach, ale przygotowany kod jest zoptymalizowany, tak aby go łatwo zrozumieć i przeczytać, a nie kopiować.

Pełny kod aplikacji i wszystkich przykładów jest dostępny na stronie https://runningserverless.com. Najważniejsze listingi posiadają w tytule ścieżkę do pliku. Na przykład poniższy fragment można znaleźć w kompletnej paczce z kodem źródłowym w liniach 126 i 127 znajdujących się w pliku template-with-dlq.yaml, wewnątrz katalogu ch9 (rozdział 9).

Przykłady komend

Narzędzia AWS wywoływane z linii komend bardzo często wymagają długiej listy parametrów, która przekracza długość linii na małym ekranie lub stronie książki. Jeśli faktycznie zabraknie miejsca na taką linijkę, w kolejnym wierszu znajdziesz małą strzałkę, która podpowie Ci, że należy traktować całość jako jeden ciąg. Oto przykład:

Aby wizualnie rozróżnić wywołania komend od jej wyniku, same komendy, które należy wywołać, nie będą miały numerów linii. Rezultaty zaś będą taki numer posiadały. Kolejny listing pokazuje, jak wygląda wywołanie komendy:

aws sts get-caller-identity

Następny listing pokazuje rezultat poprzedniej komendy, wraz z numerami linii dołączonymi do wydruku:

Wskazόwki

Ważne miejsca i wskazówki będą jasno oznaczone w tekście i będą zaprezentowane za pomocą następującego obramowania:

Kod źrόdłowy

Nie kopiuj kodu źródłowego zamieszczonego w książce. Pobierz całą paczkę ze strony: https://runningserverless.com.

Będę korzystał z identycznego mechanizmu do wyjaśnienia kluczowych pojęć oraz ważnych informacji wartych zapamiętania, w szczególności jeśli będą wymagały specjalnej uwagi lub przeczą intuicji.Przypisy

¹ https://pages.awscloud.com/Gated_IDC_Generating_Value_Through_IT_Agility.html

² https://www.doc.ic.ac.uk/~rbc/papers/fse-serverless-17.pdf

³ https://get.cloudability.com/ebook-state-of-cloud-2018.html

⁴ https://www.youtube.com/watch?v=b7Nc_FJiosk

⁵ Chodziło o błędy Meltdown oraz Spectre (od tłumacza).

⁶ https://aws.amazon.com/lambda/sla/

⁷ https://mikhail.io/serverless/coldstarts/aws/

⁸ https://docs.aws.amazon.com/lambda/latest/dg/resource-model.html

⁹ https://github.com/alexcasalboni/aws-lambda-power-tuning
mniej..

BESTSELLERY

Kategorie: