Menu Zamknij

Kurs Spring Aplikacje Webowe

Cena szkolenia

Cena spotkania grupowego wynosi 100 zł netto za 60 min. Cena spotkania indywidualnego wynosi 120 zł netto za 60 min. Ilość godzin szkolenia zależy od Twoich postępów w nauce oraz ilości czasu, którą poświęcisz na realizację zadań i projektów zleconych w ramach szkolenia.

Opis kursu

Kurs przygotuje Cię do pracy na stanowisku programisty Java Web Developer lub na każdym innym stanowisku, gdzie wymagana jest znajomość języka Java z frameworkiem Spring Boot oraz innymi frameworkami, których nauczysz się w tym szkoleniu.

Naukę zaczniesz od zrozumienia podstaw frameworka Spring i struktur programistycznych, które w nim występują. Następnie poznasz podstawowe pojęcia związane z aplikacjami webowymi. Nauczysz się zagadnień związanych ze wzorcami stosowanymi przy tworzeniu takich aplikacji. Poznasz metody optymalizacji kodu i szybkości działania rozwiązań webowych. Następnie skupisz się na nauce frameworka Spring Boot oraz innych frameworków, które z nim współpracują. Zdobędziesz wiedzę pod kątem rozwijania aplikacji webowych, które wykorzystują komunikację bazodanową i są zabezpieczone warstwą security. Nauczysz się tworzyć aplikacje realizujące komunikację w sposób synchroniczny, jak również wdrożysz podejście reaktywne. Następnie zaczniesz stosować architekturę mikroserwisową oraz przetwarzać duże ilości danych z wykorzystaniem asynchronicznych mechanizmów strumieniowego przesyłania danych. Przygotowane aplikacje skonteneryzujesz z wykorzystaniem platformy Docker i osadzisz w chmurze. Programy przetestujesz z użyciem bibliotek dedykowanych do testów. To oczywiście nie wszystko. Poznasz wiele innych narzędzi wspomagających pracę z opisanymi wyżej technologiami (np. Git). Twoja wiedza będzie systematycznie poszerzana o dodatkowe materiały dydaktyczne, które znajdziesz na moich kanałach YouTube, TikTok lub otrzymasz w formie cotygodniowych newsletterów.

W ramach szkolenia rozwiążesz ogromną ilość zadań teoretycznych i praktycznych, które skutecznie przygotują Cię do rozmowy kwalifikacyjnej. Twoja wiedza będzie systematycznie sprawdzana w trakcie naszych spotkań i organizowanych co pewien czas indywidualnych próbnych rozmów kwalifikacyjnych w języku polskim lub angielskim.

Po zakończeniu szkolenia Twoje portfolio powiększy się o kilka rozbudowanych projektów, które potwierdzą Twoje praktyczne umiejętności posługiwania się zagadnieniami, pojawiającymi się w kursie. Na każdym etapie szkolenia możesz liczyć na nieograniczoną pomoc mentora. Zagwarantuje to zgodność projektów z przyjętymi założeniami oraz dobrymi praktykami programistycznymi, jak również zmusi Cię do systematycznej pracy nad projektami. Dodatkowo zmierzysz się z zadaniami rozwijania lub modyfikowania istniejących już projektów oraz ich analizy pod kątem wyszukiwania błędów.

Potrzebne aplikacje i narzędzia

Do odbycia szkolenia potrzebujesz komputer lub laptop z zestawem narzędzi do budowania aplikacji pojawiających się w trakcie kursu. Spotkania możemy odbywać również na moim komputerze. Po spotkaniu zawsze otrzymasz wszystkie materiały, które pojawiły się w trakcie spotkania. Potrzebne oprogramowanie szczegółowo opiszę oraz pomogę Ci zainstalować na pierwszym darmowym spotkaniu testowym. Informacje na temat aplikacji potrzebnych do nawiązania połączenia przekażę w odpowiednim momencie przed rozpoczęciem szkolenia. Dostaniesz wtedy szczegółowy wykaz kolejnych kroków, które należy wykonać w celu przygotowania się do rozpoczęcia kursu.

Umiejętności potrzebne przed
rozpoczęciem kursu

Kurs przeznaczony jest dla osób, które ukończyły szkolenie
KM Programs Java/Kotlin lub posiadają wiedzę na poziomie tego szkolenia. Jeżeli już pracujesz na podobnym stanowisku, szkolenie również jest dla Ciebie. Celem kursu jest przygotowanie do pierwszej pracy programisty, ale również podnoszenie kwalifikacji osób już pracujących w branży IT. Szkolenie możesz rozpocząć od dowolnego punktu w planie szkolenia. Na początek odbędziemy szczegółową rozmowę kwalifikacyjną w języku polskim lub angielskim. Dzięki niej ocenimy Twój poziom z zakresu wiedzy przed wybranym punktem w planie szkolenia.

Plan szkolenia

  • Omówienie architektury frameworka Spring
  • Przegląd wersji Spring oraz wprowadzanych w nich zmian
  • Omówienie zasady działania kontenera Spring
  • Omówienie zasady działania kontekstu aplikacji Spring
  • Wzorzec projektowy Dependency Injection (DI)
  • Wzorzec projektowy Inversion of Control (IoC)
  • Cykl życia komponentu Spring
  • Konfiguracja pierwszej aplikacji Spring
  • Przegląd adnotacji frameworka Spring
  • Automatyczne wiązanie komponentów
  • Wiązanie komponentów za pomocą konfiguracja Java
  • Łączenie kilku konfiguracji
  • Rozwiązanie problemu niejednoznaczności podczas wstrzykiwania komponentów
  • Zasięg komponentów
  • Spring Expression Language (SpEL)
  • Pobieranie zewnętrznych danych konfiguracyjnych
  • Różne sposoby wstrzykiwania danych konfiguracyjnych do działającej aplikacji webowej.
  • Programowanie aspektowe z wykorzystaniem frameworka Spring
  • Praktyczne przykłady wykorzystania programowania aspektowego
  • Zarządzanie profilami
  • Zagadnienia uzupełniające
  • Omówienie architektury frameworka Spring Boot
  • Moduły Spring Boot Starters
  • Pluginy wspomagające pracę z aplikacjami Spring Boot
  • Praca z narzędziem Spring Initializr
  • Spring Boot CLI
  • Sposoby autokonfiguracji aplikacji Spring Boot
  • Konfiguracja aplikacji Spring Boot z poziomu plików konfiguracyjnych properties, YAML oraz wiersza poleceń
  • Konfiguracja aplikacji Spring Boot z wykorzystaniem adnotacji i klas Java
  • Profile aplikacji
  • Przegląd wbudowanych serwerów aplikacji Spring Boot
  • Zagadnienia uzupełniające
  • Omówienie architektury aplikacji webowej
  • Omówienie standardów HTTP, REST, JSON oraz innych powiązanych
  • Omówienie roli klasy DispatcherServlet
  • Przedstawienie modelu przepływu danych w aplikacji webowej Spring Boot
  • Konfiguracja aplikacji webowej Spring Boot
  • Zarządzanie kontekstem aplikacji webowej
  • Praca ze zmiennymi środowiskowymi
  • Omówienie pojęcia kontrolera
  • Adnotacja @RestController
  • Implementacja REST API z wykorzystaniem REST kontrolerów
  • Przekazywanie request params oraz query strings
  • Praca z nagłówkami
  • Przechwytywanie i zarządzanie ciałem żądania
  • Serializacja i deserializacja JSON
  • Dobre praktyki serializacji danych
  • Przygotowanie prawidłowego formatu zwracanych danych
  • Implementacja własnych serializerów i deserializerów
  • Różne sposoby walidowania danych (Hibernate Validator, Spring Validator, własna klasa walidująca)
  • Zarządzanie sesją oraz cookies
  • Analiza kodów HTTP
  • Globalne przechwytywanie wyjątków
  • Obsługa zdarzeń synchronicznych i asynchronicznych
  • Websockets
  • Zarządzanie zasobami statycznymi
  • Internacjonalizacja
  • Konfiguracja loggerów
  • Omówienie założeń architektury wielowarstwowej
  • Implementacja kompletnej aplikacji webowej z wykorzystaniem architektury wielowarstwowej
  • Omówienie założeń architektury Domain-Driven Design
  • Implementacja kompletnej aplikacji webowej z wykorzystaniem architektury Domain-Driven Design
  • Testowanie REST API aplikacji webowej z wykorzystaniem narzędzi zewnętrznych
  • Omówienie zastosowania klasy RestTemplate
  • Implementacja komunikacji pomiędzy aplikacjami webowymi z wykorzystaniem RestTemplate
  • Implementowanie architektury RESTful Web Services
  • Generowanie dokumentacji aplikacji webowej
  • Wysyłanie wiadomości email z poziomu aplikacji webowej Spring Boot
  • Konfiguracja mechanizmu interceptors
  • Monitorowanie parametrów aplikacji za pomocą Spring Boot Actuator
  • Konfiguracja automatycznego przeładowania aplikacji za pomocą Spring Boot DevTools
  • Zagadnienia uzupełniające
  • Przypomnienie zagadnień związanych z JPA / Hibernate
  • Omówienie architektury frameworka Spring Data i Spring Data JPA
  • Konfiguracja aplikacji Spring Boot do pracy ze Spring Data JPA
  • Przygotowanie konfiguracji do pracy z wieloma bazami danych
  • Implementacja warstwy mapującej tabele bazy danych
  • Mapowanie złożonych struktur danych
  • Zarządzanie danymi w bazie danych z wykorzystaniem biblioteki Liquibase
  • Przegląd typów i adnotacji Spring Data JPA
  • Implementacja zapytań z wykorzystaniem mechanizmu Query Method
  • Przekazywanie parametrów w mechanizmie Query Method
  • Sortowanie wyników zapytań – klasa Sort
  • Implementacja zapytań modyfikujących oraz usuwających
  • Projekcje
  • Wykorzystanie procedur składowanych
  • Implementacja mechanizmu Query By Example
  • Zarządzanie transakcyjnością (isolation level, propagation)
  • Wyjaśnienie różnicy pomiędzy repozytorium oraz DAO
  • Implementacja kompletnej warstwy bazodanowej w aplikacji webowej
  • Zagadnienia uzupełniające
  • Przegląd możliwości frameworka Spring Boot do testowania aplikacji webowych
  • Przygotowanie komunikacji bazodanowej na potrzeby testów
  • Zastosowanie frameworków JUnit oraz Mockito w testach aplikacji webowych 
  • Zastosowanie różnych bibliotek do zarządzania asercjami
  • Testowanie warstwy bazodanowej
  • Testowanie warstwy biznesowej
  • Testowanie warstwy webowej
  • Testy integracyjne aplikacji webowej
  • Zagadnienia uzupełniające
  • Omówienie architektury frameworka Spring Security
  • Wdrożenie podstawowych możliwości zabezpieczających frameworka Spring Security
  • Przechowywanie użytkowników w pamięci aplikacji
  • Przygotowanie warstwy bazodanowej do przechowywania zarejestrowanych użytkowników w bazie danych
  • Różne sposoby szyfrowania haseł z wykorzystaniem Spring Security
  • Implementacja modułu rejestracji użytkownika
  • Implementacja mechanizmu aktywacji konta zarejestrowanego użytkownika
  • Implementacja mechanizmu przypominania hasła użytkownika
  • Autentykacja oraz autoryzacja
  • Omówienie standardu JWT
  • JWT Debugger
  • Zarządzanie danymi przesyłanymi w tokenie JWT
  • Omówienie zasady działania i przygotowanie access token.
  • Omówienie zasady działania i przygotowanie refresh token.
  • Dobre praktyki szyfrowania danych w tokenach JWT
  • Omówienie zasady działania filtrów Spring Boot
  • Przygotowanie filtra realizującego proces autentykacji
  • Przygotowanie filtra realizującego proces autoryzacji
  • Konfiguracja mechanizmu security w aplikacji webowej
  • Implementacja obsługi błędów mechanizmu Spring Security
  • Dostosowanie aplikacji do pracy z użytkownikami o różnych uprawnieniach
  • Testowanie warstwy security aplikacji webowej
  • Zagadnienia uzupełniające
  • Omówienie zasady działania aplikacji asynchronicznych
  • Prezentacja założeń aplikacji reaktywnych
  • Wprowadzenie do biblioteki Spring Reactor oraz framework Spring WebFlux
  • Konfiguracja aplikacji Spring Boot do pracy z mechanizmami reaktywnymi
  • Analiza działania i sposoby tworzenia instancji typów reaktywnych Mono oraz Flux
  • Omówienie zasady działania strumieni reaktywnych
  • Implementacja i zarządzanie wątkami z wykorzystaniem schedulers
  • Przegląd metod zarządzających typami oraz strumieniami reaktywnymi
  • Przegląd metod realizujących mechanizm backpressure
  • Przegląd metod realizujących przechwytywanie i obsługę błędów 
  • Testowanie mechanizmów reaktywności
  • Zagadnienia uzupełniające
  • Omówienie architektury reaktywnej aplikacji webowej
  • Konfiguracja aplikacji webowej Spring Boot WebFlux
  • Praca ze zmiennymi środowiskowymi
  • Routing prosty oraz zagnieżdżony
  • Implementacja reaktywnego REST API
  • Przekazywanie request params oraz query strings
  • Praca z nagłówkami
  • Przechwytywanie i zarządzanie ciałem żądania
  • Serializacja i deserializacja JSON
  • Dobre praktyki serializacji danych
  • Przygotowanie prawidłowego formatu zwracanych danych
  • Implementacja własnych serializerów i deserializerów
  • Różne sposoby walidowania danych
  • Zarządzanie sesją oraz cookies
  • Analiza kodów HTTP
  • Globalne przechwytywanie wyjątków
  • Zarządzanie zasobami statycznymi
  • Internacjonalizacja
  • Konfiguracja loggerów
  • Omówienie założeń architektury wielowarstwowej
  • Implementacja kompletnej reaktywnej aplikacji webowej z wykorzystaniem architektury wielowarstwowej
  • Omówienie założeń architektury Domain-Driven Design
  • Implementacja kompletnej reaktywnej aplikacji webowej z wykorzystaniem architektury Domain-Driven Design
  • Testowanie REST API reaktywnej aplikacji webowej z wykorzystaniem narzędzi zewnętrznych
  • Implementowanie reaktywnej architektury RESTful Web Services
  • Generowanie dokumentacji aplikacji webowej
  • Wysyłanie wiadomości email z poziomu reaktywnej aplikacji webowej
  • Dostosowanie aplikacji webowej niereaktywnej do pracy z mechanizmami reaktywności
  • Przygotowanie reaktywnej warstwy bazodanowej w oparciu o framework Spring Boot Data Reactive MongoDd
  • Przygotowanie konfiguracji do pracy z wieloma bazami danych
  • Implementacja warstwy mapującej kolekcje z bazy danych
  • Mapowanie złożonych struktur danych
  • Implementacja kompletnej warstwy bazodanowej w aplikacji webowej
  • Przygotowanie komunikacji bazodanowej na potrzeby testów
  • Zastosowanie frameworka Spring WebFlux w testach aplikacji webowych 
  • Zastosowanie różnych bibliotek do zarządzania asercjami
  • Testowanie warstwy bazodanowej
  • Testowanie warstwy biznesowej
  • Testowanie warstwy webowej
  • Testy integracyjne aplikacji webowej
  • Przygotowanie warstwy bazodanowej do przechowywania zarejestrowanych użytkowników w bazie danych
  • Różne sposoby szyfrowania haseł z wykorzystaniem Spring Security
  • Implementacja modułu rejestracji użytkownika
  • Implementacja mechanizmu aktywacji konta zarejestrowanego użytkownika
  • Implementacja mechanizmu przypominania hasła użytkownika
  • Autentykacja oraz autoryzacja
  • Zarządzanie danymi przesyłanymi w tokenie JWT
  • Przygotowanie access token oraz refresh token.
  • Implementacja modułu autentykacji oraz modułu autoryzacji
  • Konfiguracja mechanizmu security w aplikacji webowej
  • Implementacja obsługi błędów mechanizmu Spring Security
  • Dostosowanie aplikacji do pracy z użytkownikami o różnych uprawnieniach
  • Testowanie warstwy security aplikacji webowej
  • Zagadnienia uzupełniające
  • Wprowadzenie do architektury Apache Kafka
  • Omówienie struktury danych gromadzonych w Kafka
  • Prezentacja zasady działania brokerów
  • Analiza sposobu przesyłania danych z wykorzystaniem producentów i konsumentów
  • Omówienie zasady działania i przeznaczenia Zookeeper
  • Zaawansowana konfiguracja systemu zarządzania wiadomościami Kafka
  • Prezentacja instrukcji dostępnych w Kafka CLI
  • Implementacja różnych konfiguracji systemu zarządzania wiadomościami w aplikacji Java
  • Analiza zastosowania biblioteki Kafka Streams
  • Architektura i struktura biblioteki Kafka Streams
  • Konfiguracja aplikacji Java do pracy z Kafka Streams
  • Implementacja mechanizmów Kafka Streams w aplikacji Java
  • Prezentacja biblioteki Kafka Connect
  • Przegląd dostępnych sources oraz sinks
  • Konfiguracja aplikacji Java do pracy z Kafka Connect
  • Implementacja mechanizmów Kafka Connect w aplikacji Java
  • Konfiguracja aplikacji webowej Spring Boot do pracy z Kafka
  • Implementacja mechanizmów Kafka w aplikacji webowej Spring Boot
  • Implementacja aplikacji webowej Spring Boot wykorzystującej reaktywny API Reactor Kafka
  • Omówienie architektury platformy RabbitMQ
  • Analiza sposobu przesyłania danych z wykorzystaniem producentów i konsumentów
  • Omówienie przeznaczenia i rodzajów RabbitMQ Exchange
  • Przechwytywanie i zarządzanie błędami w systemie zarządzania wiadomościami
  • Pluginy RabbitMQ
  • Zaawansowana konfiguracja systemu zarządzania wiadomościami RabbitMQ
  • Implementowanie struktury systemu zarządzania wiadomościami RabbitMQ z poziomu aplikacji Spring Boot
  • Porównanie narzędzi Kafka oraz RabbitMQ
  • Wykorzystanie mechanizmów frameworka Spring Boot oraz frameworka Spring Boot WebFlux do pracy z systemami asynchronicznego zarządzania wiadomościami
  • Zagadnienia uzupełniające
  • Omówienie architektury aplikacji mikroserwisowych
  • Zapoznanie się ze wzorcami wdrażanymi w konfiguracjach mikroserwisowych
  • Omówienie modułów i architektury frameworka Spring Cloud
  • Prezentacja adnotacji Spring Cloud potrzebnych do konfigurowania środowiska mikroserwisowego
  • Przygotowanie instancji Eureka Server do zarządzania pracy mikroserwisów
  • Przygotowanie środowiska bazodanowego dla poszczególnych mikroserwisów
  • Przygotowanie warstwy bazodanowej w oparciu o Spring Data JPA dla aplikacji w architekturze mikroserwisowej
  • Rejestracja mikroserwisu w Eureka Server
  • Konteneryzacja mikroserwisów (patrz punkt 11)
  • Monitorowanie zarejestrowanego serwisu z poziomu Eureka Server
  • Konfiguracja komunikacji pomiędzy mikroserwisami z wykorzystaniem narzędzia Spring Cloud OpenFeign
  • Konfiguracja load balancing za pomocą Spring Cloud OpenFeign
  • Skalowanie aplikacji webowych w architekturze mikroserwisowej
  • Implementacja mechanizmu API Gateway z wykorzystaniem Spring Cloud Zuul ( dla zachowania zgodności ze starszymi wersjami aplikacji webowych Spring Boot )
  • Implementacja mechanizmu API Gateway z wykorzystaniem Spring Cloud Gateway
  • Implementacja warstwy security w architekturze mikroserwisowej 
  • Omówienie problemów związanych z przechowywaniem danych konfiguracyjnych wewnątrz aplikacji webowych
  • Omówienie zasady działania Spring Cloud Config Server
  • Przygotowanie zdalnego repozytorium GitHub do przechowywania danych konfiguracyjnych aplikacji
  • Implementacja mechanizmu przechowywania danych konfiguracyjnych w zdalnym repozytorium GitHub z wykorzystaniem Spring Cloud Config Server 
  • Wykorzystanie profili aplikacji webowej Spring Boot do zarządzania zdalnymi danymi konfiguracyjnymi
  • Wprowadzenie do biblioteki Resilence4j
  • Prezentacja możliwości biblioteki Resilence4j
  • Omówienie zasady działania mechanizmu fault tolerance
  • Implementacja mechanizmu fault tolerance z wykorzystaniem biblioteki Resilence4j
  • Omówienie zasady działania wzorca circuit breaker
  • Implementacja wzorca circuit breaker z wykorzystaniem biblioteki Resilence4j
  • Wykorzystanie Spring Boot Actuator do monitorowania stanu aplikacji mikroserwisowych
  • Konfiguracja narzędzia Prometheus do wizualizacji wybranych parametrów aplikacji mikroserwisowych
  • Konfiguracja narzędzia Grafana do wizualizacji wybranych parametrów aplikacji mikroserwisowych
  • Omówienie mechanizmu distributed tracing
  • Implementacja mechanizmu distributed tracing z wykorzystaniem Spring Cloud Sleuth
  • Monitorowanie wyników działania mechanizmu distributed tracing z wykorzystaniem Spring Cloud Zipkin
  • Konfiguracja systemów asynchronicznego zarządzania wiadomościami do pracy w architekturze mikroserwisowej
  • Zastosowanie elementów frameworka Spring WebFlux w architekturze mikroserwisowej
  • Konfiguracja reaktywnej komunikacji pomiędzy mikroserwisami z wykorzystaniem WebClient
  • Implementacja reaktywnej warstwy bazodanowej w architekturze mikroserwisowej z wykorzystaniem Spring Data Reactive MongoDb
  • Implementacja reaktywnej warstwy security w architekturze mikroserwisowej z wykorzystaniem mechanizmów Spring WebFlux
  • Testowanie aplikacji webowych pracujących w architekturze mikroserwisowej z wykorzystaniem mechanizmów Spring WebFlux
  • Zagadnienia uzupełniające
  • Omówienie architektury platformy Docker
  • Zasada działania obrazu oraz kontenera
  • Różnica pomiędzy kontenerem Docker oraz maszyną wirtualną
  • Instalacja platformy Docker
  • Praca z Docker CLI
  • Tworzenie i zarządzanie obrazami platformy Docker
  • Image Layers
  • Wprowadzenie do pracy z Docker Hub
  • Osadzenie przygotowanego obrazu w repozytorium Docker Hub
  • Tworzenie i zarządzanie kontenerami w platformie Docker
  • Omówienie cyklu życia kontenera
  • Kopiowanie plików z maszyny lokalnej do kontenera
  • Kopiowanie plików z kontenera do maszyny lokalnej
  • Klasyfikacja rodzajów danych przechowywanych w kontenerach
  • Tworzenie i zarządzanie volumes w platformie Docker
  • Różnica pomiędzy anonymous volumes oraz named volumes
  • Tworzenie i zarządzanie bind mounts w platformie Docker
  • Omówienie różnic pomiędzy volumes oraz bind mounts
  • Tworzenie volumes tylko do odczytu
  • Instalacja i uruchamianie przykładowych narzędzi z wykorzystaniem platformy Docker
  • Omówienie struktury pliku konfiguracyjnego Dockerfile
  • Praca z argumentami oraz zmiennymi środowiskowymi
  • Konteneryzacja aplikacji webowej z wykorzystaniem Docker
  • Komunikacja kontenera z zewnętrznym REST API
  • Komunikacja kontenera z narzędziami osadzonymi w localhost
  • Komunikacja container to container z użyciem networks w platformie Docker
  • Przegląd sterowników do konfiguracji zachowania networks
  • Omówienie zasady działania narzędzia Docker Compose
  • Instalacja narzędzia Docker Compose
  • Struktura pliku konfiguracyjnego narzędzia Docker Compose
  • Przygotowanie kontenera bazy danych 
  • Konfiguracja kontenerów do pracy z wieloma bazami danych
  • Konteneryzacja aplikacji webowej
  • Przykład tworzenia utility containers
  • Omówienie architektury Amazon Web Services
  • Omówienie pojęcia regionu
  • Omówienie pojęcia availability zone (AZ)
  • Praca z Identity and Access Management (IAM)
  • Wprowadzenie pojęć users, roles, groups oraz policies
  • Konfiguracja konta użytkownika
  • Zarządzanie budżetem
  • Omówienie Amazon Machine Images (AMI)
  • Wprowadzenie do serwisu Elastic Compute Cloud (EC2)
  • Przygotowanie i uruchomienie instancji EC2
  • Przegląd parametrów instancji EC2
  • Konfiguracja Security Groups do ustawienia możliwości komunikacyjnych instancji EC2
  • Komunikacja z instancją EC2 z wykorzystaniem SSH
  • Komunikacja z instancją EC2 z wykorzystaniem AWS Console
  • Konfiguracja Elastic IP
  • Konfiguracja User Data do uruchamia operacji początkowych dla instancji EC2
  • Przygotowanie instancji EC2 do pracy z kontenerami Docker
  • Osadzenie skonteneryzowanej aplikacji webowej w instancji EC2
  • Klasyfikacja sposobów uruchamiania instancji EC2
  • EC2 Elastic Network Instances (ENI)
  • Omówienie pojęć scalability oraz high availability
  • Skalowanie wertykalne oraz horyzontalne
  • Omówienie pojęcia load balancing
  • Klasyfikacja load balancerów
  • Uruchomienie serwisu Elastic Load Balancer (ELB)
  • Load Balancer Stickiness
  • Cross-Zone Load Balancing
  • Omówienie pojęć związanych z auto scaling
  • Konfiguracja Auto Scaling Group (ASG)
  • Sposoby skalowania – Target Tracking Scaling
  • Sposoby skalowania – Simple / Step Scaling
  • Konfiguracja Elastic Block Store (EBS)
  • Klasyfikacja EBS Volumes
  • Konfiguracja EC2 Instance Store
  • Konfiguracja Elastic File System (EFS)
  • Porównanie EBS oraz EFS
  • Wprowadzenie do serwisu Relational Database Service (RDS)
  • Zalety i wady stosowania RDS
  • Omówienie mechanizmu RDS Read Replicas
  • Omówienie mechanizmu Single AZ oraz Multi AZ
  • Konfiguracja usługi RDS
  • RDS Encryption
  • Wady i zalety pracy z bazą danych Amazon Aurora
  • Konfiguracja RDS do pracy z Amazon Aurora
  • Omówienie usługi Amazon ElastiCache
  • Wprowadzenie do serwisu Elastic Beanstalk (EB)
  • Przygotowanie środowiska Elastic Beanstalk Environment
  • Klasyfikacja sposobów osadzania aplikacji w EB Environment
  • Praca z Elastic Beanstalk Extensions
  • Klonowanie środowiska Elastic Beanstalk
  • Docker w pracy z Elastic Beanstalk
  • Osadzanie aplikacji webowej w środowisku EB
  • Osadzanie aplikacji webowej w środowisku EB z komunikacją bazodanową z wykorzystaniem RDS
  • Load balancing oraz autoscaling aplikacji osadzonej w środowisku EB
  • Przygotowanie API Gateway dla środowiska EB
  • Wprowadzenie do serwisu Elastic Container Service (ECS)
  • Omówienie pojęcia orkiestryzacji kontenerów
  • Konfiguracja ECS
  • Wprowadzenie do serwisu AWS Fargate
  • Omówienie jednostki uruchomieniowej Task
  • Konfiguracja Task Definition
  • Omówienie i konfiguracja Service
  • Przeznaczenie elementu Cluster
  • Konfiguracja Cluster
  • Osadzenie aplikacji webowej jako service w klastrze AWS Fargate
  • Komunikacja kontenera AWS Fargate z bazą danych osadzoną w RDS
  • Zarządzanie parametrami aplikacji poprzez Systems Manager
  • Komunikacja kontenerów osadzonych w ramach serwisów AWS Fargate (wdrażanie architektury mikroserwisowej)
  • Konfiguracja distributed tracing dla kontenerów AWS Fargate z wykorzystaniem usługi AWS X-Ray
  • Konfiguracja load balancera do pracy z kontenerami AWS Fargate
  • Konfiguracja auto scaling do pracy z kontenerami AWS Fargate
  • Wprowadzenie do serwisu App Mesh
  • Charakterystyka pojęcia proxy
  • Envoy Proxy jako przykład proxy używanego w App Mesh
  • Tworzenie namespace w ramach usługi App Mesh
  • Tworzenie service dla skonfigurowanego namespace
  • Konfiguracja URI utworzonych w usłudze Route53 do pracy ze skonfigurowanymi serwisami
  • Konfiguracja Virtual Node
  • Konfiguracja Virtual Service dla utworzonych serwisów
  • Konfiguracja AWS Fargate do wdrożenia konfiguracji przygotowanej w ramach AWS Mesh
  • Wprowadzenie do serwisu AWS CodePipeline
  • Wyjaśnienie pojęcia continuous integration (CI)
  • Wyjaśnienie pojęcia continuous delivery (CD)
  • Przygotowanie aplikacji webowej do pracy z CI/CD
  • Przygotowanie repozytorium GitHub aplikacji webowej do pracy z AWS CodePipeline
  • Przygotowanie serwisu ECS do pracy z AWS CodePipeline
  • Omówienie kolejnych etapów budowania i uruchamiania projektu w ramach usługi AWS CodePipeline
  • Uruchomienie serwisu z aplikacją webową w ramach CI/CD
  • Testowanie mechanizmu CI/CD w ramach AWS CodePipeline
  • Sprawdzanie logów aplikacji z wykorzystaniem usługi CloudWatch
  • Serwowanie zasobów statycznych z wykorzystaniem usługi AWS S3
  • Zagadnienia uzupełniające
  • Omówienie architektury Kubernetes
  • Przegląd rozwiązań chmurowych pod kątem stosowania Kubernetes na przykładzie platform Google Cloud oraz AWS
  • Przygotowanie platofrmy Google Cloud do pracy z Kubernetes
  • Przygotowanie platformy AWS do pracy z Kubernetes
  • Tworzenie i zarządzanie klastrem Kubernetes
  • Przygotowanie aplikacji webowej do osadzenia w klastrze Kubernetes
  • Osadzanie aplikacji webowej w klastrze Kubernetes
  • Analiza możliwości Kubernetes pod kątem mechanizmów Load Balancing oraz Auto Scaling
  • Analiza plików konfiguracyjnych YAML wykorzystywanych w pracy z Kubernetes
  • Omówienie sposobów generowania plików konfiguracyjnych YAML
  • Konfiguracja narzędzi do pracy z klastrem Kubernetes z poziomu maszyny lokalnej
  • Zarządzanie różnymi wersjami aplikacji osadzanej w klastrze Kubernetes
  • Konwersja konfiguracji Docker Compose do konfiguracji klastra Kubernetes
  • Zastosowanie mechanizmów Kubernetes do zarządzania bazą danych w klastrze
  • Centralizowanie konfiguracji z wykorzystaniem mechanizmu Config Map
  • Przechowywanie wrażliwych danych z wykorzystaniem mechanizmu Secret Generic
  • Przygotowanie aplikacji w architekturze mikroserwisowej do osadzenia w klastrze Kubernetes
  • Osadzenie aplikacji w architekturze mikroserwisowej w klastrze Kubernetes
  • Konfiguracja mechanizmu Ingress
  • Wykorzystanie projektu Spring Boot Kubernetes do zarządzania aplikacją w architekturze mikroserwisowej w pracy z Kubernetes
  • Logowanie błędów i zdarzeń w aplikacjach osadzonych w klastrze Kubernetes
  • Konfiguracja narzędzia Istio
  • Konfiguracja narzędzia Helm
  • Zagadnienia uzupełniające
  • Omówienie architektury GIT
  • Konfiguracja i personalizacja ustawień GIT
  • Klasyfikacja repozytoriów
  • Tworzenie repozytorium lokalnego
  • Zarządzanie plikami w ramach obszarów repozytorium
  • Rozgałęzianie i scalanie
  • Przegląd wszystkich operacji GIT
  • Aplikacje i wtyczki do pracy z GIT
  • Praca ze zdalnym repozytorium
  • Dobre praktyki tworzenia repozytoriów GIT
  • GitHub Pages
  • Zagadnienia uzupełniające

Materiały video

Wstecz 1 z 2 Dalej
Wstecz 1 z 2 Dalej

Newsletter

Zapisz się na KURS i zyskaj - licencja JetBrains na 6 miesięcy za darmo!