Azure dla developerów praktycznie

Odbiorcy: Developer, Senior Developer, Architekt, DevOps

Poziom:

Średniozaawansowany

Kategoria:

Azure

Forma: 10% wiedzy, 90% praktycznego warsztatu

Opis szkolenia

To praktyczne szkolenie skupia się na wybranych usługach Azure, które są kluczowe dla większości systemów opartych na tej platformie. Celem szkolenia jest nie tylko zapoznanie uczestników z konkretnymi usługami Azure, ale także przekazanie umiejętności ich efektywnego wykorzystania w realnych projektach. Zamiast próbować objąć wszystkie usługi Azure, skupimy się na tych, które są najbardziej istotne dla deweloperów, omawiając cały proces tworzenia i monitorowania aplikacji w środowisku Azure, począwszy od tworzenia infrastruktury kodem, poprzez przechowywanie plików, aż po monitorowanie i zarządzanie kosztami.

Najważniejsze Zagadnienia:

  • Wybrane Usługi Azure: Omówienie kluczowych usług Azure, które są podstawą większości systemów opartych na tej platformie.
  • Tworzenie Infrastruktury Kodem (IaC): Nauka korzystania z technik IaC do budowy infrastruktury.
  • Hostowanie i Uruchamianie Aplikacji: Praktyczne wskazówki dotyczące różnych opcji hostowania aplikacji w Azure.
  • Przechowywanie plików: Rozważania na temat efektywnego przechowywania danych i plików.
  • Monitorowanie Aplikacji: Techniki monitorowania aplikacji i zarządzania wydajnością.
  • Zarządzanie Kosztami: Nauka zdrowego podejścia do zarządzania kosztami w środowisku Azure.

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.

Infrastruktura jako kod (IaC) - Biceps/Terraform (180 min)

Ten moduł skupia się na zarządzaniu infrastrukturą chmurową Azure za pomocą kodu, wykorzystując narzędzia takie jak Terraform lub Biceps.

Uczestnicy dowiedzą się, dlaczego manualne zarządzanie infrastrukturą przez interfejsy użytkownika staje się przestarzałe i jak zarządzanie przez kod może minimalizować ryzyko związane z kosztami, przekazywaniem wiedzy i bezpieczeństwem.

Moduł ten dostarczy praktycznych umiejętności w zakresie działania wybranego narzędzia, składni, tworzenia pętli i działań warunkowych, a także najlepszych praktyk w zakresie IaC.

Główne Zagadnienia:

  • Czemu Zarządzać Infrastrukturą Przez Kod: Zrozumienie korzyści płynących z IaC i dlaczego jest to preferowane podejście.
  • Działanie Narzędzia: Wprowadzenie do działania Terraform/Biceps i ich roli w zarządzaniu infrastrukturą Azure.
  • Składnia: Nauka podstawowej składni używanej w Terraform/Biceps.
  • Pętle i Działania Warunkowe: Implementacja pętli i działań warunkowych w kodzie infrastruktury.
  • Przekazywanie i Zwracanie Zmiennych: Zarządzanie zmiennymi i ich przekazywanie między modułami.
  • Moduły: Nauka tworzenia i wykorzystywania modułów dla efektywnego zarządzania infrastrukturą.
  • Dobre Praktyki: Przedstawienie najlepszych praktyk w zakresie IaC.
  • Integracja w CI/CD: Wykorzystanie IaC w ramach procesów Continuous Integration/Continuous Deployment.

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.

Storage Account (120 min)

Ten moduł skupia się na Storage Account w Azure, jednej z podstawowych usług chmury, która często jest mylnie postrzegana tylko jako miejsce na przechowywanie plików.

Uczestnicy modułu dowiedzą się o bogatych możliwościach tej usługi, obejmujących Azure Blob Storage, Azure Queue Storage i Azure Table Storage.

Moduł obejmuje tematy takie jak architektura, wydajność, replikacja danych, zarządzanie dostępem, a także zarządzanie cyklem życia obiektów, problemy współbieżności i optymalizacja kosztów związanych z różnymi rodzajami przechowywania danych.

Główne Zagadnienia:

Azure Blob Storage:

  • Architektura i wydajność Blob Storage.
  • Replikacja danych i Soft Delete.
  • Dostęp i uprawnienia, w tym Access Keys i SAS tokens.
  • Zarządzanie cyklem życia obiektów.
  • Problemy współbieżności, w tym optimistic i pessimistic locking.
  • Koszty związane z wykorzystaniem Blob Storage.

Azure Queue Storage:

  • Architektura i ograniczenia Queue Storage.
  • Zastosowanie Queue Storage i dobre praktyki.
  • Optymalizacja kosztowa w użyciu Queue Storage.

Azure Table Storage:

  • Architektura i ograniczenia Table Storage.
  • Modelowanie danych w bazach szeroko-kolumnowych.
  • Transakcje, atomowość i Entity Transaction Group (ETG).
  • Praktyczne zastosowania Table Storage.
  • Optymalizacja kosztowa w użyciu Table Storage.

Application Insight (60 min)

Mało jest w Microsofte Azure usług które daja tak ogromny zwrot z włączenia jak Application Insights. Około 30 minut na włączenie i konfigurację i dostajemy dokładny wgląd we wnętrze aplikacji lub całego ekosystemu mikroserwisów.

Jednak jest to też jedna z gorzej opisanych usług więc wykorzystanie i poznanie tej wiedzy nie przychodzi niestety łatwo. A Nie trzeba tak dużo czasu żeby poznać tą usługę.

Poruszane tematy:

  • Architektura
  • Modele działania - Open Telemetry vs Classic
  • Czym jest Open Telemetry

- Classic:

  • Application Map
  • Smart Alerts
  • Availability testing
  • Live Metrics
  • Performance
  • Failures
  • Usage
  • Session
  • Events
  • Funnels
  • Cohorts
  • Optymalizacja kosztowa
  • Sampling

Optymalizacja kosztowa (30 min)

Ten moduł skupia się na optymalizacji kosztów w chmurze, pokazując, jak efektywnie zarządzać i kontrolować wydatki w Azure, zarówno na małą, jak i dużą skalę.

Uczestnicy nauczą się wykorzystywać narzędzia takie jak Azure Advisor i Azure Automation, aby zrozumieć, kontrolować i ograniczać swoje koszty.

Moduł ten obejmuje również tematy związane z budżetowaniem, analizą kosztów oraz projektowaniem platformy z myślą o łatwym rozliczaniu.

Główne Zagadnienia:

  • Azure Advisor: Wykorzystanie Azure Advisor do otrzymywania rekomendacji dotyczących optymalizacji kosztów.
  • Budżety: Ustawianie i zarządzanie budżetami w Azure, aby kontrolować wydatki.
  • Rozbicie Kosztów po Wymiarach: Analiza i zrozumienie kosztów według różnych wymiarów, takich jak usługi, departamenty czy projekty.
  • Projektowanie Platformy dla Łatwego Rozliczania: Nauka projektowania infrastruktury i usług w taki sposób, aby rozliczenia były przejrzyste i łatwe do zrozumienia.
  • Azure Automation: Wykorzystanie Azure Automation do zarządzania zasobami i optymalizacji kosztów.
  • Dobre Praktyki: Omówienie najlepszych praktyk dotyczących optymalizacji kosztów w chmurze.

Kolejki i komunikacja asynchroniczna w Azure (120 min)

Ten moduł koncentruje się na kluczowych aspektach wyboru systemu kolejkowego w architekturze systemów rozproszonych, podkreślając znaczenie komunikacji asynchronicznej.

Uczestnicy zdobędą wiedzę na temat różnych dostępnych rozwiązań w Azure, takich jak Azure Queue Storage, Azure Event Grid, Azure Event Hub i Azure Service Bus.

Moduł ten oferuje szczegółowe omówienie różnic między systemami publish-subscribe, kolejkami i systemami strumieniowymi, a także porusza tematy związane z wydajnością, optymalizacją i kosztami związanymi z komunikacją asynchroniczną.

Główne Zagadnienia:

  • Różnica między Systemami Publish-Subscribe, Kolejkami, a Systemami Strumieniowymi: Zrozumienie kluczowych różnic i zastosowań tych systemów.
  • Problemy Komunikacji Asynchronicznej: Omówienie typowych problemów występujących w komunikacji asynchronicznej.
  • Omawiane Usługi Azure:Azure Queue Storage: Zastosowanie i konfiguracja prostych kolejek.
  • Azure Event Grid: Implementacja i zastosowanie systemów opartych na zdarzeniach.
  • Azure Event Hub: Wykorzystanie systemów strumieniowych do przetwarzania dużych ilości danych.
  • Azure Service Bus: Zaawansowane zarządzanie kolejkami i komunikacja w złożonych środowiskach.
  • Wydajność i Optymalizacja: Techniki optymalizacji wydajności w systemach kolejkowych i asynchronicznych.
  • Koszty: Analiza kosztów związanych z różnymi opcjami komunikacji asynchronicznej w Azure.

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, DevOps
  • Poziom:
    Średniozaawansowany
  • Kategoria:

    Azure

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