Azure dla Architektów

Odbiorcy: Senior Developer, Architekt, Senior Architekt

Poziom:

Średniozaawansowany

Kategoria:

Azure

Forma: 10% wiedzy, 90% praktycznego warsztatu

Opis szkolenia

To praktyczne szkolenie jest skierowane do architektów systemów, którzy chcą szybko projektować odporne, skalowalne i optymalne kosztowo systemy w Azure.

Szkolenie koncentruje się na wyborze odpowiednich usług Azure, unikając pułapek związanych z nadmiernym hype'em i błędnymi decyzjami projektowymi. Uczestnicy zdobędą praktyczną wiedzę na temat najczęściej wykorzystywanych usług Azure i najlepszych praktyk w ich wyborze.

Tematy obejmują organizację kodu dla Infrastruktury jako Kod (IaC), różne opcje hostowania aplikacji, wykorzystanie funkcji serverless, zarządzanie bezpieczeństwem danych, tożsamością i sekretami, a także monitoring całego środowiska.

Najważniejsze Zagadnienia:

  • Organizacja Kodu dla IaC: Nauka efektywnego zarządzania infrastrukturą jako kod.
  • Opcje Hostowania Aplikacji: Omówienie różnych możliwości hostowania aplikacji w Azure.
  • Wykorzystanie Serverless: Praktyczne zastosowania funkcji serverless w architekturze systemów.
  • Bezpieczne Przechowywanie Plików: Metody bezpiecznego przechowywania plików w Azure.
  • Zarządzanie Tożsamością i Sekretami: Nauka zarządzania tożsamością i bezpiecznego przechowywania sekretów.
  • Systemy Baz Danych i Komunikacja Asynchroniczna: Wybór odpowiednich rozwiązań do przechowywania danych i komunikacji asynchronicznej.
  • Monitorowanie Systemów: Techniki monitorowania systemów w Azure.

Wskazówki i porady, które pomogą w zdobyciu certyfikatów Microsoft.

Program szkolenia

Start, przywitanie, etc (15 min)

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

SQL w Azure - omówienie usług (60 min)

Ten moduł zapewnia kompleksowe omówienie różnych usług baz danych SQL dostępnych w Azure, podkreślając ich unikalne cechy i pomagając uczestnikom w podejmowaniu świadomych decyzji dotyczących ich wyboru.

W dobie, gdy NoSQL ewoluował do "Not Only SQL", bazy relacyjne nadal odgrywają kluczową rolę w systemach informatycznych.

Uczestnicy modułu zdobędą wiedzę na temat różnic między SQL VM, SQL Managed Instance, SQL Database Elastic Pool oraz Azure Database for PostgreSQL, a także nauczą się, jak odpowiednio dobierać te usługi do swoich potrzeb.

Główne Zagadnienia:

  • SQL VM: Omówienie usługi SQL Server na maszynach wirtualnych w Azure, jej zastosowań i scenariuszy użycia.
  • SQL Managed Instance: Zrozumienie charakterystyki i zalet SQL Managed Instance, w tym jej zarządzanej natury.
  • SQL Database Elastic Pool: Wyjaśnienie koncepcji Elastic Pool w Azure SQL Database i jej optymalnego wykorzystania.
  • Azure Database for PostgreSQL: Omówienie usługi Azure Database for PostgreSQL, jej cech i najlepszych przypadków użycia.

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.

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.

Zakończenie, ankieta, etc (15 min)

Zwiń

Opinie

Szkolenie Kubernetes dla Dev zdecydowanie spełniło oczekiwania naszego zespołu.Szczególnym plusem była elastyczność i możliwość dostosowania szkolenia dopotrzeb. Trener, na co dzień pracujący z technologią, był w stanie odpowiedzieć nawszystkie pytania i zapewnić praktyczne przykłady poparte wiedzą i doświadczeniem.

Name

Company Name

Szkolenie Kubernetes dla Dev zdecydowanie spełniło oczekiwania naszego zespołu.Szczególnym plusem była elastyczność i możliwość dostosowania szkolenia dopotrzeb. Trener, na co dzień pracujący z technologią, był w stanie odpowiedzieć nawszystkie pytania i zapewnić praktyczne przykłady poparte wiedzą i doświadczeniem.

Name

Company Name

  • Odbiorcy:
    Senior Developer, Architekt, Senior Architekt
  • Poziom:
    Średniozaawansowany
  • Kategoria:

    Azure

  • Forma:
    10% wiedzy, 90% praktycznego warsztatu
  • Czas trwania:
    3,5 dni
  • Miejsce szkolenia:
Pobierz szczegółowy program w pdf