
Przygodę z chmurą AWS musimy zacząć od zrozumienia gdzie tak naprawdę jest ona zlokalizowana oraz z czego się składa. W tym wykładzie przyjrzymy się tzw. regionom oraz strefą (AZ), które stanowią element podstawowy chmury AWS – oraz decydują o tym, gdzie faktycznie dane i systemy będą zlokalizowane.
Najlepiej uczyć się nowych technologii bezpośrednio je testując i wykorzystując – w tym celu w założymy własne konto chmurowe AWS, które będziemy wykorzystywać podczas trwania tego kursu.
Są trzy główne sposoby na komunikację z AWS: konsola, SDK oraz CLI. W tym wykładzie przyjrzymy się konsoli – zobaczymy jak poruszać się w niej aby łatwo przełączać się pomiędzy różnymi dostępnymi opcjami chmurowymi.
W tym wykładzie przyjrzymy się funkcjonalności Budgetów – utworzymy własny budget aby lepiej kontrolować nasze wydatki chmurowe.
Poznawanie usług chmurowych zaczynamy od usługi IAM (Identity and Access Management) – który służy m.in do tworzenia nowych użytkowników oraz definiowania ich uprawnień. W tym wykładzie spędzimy kilka minut aby przeanalizować dostępne opcje jeśli chodzi o korzystanie z tej usługi.
Posiadamy już własne konto AWS i użytkownika tzw. root-owego, w tym wykładzie utworzymy jednak nowego użytkownika – IAM User – którego będziemy wykorzystywać do końca tego kursu – zdefiniujemy dla niego również pakiet uprawnień.
Nadeszła pora na uruchomienia czegoś konkretnego – w tym celu wykorzystamy usługę Lightsail aby utworzyć prosty serwer wirtualny na którym będzie zainstalowany WordPress. Pozwoli to nam w ciągu zaledwie kilku minut utworzyć naszego bloga internetowego!
W tym krótkim wykładzie, przyjrzymy się usłudze VPC (Virtual Private Cloud), która umożliwi wam tworzenie infrastruktury sieciowej, w której w kolejnych krokach będziemy uruchamiać nasze pierwsze aplikacje internetowe.
W tym wykładzie skupimy się na faktycznym utworzeniu własnej sieci VPC, zawierającej kilka podsieci. Podsieci będą zlokalizowane w różnych ośrodkach (Availability Zone) w celu zapewnienia dużej dostępności i niezawodności przyszłym aplikacją. Dodatkowo podsieci będą podzielone na publiczne i prywatne w celu zwiększenia bezpieczeństwa.
To będzie jednej z najważniejszych wykładów w tym kursie. Na tapetę bierzemy usługę EC2 - czyli jedną z najważniejszych usług w AWS, która pozwala tworzyć w szybki sposób serwery wirtualne. W tym wykładzie utworzymy taki serwer wykorzystując Linuxa, dodatkowo, zainstalujemy na serwerze Apache-a w celu przetestowania serwowania prostej strony WWW.
Uruchomienie serwera wirtualnego EC2 to połowa sukcesu, drugim będzie nauczenie się jak do niego można się podłączyć. W tym wykładzie wykorzystamy standardowy protokół SSH aby podłączyć się do uruchomionego serwera.
Tym razem pokażemy jak podłączyć się do wcześniej utworzonego serwera EC2 opartego o Linuxa z wykorzystaniem Windowsa i aplikacji Putty.
W tym wykładzie ponownie utworzymy instancję EC2, tym razem oparty o Windowsa.
W tym wykładzie zobaczymy jak wykorzystując RDP (Remote Desktop Protocol) podłączyć się do wcześniej utworzonego serwera EC2 opartego o Windowsa.
W tym wykładzie przyjrzymy się usłudze Elastic Beanstlak - czyli popularnymu PaaS-owi. Usługa ta służy do szybkiego uruchamiania aplikacji webowych napisanych w takich jezykach jak Java, .NET, Python, PHP i inne.
W tym wykładzie wykorzystamy usługę Cloud9 aby skonfigurować i utworzyć chmurowe środowisko pracy, które będziemy wykorzystywać w kolejnych wykładach do zarządzania serwerami i innymi zasobami chmurowymi.
W tym wykładzie wykorzystamy wbudować funkcjonalność AWS i utworzymy snapshot dysku EBS w celu zrobienia kopii zapasowej, którą następnie odtworzymy i przypniemy ponownie do serwera wirtualnego EC2.
Kolejnym sposobem 'dostarczenia' przestrzeni dyskowej serwerom jest usługa EFS. Usługa ta, daje możliwość skonfigurowania współdzielonej przestrzeni dyskowej, która będzie dostępna dla wielu serwerów jednocześnie. W tym wykładzie utworzymy taką przestrzeń i podepniemy ją do dwóch nowo utworzonych serwerów EC2.
S3 (Simple Storage Service) - to jedna z najważniejszych usług chmurowych. W tym wykładzie zobaczymy jak z niej korzystać i dodawać oraz usuwać nowe dane. Będziemy z niej korzystać wykorzystując interfejs konsoli AWS oraz CLI.
Amazon Polly to pierwsza usługą, która opiszemy w ramach usług AI w AWS. Polly to usługa, która umożliwia konwersję tekstu na audio w kilkudziesięciu językach i głosach z całego świata. Dodatkowo opiszemy język znaczników SSML, który dodatkowo pozwala rozbudowywać sposób w jaki audio jest generowane.
Analiza tekstu, np. twittów czy postów social media to zadanie nie łatwe. W tym wykładzie opiszemy usługę Comprehend, która wykorzystuje już gotowe modele AI aby analizować tekst i zwracać o nim informacje, w tym analizę sentymentalną.
Kolejną usługą wchodzącą w skład usług AI w ramach portfolio AWS jest usługa Translate. Usługa ta, jak sama nazwa wskazuje, ułatwia konwersję tekstu pomiędzy różnymi językami.
W tym wykładzie pokażemy jak działa usługa Rekognition, która ułatwia analizę zdjęć oraz filmów video. Usługa ta, opisze nam co jest na zdjęciu, zwróci informacje o celebrytach czy też powie, czy zdjęcie jest 'poprawne'. Dodatkowo wykorzystamy usługę aby porównać zdjęcia dwóch osób i przeanalizować filmy video.
Usługa Transcribe to kolejna usługa AI, którą wykorzystamy w tym kursie. Tym razem usługa ta pozwoli nam zamienić audio w słowo pisane wykorzystując przy tym usługę S3.
Czym jest Autoscaling, na czym polega skalowanie horyzontalne serwerów. Czyli krótkie wprowadzenie teoretyczne projektu, który będziemy budować w tej sekcji.
W tym wykładzie utworzymy Launch Template - czyli szablon serwera wirtualnego, na podstawie, którego następnie będą tworzone faktycznie serwery w ramach naszej grupy autoscalingowej.
Główny wykład tej sekcji, czyli utworzenie grupy autoscalingowej - tworu, który będzie automatycznie dodawał i usuwał serwery wirtualne w miarę zmiany obciążenia na naszych serwerach EC2.
Load Balancer to jeden z najważniejszych komponentów każdego nowoczesnego systemu, zwłaszcza tego osadzonego w chmurze. W tym wykładzie utworzymy tzw. Classic Load Balancer - który będzie stanowił wejście dla naszej aplikacji webowej.
Nasza grupa autoscalingowa jest już utworzona, ale faktycznie ciągle brak jej konfiguracji, która sterowała by dodawaniem i usuwaniem nowych serwerów wirtualnych. Tym właśnie zajmiemy się w tym wykładzie.
W tym wykładzie zainstalujemy narzędzie Bees With Machine Guns - czyli narzędzie, które pozwoli nam przetestować naszą grupę autoscalingową, poprzez wygenerowanie dużej ilości requestów HTTP.
Nadszedł etap przetestowania całęgo projektu, który wykonaliśmy w tej sekcji. Z wykorzystaniem narzędzia Bees With Machine Guns wygenerujemy ruch, który spowoduje automatyczne powołanie nowych serwerów wirtualnych EC2.
W tym wykładzie uruchomimy pierwszą bazę danych opartą o usługę RDS. Baza ta będzie w pełni zarządzana przez AWS i będzie oparta o silnik MySQL. Podczas tworzenia bazy, opiszemy opcje oraz rzeczy za które odpowiedzialny jest AWS w przypadku tego typu bazy danych
Nasza baza została już uruchomiona. W tym wykładzie przetestujemy jej działanie i spróbujemy się do niej podłączyć wykorzystując dowolnego klienta SQL.
Ostatnim elementem poszerzania naszej wiedzy odnośnie usługi RDS będzie zrozumienie i poznanie możliwości, które udostępnia nam usługa gdy baza jest już uruchomiona. W tym celu poznamy takie zagadnienia jak: snapshoty, read replici i inne.
DynamoDB to jedna z najważniejszych usług w AWS. W tym wykładzie zobaczymy jak utworzyć prostą bazę nierelacyjną właśnie przy pomocy tej usługi.
Nasza baza DynamoDB jest już utworzona, zatem pora aby ją przetestować. W tym celu utwrzymy skrypt wykorzystujący Boto3 - czyli AWS SDK dla python-a, który wykorzystamy aby połączyć się z bazą danych i dodać do niej nowe rekordy.
W tym wykładzie opiszemy na czym w skrócie polegają kontenery dockerowe oraz jak nimi poprawnie zarządzać w infrastrukturze chmurowej. Opiszemy trzy główne możliwości jakimi są: EKS (Kubernetes), ECS oraz Fargate.
Pierwszym elementem budowy naszej aplikacji opartej o kontenery będzie stworzenie repozytorium, w którym będziemy przechowywać nasze obrazy dockerowe. W tym celu posłużymy się usługą ECR.
Ponieważ nasze repozytorium kontenerów jest już gotowe, kolejnym etapem będzie faktyczne zbudowanie własnego kontenera i dodanie go do repozytorium. W tym celu posłużymy się przykładowym projektem prostej strony WWW a sam kontener zbudujemy z wykorzystaniem usługi Cloud9.
Aby uruchomić kontener w usłudze ECS musimy najpierw utworzyć jego definicję (Task Definition) - to ona bowiem zawiera informacje o tym w którym repozytorium jest nasz kontener i jakie parametry (CPU oraz RAM) powinny być mu przypisane.
Aby uruchomić kontener, trzeba najpierw uruchomić cluster składający się z kilku serwerów wirtualnych (albo jednego), czyli serwerów EC2 - to na nich właśnie ECS będzie uruchamiał w sposób automatyczny kontenery. W tym wykładzie zajmiemy się utworzeniem takiego właśnie clustra.
Nadeszła najważniejsza chwila, czyli faktyczny wdrożenie i przetestowanie kontenera dockerowego. W tym wykładzie wykorzystamy usługę ECS aby uruchomić wcześniej utworzony kontener dockerowy na naszym clustrze serwerów EC2.
W tym i kolejnych wykładach, zajmiemy się innym sposobem wdrażania kontenerów dockerowych - z użyciem usługi Fargate. Usługa ta ułatwi zarządzanie i wdrażanie kontenerów, ponieważ nie musimy wówczas zarządzać serwerami wirtualnymi. W tym wykładzie utworzymy zatem nową definicję naszego taska.
W tym wykładzie utworzymy nowy cluster na którym będziemy uruchamiać nasze kontenery dockerowe. Tym razem wykorzystamy jednak usługę Fargate, a nasz cluster nie będzie miał żadnego serwera wirtualnego.
Pora przetestować nasze rozwiązanie. W tym celu wdrożymy nasz kontener na nasz 'bez serwerowy' cluster i przekonamy się jak łatwo i szybko można uruchamiać i zarządzać kontenerami przy użyciu usługi Fargate.
Podczas tej sekcji będziemy wykorzystywać kilka usług AWS, które są wykorzystywane do analizy małych i dużych zbiorów danych. Podczas tego wykładu, przygotujemy zbiór danych (1GB), który posłuży nam jako dane testowe przy kolejnych wykładach.
Podczas tego wykładu utworzymy nasz pierwszy cluster z ekosystem hadoop-wym, wykorzystując usługę Amazon EMR. Cluster ten będzie składał się z 3 serwerów i będzie wykorzystywany do rozpraszana analizy na kilka serwerów jednocześnie w celu jej przyśpieszenia.
Podczas tego wykładu, kontynuujemy naszą przygodę z usługą EMR i ekosystemem Hadoop-owym. W tym wykładzie podłączymy się do naszego clustra i wywołamy kilka zapytań SQL w celu analizy dostarczonych danych testowych za pomocą Hive-a.
Podczas tego krótkiego wykładu, opiszemy po krótce usługę Glue - a następnie wykorzystamy jeden z jej mechanizmów aby automatycznie wykryła nasze dane testowe w usłudze S3.
Athena to dla mnie jedna z najciekawszych usług w ekosystemie AWS. Znacząco przyśpiesza i ułatwia analizę danych, ponieważ zwalnia z potrzeby uruchamiania infrastruktury serwerowej. Podczas tego wykładu wykorzystamy Athenę, aby przeanalizować wcześniej zgromadzone dane testowe. Wykorzystamy również wcześniej utworzony katalog Glue oraz dodatkowo zoptymalizujemy analizę wykorzystując format kolumnowy Parquet.
Redshift - czyli chmurowa hurtownia danych. Podczas tego wykładu, uruchomimy hurtownię a następnie wykorzystamy ją do przeanalizowania naszego testowego zbioru danych.
W tym wykładzie będziemy kontynuuować naszą przygodę z BigData -tym razem poruszymy temat wizualizacji danych i analizy ich w postaci 'graficznej'. W tym celu posłuży nam usługa QuickSight.
Jeśli dopiero zaczynasz swoją przygodę z chmurą AWS i chcesz przekonać się jak szybko można wykorzystać AWS do budowy niesamowitych aplikacji, unowocześniania istniejących oraz analizy danych to ten kurs skierowane jest właśnie dla ciebie! Podczas tego kursu omówimy szereg popularnych zagadnień z którymi spotykamy się w dzisiejszych czasach gdy budujemy i projektujemy nowoczesne aplikacje/systemy.
Kurs ten to w 95% pokazywanie faktycznego działania chmury AWS, slajdy zostały ograniczone do minimum i obejmują mniej niż 5% całości.
Kurs ten został podzielony na następujące sekcje:
Pierwsze kroki z AWS - Podczas tej sekcji skupimy się na podstawach podstaw - założymy wspólnie nowe konta chmurowe AWS oraz poznamy zasady jego działania. Zobaczymy jak można korzystać z chmury wykorzystując tzw. konsolę AWS gdzie utworzymy pierwszego użytkownika wykorzystując usługę AWS IAM oraz utworzymy pierwszy prosty serwery wirtualny za pomocą usługi Amazon LightSail.
Serwery wirtualne w chmurze - Serwery wirtualne stanowią podstawowy element chmury, podczas tej sekcji zobaczymy na czym polega oraz jak utworzyć serwer oparty o Linuxa oraz Windowsa wykorzystując usługę Amazon EC2.
Praca z serwerami oraz usługi do przechowywania danych - W tej sekcji opiszemy najważniejsze usługi, które są wykorzystywane przez użytkowników do przechowywania danych. Zobaczymy na czym polegają różnicę pomiędzy takimi usługami jak EBS, EFS czy wreszcie Amazon S3.
Usługi Sztucznej Inteligencji - Kolejnym popularnym tematem i zagadnieniem nowoczesnych aplikacji jest sztuczna inteligencja. Podczas tej sekcji zobaczymy jakie typowe usługi sztucznej inteligencji są oferowane przez AWS i jak można je wykorzystać. Opiszemy tutaj usługi jak Amazon Polly - czyli usługa pozwalająca zamieniać tekst w audio w kilkudziesięciu językach, Amazon Translate - czyli usługa do konwersji tekstu pomiędzy różnymi językami, Amazon Transcribe - czyli konwersja audio na tekst oraz Amazon Rekognition - czyli analiza zdjęć i filmów z wykorzystaniem AI.
Autoscaling - Podczas tej sekcji kontynuujemy naszą przygodę z serwerami wirtualnymi. Wykorzystamy jednak dodatkowo funkcjonalność chmury pozwalającą na automatyczne skalowanie, czyli dodawanie (i usuwanie) nowych serwerów wirtualnych w miarę potrzeb i zwiększenia obciążenia naszej aplikacji. Dodatkowo wykorzystamy usługę Elastic Load Balancing aby utworzyć inteligentny load balancer dla naszej aplikacji.
Bazy Danych - W tej sekcji opiszemy dwa główne rodzaje usług AWS z rodziny bazodanowej. W pierwszej kolejności utworzymy bazę MySQL z wykorzystaniem usługi Amazon RDS a następnie bazę typu nierelacyjnego wykorzystując usługę DynamoDB.
Kontenery Dockerowe - Kontenery stanowią dzisiaj istotny element budowy nowoczesnych aplikacji internetowych. W tej sekcji, przyjrzymy się ich działaniu oraz zobaczymy jak AWS dodatkowo usprawnia proces ich wykorzystywania. Utworzymy własne repozytorium dockerowe z wykorzystaniem usługi Amazon ECR a następnie uruchomimy prostą stronę WWW opartą o kontenery z wykorzystaniem usług ECS oraz Fargate.
BigData - W tej sekcji zajmiemy się istotnym elementem analizy dużych zbiorów danych. W tym celu w pierwszej kolejności przygotujemy zbiór testowy (1GB), który następnie będziemy analizować z wykorzystaniem różnego rodzaju narzędzi dostarczanych przez AWS. W tym celu wykorzystamy usługę Amazon EMR - aby utworzyć cluster hadoop-owy. Dodatkowo zobaczymy jak przeanalizować dane z wykorzystaniem usługi Amazon Athena - czyli w postaci serverless. Na tym jednak nie zakończymy, utworzymy również własną hurtownię danych (Amazon Redshift), którą również wykorzystamy do analizy przygotowanych danych. Na koniec omówimy sposoby wizualizacji danych z wykorzystaniem usługi Amazon QuickSight.