PROFIL UCZESTNIKA
Szkolenie Docker dla programistów przeznaczone jest dla programistów, administratorów oraz devOps-ów chcących poznać technologie konteneryzacji.
Forma szkolenia jest zbalansowana i obejmuje wykłady prowadzone przez doświadczonego trenera z wieloletnią praktyką w branży programowania oraz ćwiczeń.
PROGRAM SZKOLENIA
1. Wprowadzenie
- Jak się to wszystko zaczęło?
- Wirtualizacja jako sposób na optymalne wykorzystanie zasobów
- Wirtualizacja i chmura obliczeniowa
- Optymalizacja zasobów centrów danych przy użyciu kontenerów
2. Tworzenie aplikacji z użyciem VirtualBox i kontenerów Docker
- Problem zanieczyszczenia systemów plików hosta
- Tworzenie maszyn wirtualnych za pomocą programu VirtualBox
- Kontenery Docker
- Pierwsze kroki z platformą Docker
3. Udostępnianie kontenerów w serwisie Docker Hub
- Wprowadzenie do serwisu Docker Hub
- Implementacja kontenera MongoDB w aplikacji
- Wprowadzenie do architektury mikrousługowej
- Implementacja prostej aplikacji mikrousługowej
- Udostępnianie kontenerów w serwisie Docker Hub
4. Tworzenie systemów przy użyciu kontenerów
- Narzędzia Docker Compose
- Lokalne sieci na platformie Docker
- Wiązanie systemów plików hosta i kontenera
- Pozostałe narzędzia kompozycyjne
5. Wdrażanie i uruchamianie kontenerów w środowisku produkcyjnym
- Minimalne wymagania dot. Środowiska produkcyjnego
- Zarządzane usługi chmurowe
- Tworzenie klastrów Kubernetes
- Właściwa konfiguracja produkcyjna
6. Wdrażanie aplikacji przy użyciu Docker Compose
- Wymagania dla aplikacji jednoserwerowej
- Przygotowanie hosta do uruchomienia platformy Docker i narzędzia Docker Compose
- Wdrażanie aplikacji przy użyciu plików konfiguracyjnych i skryptów
- Monitorowanie aplikacji
- Ograniczenia aplikacji jednoserwerowych
7. Ciągłe wdrażanie oprogramowania przy użyciu systemu Jenkins
- Plik Jenkinsfile i połączenie z serwerem
- Modyfikowanie konfiguracji za pomocą systemy Jenkins
- Wdrożenia w kilku środowiskach
- Złożoność i ograniczenia skalowalności systemu Jenkins
8. Wdrażanie kontenerów Docker przy uzyciu platformy Kubernetes
- Lokalna instancja platformy Kubernetes
- Wdrożenie przykładowej aplikacji
- Dobór dystrybucji platformy Kubernetes
- Pojęcia stosowane w platformie Kubernetes
- Konfigurowanie usługi AWS EKS za pomocą szblonu CloudFormation
- Wdrożenie aplikacji w klastrze AWS ESK i ograniczenie zasobów
- Repozytorium AWS Elastic Container Registry
- Rozdzielanie środowisk przy pomocy etykiet i przestrzeni nazw
9. Monitorowanie kontenerów Docker przy użyciu systemów: Prometeus, Grafana, Jaeger
- Dzienniki kontenerów Docker i programów uruchomieniowych
- Testy dostępności, gotowości i uruchamiania w platformie Kubernetes
- Zbieranie wskaźników i wysyłanie alarmów za pomocą systemu Prometeus
- Wizualizacja danych operacyjnych za pomocą systemu Grafana
- Monitorowanie wydajności aplikacji za pomocą systemu Jaeger
10. Skalowanie i testy obciążeniowe aplikacji w środowisku Docker
- Skalowanie klastra Kubernetes
- Siatka usług Envoy i jej zastosowania
- Testowanie skalowalności i wydajności aplikacji za pomocą narzędzia k6
11. Bezpieczeństwo kontenerów Docker
- Wprowadzenie do bezpieczeństwa kontenerów
- Podstawy bezpieczeństwa i dobre praktyki korzystania z platformy Docker
- Zaawanasowane zabezpieczenia: skrytki, poufne polecenia, znaczniki i etykiety
- Skanowanie, monitorowanie i zewnętrzne narzędzia
12. Podsumowanie szkolenia