Docker i Docker w Azure

Odbiorcy: Developer, Junior Developer, Senior Developer, DevOps, Administrator, Architekt

Poziom:

Średniozaawansowany

Kategoria:

Azure

Docker

Forma: 10% wiedzy, 90% praktycznego warsztatu

Opis szkolenia

To szkolenie oferuje praktyczne podejście do Dockera, zaczynając od podstaw aż po bardziej zaawansowane aspekty takie jak sieci, zarządzanie dyskami, debugowanie i automatyzacja.

Następnie skupiamy się na uruchamianiu kontenerów Docker w środowisku Azure, gdzie eksplorujemy różne usługi, które mogą być bardziej odpowiednie niż Kubernetes w niektórych przypadkach.

Szkolenie obejmuje również aspekty bezpieczeństwa kontenerów oraz zarządzanie danymi w kontekście konteneryzacji.

Najważniejsze Zagadnienia:

  • Podstawy Dockera: Zrozumienie fundamentów Dockera, w tym tworzenia i zarządzania kontenerami.
  • Zaawansowane Funkcje Dockera: Eksploracja zaawansowanych funkcji, takich jak sieci, zarządzanie dyskami i debugowanie.
  • Automatyzacja w Dockerze: Nauka automatyzacji procesów związanych z Dockerem.
  • Uruchamianie Kontenerów w Azure: Omówienie alternatyw dla Kubernetes w Azure, w tym prostszych w uruchomieniu i utrzymaniu usług.
  • Bezpieczeństwo Kontenerów: Zrozumienie kluczowych aspektów bezpieczeństwa w kontekście kontenerów Docker.
  • Zarządzanie Danymi w Kontenerach: Przegląd metod przechowywania i zarządzania danymi w kontenerach.

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.

Docker i docker-compose (390 min)

Ten moduł skupia się na konteneryzacji, która stała się standardem w dostarczaniu aplikacji, i koncentruje się na Docker oraz Docker-compose.

Uczestnicy modułu dowiedzą się, jak pełniej wykorzystać możliwości tych narzędzi, co pozwoli na oszczędność czasu i maksymalizację efektywności. Moduł t

en oferuje kompleksowe spojrzenie na działanie, architekturę, historię oraz praktyczne aspekty stosowania Dockera i Docker-compose.

Główne Zagadnienia:

  • Działanie i Architektura: Zrozumienie podstawowych zasad działania i architektury Dockera.
  • Historia: Przegląd historyczny, ukazujący ewolucję konteneryzacji i wpływ Dockera na przemysł IT.
  • Uruchomienie Aplikacji - docker run: Praktyczne zastosowanie polecenia docker run do uruchamiania kontenerów.
  • Sieci: Nauka zarządzania sieciami w kontekście kontenerów Dockera.
  • Volumeny: Wykorzystanie wolumenów do zarządzania danymi w kontenerach.
  • Tworzenie Pliku Dockerfile i Wieloetapowe Pliki Dockerfile: Techniki tworzenia efektywnych i zoptymalizowanych Dockerfiles.
  • Uruchamianie Wielu Kontenerów - docker-compose: Nauka wykorzystania docker-compose do zarządzania wielokontenerowymi aplikacjami.
  • Zmienne Środowiskowe: Wykorzystanie zmiennych środowiskowych w konfiguracji kontenerów.

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.

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.

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, Junior Developer, Senior Developer, DevOps, Administrator, Architekt
  • Poziom:
    Średniozaawansowany
  • Kategoria:

    Azure

    Docker

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