Serverless w Azure

Odbiorcy: developer, senior developer. architekt

Poziom:

Średniozaawansowany

Kategoria:

Azure

Forma: 10% wiedzy, 90% praktycznego warsztatu

Opis szkolenia

To szkolenie odnosi się do serverless w Azure jako narzędzia w arsenale każdego architekta systemów, wykraczając poza pierwotny hype wokół tej technologii. Skupiamy się na praktycznym zastosowaniu Azure Functions, Durable Functions oraz innych usług PaaS, które wspierają architekturę serverless.

Szkolenie oferuje zarówno podstawowe wprowadzenie, jak i dogłębne zagłębienie się w Azure Functions i architekturę zdarzeniową, omawiając kiedy i jak najlepiej wykorzystywać te usługi. Poruszamy również tematykę App Services, Container Apps, Container Instances i Key Vault, aby zapewnić holistyczne podejście do serverless w Azure.

Najważniejsze Zagadnienia:

  • Azure Functions i Durable Functions: Zrozumienie możliwości i zastosowań, w tym kiedy i jak najlepiej je wykorzystać.
  • Architektura Zdarzeniowa: Eksploracja architektury zdarzeniowej i jej implementacja w Azure.
  • App Services: Wykorzystanie App Services do hostowania cięższych serwisów w modelu PaaS.
  • Container Apps: Zrozumienie jak zarządzany Kubernetes może skalować się do zera i jego zastosowania w serverless.
  • Container Instances: Alternatywy dla hostowania kontenerów Docker bez potrzeby zarządzania maszynami wirtualnymi.
  • Key Vault: Metody zarządzania sekretami i eliminacji haseł z kodu aplikacji.

Program szkolenia

Start, przywitanie, etc. (15 min)

Wprowadzenie do Azure (60 min)

Fundamentalne wprowadzenie do Microsoft Azure, przygotowujący uczestników do głębszego zrozumienia i efektywnego wykorzystania usług chmurowych.

Rozpoczniemy od podstaw, wyjaśniając, dlaczego zrozumienie fundamentów Azure jest kluczowe dla efektywnego korzystania z chmury.

Główne Zagadnienia:

  • Capex vs. Opex: Analiza i porównanie modeli kosztów kapitałowych (Capex) i operacyjnych (Opex) w kontekście usług chmurowych.
  • IaaS, PaaS, FaaS: Wprowadzenie do różnych modeli usług w chmurze, w tym Infrastruktura jako usługa (IaaS), Platforma jako usługa (PaaS) i Funkcja jako usługa (FaaS).
  • Tożsamość i Zarządzanie Uprawnieniami - RBAC: Omówienie zarządzania tożsamością i uprawnieniami z wykorzystaniem Role-Based Access Control (RBAC) w Azure.
  • Subskrypcja a Tenant: Wyjaśnienie różnic i zależności między subskrypcjami a tenantami w ekosystemie Azure.

App Services (240 min)

Ten moduł oferuje szczegółowe zapoznanie się z usługą App Services w Microsoft Azure, która jest standardowym rozwiązaniem do hostowania aplikacji w chmurze Azure.

Mimo że usługa wydaje się prosta na pierwszy rzut oka, kryje wiele nieoczywistych funkcji. Uczestnicy modułu przejdą przez pełen cykl życia aplikacji w App Services, począwszy od wdrożenia, poprzez monitorowanie, skalowanie, aż do debugowania.

Główne Zagadnienia:

  • Deployment Center: Zrozumienie i wykorzystanie centrum wdrożeń do efektywnego deploymentu aplikacji.
  • Deployment Sloty: Nauka korzystania ze slotów wdrożeniowych do zarządzania różnymi wersjami aplikacji.
  • Skalowanie: Metody i techniki skalowania aplikacji w odpowiedzi na zmieniające się wymagania.
  • Monitorowanie: Śledzenie i analizowanie wydajności aplikacji za pomocą narzędzi monitorujących.
  • Logowanie i Diagnostyka: Zastosowanie narzędzi logowania i diagnostyki do identyfikacji i rozwiązywania problemów.
  • Kudu: Praktyczne wykorzystanie narzędzia Kudu do zarządzania aplikacjami w Azure.
  • Optymalizacja Kosztowa: Strategie i techniki minimalizowania kosztów przy maksymalizacji wydajności aplikacji.

App Services for Docker (90 min)

Ten moduł rozszerza wiedzę nabytą w module "App Services", skupiając się na wykorzystaniu usługi do uruchamiania obrazów Docker.

Uczestnicy dowiedzą się, jak App Services może służyć nie tylko do uruchamiania binariów aplikacji, ale również jako platforma do efektywnego zarządzania i uruchamiania kontenerów Docker.

Główne Zagadnienia:

  • Deployment: Nauka efektywnego wdrażania obrazów Docker w App Services.
  • Konfiguracja Pobierania z Azure Container Registry (ACR): Zrozumienie i konfiguracja procesu pobierania obrazów z Azure Container Registry.
  • Logowanie i Diagnostyka: Wykorzystanie narzędzi logowania i diagnostyki w kontekście aplikacji kontenerowych.
  • Optymalizacja Kosztowa: Rozwój strategii optymalizacji kosztów przy jednoczesnym zapewnieniu wysokiej wydajności i dostępności aplikacji kontenerowych.

Azure Container Registry (30 min)

Ten moduł skupia się na Azure Container Registry (ACR), kluczowym komponencie w zarządzaniu obrazami Docker w chmurze Azure.

Uczestnicy dowiedzą się, jak skutecznie publikować i zarządzać obrazami Docker za pomocą ACR, co jest niezbędne przed ich uruchomieniem w środowisku produkcyjnym. Moduł ten podkreśla, że ACR to więcej niż tylko rejestr Docker, oferując szereg zaawansowanych funkcji i możliwości.

Główne Zagadnienia:

  • Poziomy Usługi (SKU): Zrozumienie różnych poziomów usługi dostępnych w ACR i ich zastosowań.
  • Logowanie i Bezpieczeństwo: Omówienie aspektów bezpieczeństwa i logowania w kontekście zarządzania obrazami kontenerów.
  • Integracja z Lokalnym Docker: Nauka integracji ACR z lokalnym środowiskiem Docker, umożliwiająca łatwe zarządzanie obrazami.
  • Zdalne Buildy i Inne Taski: Przegląd zdalnych buildów i innych zadań, które można realizować za pomocą ACR.
  • Bezpieczne Pobieranie Obrazów: Techniki zapewniające bezpieczne pobieranie i zarządzanie obrazami kontenerowymi.
  • Optymalizacja Kosztowa: Strategie minimalizowania kosztów przy maksymalizacji efektywności i bezpieczeństwa w zarządzaniu obrazami Docker.

Azure Container Instances (30 min)

Ten moduł oferuje praktyczne wprowadzenie do Azure Container Instances (ACI), które można opisać jako "maszyna wirtualna z Docker".

ACI to elastyczne i wydajne rozwiązanie, które warto znać i umieć wykorzystać w różnych scenariuszach aplikacyjnych. Uczestnicy modułu poznają kluczowe aspekty uruchamiania, zastosowania i ograniczeń ACI, a także nauczą się, jak wdrażać i monitorować kontenery w tym środowisku.

Główne Zagadnienia:

  • Uruchomienie, Zastosowanie i Ograniczenia: Wprowadzenie do podstawowych funkcji ACI, ich potencjalnych zastosowań oraz ograniczeń.
  • Deployment: Praktyczne wskazówki dotyczące efektywnego wdrażania kontenerów w ACI.
  • Monitorowanie, Diagnostyka i Logowanie: Nauka monitorowania wydajności i diagnozowania problemów, a także efektywnego logowania.
  • Porównanie ACI z App Services, AKS i Container Apps: Dogłębna analiza i porównanie ACI z innymi usługami kontenerowymi w Azure, w tym App Services, Azure Kubernetes Service (AKS) i Container Apps.
  • Optymalizacja Kosztowa: Strategie zarządzania kosztami i optymalizacji wykorzystania zasobów w ACI.

Container Apps (180 min)

Ten moduł przedstawia Azure Container Apps jako nowoczesne rozwiązanie łączące Kubernetes, KEDA (Kubernetes-based Event-Driven Autoscaling) oraz Dapr (Distributed Application Runtime), tworząc zarządzane środowisko dla aplikacji kontenerowych.

Moduł ten bada, kiedy lepiej jest stosować standardowe rozwiązania Kubernetes a kiedy skorzystać z usług zarządzanych jak Container Apps, podkreślając, że wybór zależy od konkretnych wymagań i zastosowań.

Główne Zagadnienia:

  • Architektura: Zrozumienie podstawowej architektury Container Apps i jej komponentów.
  • KEDA i DAPR: Wprowadzenie do KEDA i Dapr, oraz ich roli w Container Apps.
  • Tworzenie Container App Environment: Nauka tworzenia i konfiguracji środowiska aplikacji kontenerowych.
  • Skalowanie: Zrozumienie i implementacja skalowania opartego na wydarzeniach i obciążeniu.
  • Zarządzanie Sekretami: Techniki zarządzania sekretami w aplikacjach kontenerowych.
  • Volumenty: Wykorzystanie i zarządzanie woluminami w Container Apps.
  • Monitorowanie: Nauka monitorowania aplikacji kontenerowych, w tym zbierania i analizowania metryk.
  • Optymalizacja Kosztowa: Strategie optymalizacji kosztów przy jednoczesnym zachowaniu wysokiej wydajności i dostępności aplikacji.

Key Vault i Managed Identity (60 min)

Ten moduł koncentruje się na Azure Key Vault i Managed Identity, które stanowią kluczowe elementy bezpiecznej architektury w Azure.

Uczestnicy dowiedzą się, jak efektywnie wykorzystać te usługi do zabezpieczenia danych, zarządzania sekretami, kluczami i certyfikatami, a także do zarządzania dostępem i uwierzytelnianiem. Moduł ten zapewni praktyczne umiejętności i wiedzę niezbędną do zabezpieczania aplikacji i usług w Azure.

Główne Zagadnienia:

  • Poziomy Usługi (SKU): Zrozumienie różnych dostępnych poziomów usługi w Azure Key Vault.
  • Sekrety, Klucze i Certyfikaty: Nauka zarządzania sekretami, kluczami i certyfikatami z wykorzystaniem Azure Key Vault.
  • Zarządzanie Dostępem – Access Policies vs RBAC: Porównanie i zastosowanie polityk dostępu i Role-Based Access Control (RBAC) w kontekście zarządzania dostępem.
  • Dostęp do Wartości i Uwierzytelnianie: Wykorzystanie różnych metod dostępu i uwierzytelniania, w tym dostępu z kodu, przez zmienne środowiskowe i tożsamości z on-prem.
  • Integracja z Usługami na Przykładzie App Services: Praktyczne przykłady integracji Key Vault z innymi usługami Azure, jak App Services.
  • Integracja z CA: Zrozumienie procesu integracji Azure Key Vault z usługami certyfikacji.
  • Ręczne Pobieranie Tożsamości i Uwierzytelnianie Requestu: Nauka zaawansowanych technik uwierzytelniania i zarządzania tożsamościami.

Azure Functions (90 min)

Ten moduł skupia się na Azure Functions, które, mimo zmniejszonego "hype'u" na serwerless, stały się istotnym narzędziem w nowoczesnej architekturze chmurowej.

Uczestnicy modułu zdobędą wiedzę na temat zastosowań, sposobów hostowania, architektury oraz rozwoju lokalnego Azure Functions. Moduł ten zapewni również praktyczne umiejętności dotyczące różnych triggerów, wstrzykiwania zależności oraz tworzenia własnych kolektorów i integracji z systemami zewnętrznymi.

Główne Zagadnienia:

  • Zastosowanie: Wprowadzenie do różnorodnych zastosowań Azure Functions w architekturze chmurowej.
  • Sposoby Hostowania: Omówienie różnych opcji hostowania funkcji, w tym hostowania dedykowanego i zupełnie bezserwerowego.
  • Architektura: Zrozumienie kluczowych aspektów architektury Azure Functions.
  • Development Lokalny: Nauka tworzenia i testowania funkcji lokalnie przed wdrożeniem w chmurze.
  • HTTP Trigger: Praktyczne wykorzystanie triggerów HTTP w Azure Functions.
  • Queue Trigger: Zrozumienie i stosowanie triggerów kolejki w funkcjach.
  • Dependency Injection: Implementacja wstrzykiwania zależności w Azure Functions.
  • Tworzenie Własnych Kolektorów i Integracje z Systemami Zewnętrznymi: Nauka tworzenia niestandardowych kolektorów i integracji z zewnętrznymi systemami.
  • Koszty: Analiza i optymalizacja kosztów związanych z wykorzystaniem Azure Functions.

Azure Functions - Durable Functions (290 min)

Ten moduł skupia się na Durable Functions, zaawansowanym rozszerzeniu Azure Functions, które odgrywa kluczową rolę w każdym systemie chmurowym.

Durable Functions wyróżniają się unikalną zdolnością do zarządzania stanem i koordynowania długotrwałych procesów, co czyni je niezbędnym elementem w złożonych aplikacjach chmurowych. Uczestnicy modułu zdobędą głębokie zrozumienie działania, architektury oraz różnorodnych zastosowań Durable Functions.

Główne Zagadnienia:

  • Działanie i Architektura: Wprowadzenie do podstawowych zasad działania i architektury Durable Functions.
  • Znaczenie Orchestratora: Zrozumienie roli orchestratora w zarządzaniu przepływem pracy i koordynacji zadań.
  • Akcje: Praktyczne wskazówki dotyczące definiowania i wykonywania akcji w Durable Functions.
  • Wzorce Komunikacji Asynchronicznej: Nauka implementowania wzorców asynchronicznych, takich jak Fan-in, Fan-out i Monitor.
  • Reagowanie na Zewnętrzne Zdarzenia i Timer: Zrozumienie sposobów reagowania na zdarzenia zewnętrzne i wykorzystania timera.
  • Niekończąca się Orchestracja: Omówienie strategii tworzenia długotrwałych procesów bez ryzyka przerwania.
  • Statefull Entities: Zrozumienie i wykorzystanie bytów stanowych w kontekście Durable Functions.
  • Task Hubs: Nauka zarządzania i optymalizacji centrów zadań (Task Hubs).
  • Wydajność i Optymalizacja: Strategie poprawy wydajności i optymalizacji kosztów w Durable Functions.
  • Koszty: Analiza kosztów związanych z wykorzystaniem Durable Functions i sposoby ich optymalizacji.

Zakończenie, ankieta, etc (15 min)

Rozwiń

Opinie

Profesjonalnie prowadzone szkolenie, pokazujące nie tylko jak zrobić ale i dlaczego/jak nie robić.

Ogólnie szkolenie bardzo fajne, idąc myślałem, że będzie to jedno z tych nudnych, w których robię już setny raz to samo, ale jednak się myliłem.

Kompetencja, zaangażowanie, dobry dobór i przygotowanie ćwiczeń praktycznych.

Znakomity poziom wiedzy z danego obszaru, oparty na praktyce. Przykłady z życia pokazują, że trener stosował w projektach to o czym naucza.

Nie spotkałem wcześniej bardziej entuzjastycznego trenera i kogokolwiek w naszej branży. Tak trzymać :)

Ciekawe, tego się spodziewałem. Mało suchej teorii, dużo praktycznych ćwiczeń to znakomity pomysł.

  • Odbiorcy:
    developer, senior developer. architekt
  • Poziom:
    Średniozaawansowany
  • Kategoria:

    Azure

  • Forma:
    10% wiedzy, 90% praktycznego warsztatu
  • Czas trwania:
    2,5
  • Miejsce szkolenia: