Z uwzględnieniem pracy z Gitem i mikroserwisami, pracy w zespole – aż po wdrożenie na wiele środowisk (w tym Kubernetes) zgodnie z najlepszymi praktykami DevSecOps.
Wiedza o automatyzacji prosto na Twoją skrzynkę.
Zakup szkolenia jest możliwy jedynie w wybranych okresach.
Zamówienia grupowe dla firm są realizowane poprzez kontakt mailowy akademia@wkontenerach.pl
Jesteś Programistą, DevOpsem, Architektem, a może Cloud Engineerem i chcesz poznać różne podejścia do automatyzacji w trakcie całego cyklu wytwarzania oprogramowania (nie tylko CI/CD)?
Wciąż szukasz Świętego Graala w projektowaniu pipeline'ów CI/CD?
Odpowiem: On nie istnieje. Ale co, jeśli pokażę Ci kilka sprawdzonych w boju rozwiązań – w tym GitOps?
Szukasz optymalnej strategii pracy z Gitem, by ułatwiać sobie życie, a nie utrudniać? A do tego nie masz pewności, jak podejść do wdrażania aplikacji (mikroserwisowych) na wiele środowisk?
Kojarzysz narzędzia do CI/CD, takie jak Github Actions, GitLab czy Jenkins i chcesz upewnić się, że to co robisz pokrywa się z praktykami DevSecOps panującymi na rynku?
Zastanawiasz się, jak podejść do wersjonowania artefaktów (.jar, .dll, obrazów dockerowych)? Jak podbijać ich wersje, aktualizować dokumentację?
Pracujesz już jakiś czas z Gitem? To świetnie! Ale czy automatyzujesz pracę i wykorzystujesz dostępne na rynku mechanizmy?
Pamiętaj, że narzędzie to TYLKO narzędzie.
Jest ich mnóstwo. Jeśli nauczysz się procesu, będziesz go w stanie zaimplementować w dowolnym narzędziu.
Dalej nie jest to jasne? To spróbujmy przedstawić to na przykładzie z życia.
Jeśli chcesz poznać różne i sprawdzone podejścia do automatyzacji całego cyklu wytwarzania oprogramowania – wliczając w to pracę z Gitem i mikroserwisami, pracę w zespole – aż po wdrożenie w Kubernetes zgodnie z najlepszymi praktykami DevSecOps, to dobrze trafiłeś.
automatyzacji w całym cyklu wytwarzania oprogramowania. Od pracy z Gitem, mikroserwisami – poprzez pracę w zespole, bezpieczeństwo łańcucha dostaw (Software Supply Chain) oraz wdrożenia na wiele środowisk (w tym Kubernetes).
Nuży Cię robienie tego samego po raz tysięczny? Chcesz ułatwić pracę Twojego zespołu? To wszystko jest w Twoim zasięgu razem z Automation Maestro.
Szukasz sposobu na wdrożenie aplikacji na wiele środowisk zgodnie ze sztuką? Dzięki Automation Maestro to wszystko stanie się prostsze.
Poznasz techniki wczesnego wykrywania podatności na każdym etapie cyklu wytwarzania oprogramowania.
Nauczysz się wykorzystywać narzędzia i procesy, które umożliwiają monitorowanie zależności aplikacyjnych oraz automatyczne testowanie aplikacji.
Dowiesz się, jak zapobiegać git push do repozytorium commitów, które nigdy nie powinny się tam pojawić, a także jak bezpiecznie przechowywać hasła i sekrety... w Gicie.
Poznasz strategie na utrzymywanie porządku w kodzie dzięki automatyzacjom. Zobaczysz proces releasowania nowych wersji, który jest spójny i czytelny.
► Dowiesz się, jak właściwie zaprojektować i wdrożyć cały pipeline CI/CD
► Dowiesz się, jak zadbać o bezpieczeństwo całego cyklu wytwarzania oprogramowania zgodnie z duchem DevSecOps
► Poznasz sposoby, dzięki którym automatyzacja będzie łatwiejsza do zaimplementowania
► Zautomatyzujesz wdrażanie aplikacji na wiele środowisk
►Twoja praca będzie przyjemniejsza - mniej ręcznego klikania, więcej czasu na rzeczywistą pracę
► Poznasz przydatne narzędzia i ich możliwości do wykorzystania w automatyzacji
► Nauczysz się wykorzystywać autoskalowanie w Kubernetes od podstaw
► Zrozumiesz podejście GitOps oraz to, jak czerpać z niego najwięcej korzyści – w tym jak wykorzystać Blue-Green Deployments czy Canary Release w podejściu GitOps
► Zapoznasz się z narzędziem ArgoCD i wejdziesz “deep dive” w jego możliwości
► Poznasz najczęstsze błędy w automatyzacji na podstawie doświadczeń moich oraz firm, dla których prowadziłem doradztwo i konsulting
Na polskim rynku wciąż brakuje materiałów, które pokazywałyby szersze podejście do automatyzacji w projektach IT. Są “kursiki” jak korzystać z Jenkinsa, jak korzystać z Gitlaba. Ale brakuje materiałów, które omawiają automatyzację i bezpieczeństwo całego cyklu wytwarzania oprogramowania i łańcucha dostaw. Automation Maestro jest odpowiedzią na to zapotrzebowanie.
Szkolenie kierujemy nie tylko do programistów i DevOpsów, ale także do Architektów IT, specjalistów ds. bezpieczeństwa czy osób na stanowiskach: Cloud Engineer. Dlaczego? Ponieważ celem szkolenia jest kompleksowe i szerokie spojrzenie na cały cykl wytwarzania oprogramowania – ”od napisania linijki kodu, po bezpieczne i w pełni zautomatyzowane wdrożenie”.
Szkolenie, które powstało na bazie sugestii i potrzeb największej polskiej społeczności dotyczącej konteneryzacji (8000 osób), w której znajdują się:
- programiści i architekci,
- DevOpsi,
- specjaliści ds. bezpieczeństwa,
- testerzy oprogramowania i testerzy automatyzujący.
► Autorem szkolenia jest Damian Naprawa, który zaczynał swoją karierę jako programista, później przeszedł na stanowisko DevOpsa, a obecnie pracuje jako Cloud & Kubernetes Architekt. Zajmuje się projektowaniem platform klasy enterprise dla zespołów developerskich oraz pomaga zespołom w migracji do chmury i Kubernetes.
► Projektowanie platform wymaga szerokiego spojrzenia na cały cykl wytwarzania oprogramowania – w tym łańcuch dostaw. Słowo “platforma” wiąże się nie tylko z miejscem do wdrożeń aplikacji, lecz także ustanawianiem standardów pracy z Gitem, bezpieczeństwem i automatyzacją (CI/CD oraz IaC), a także procesami biznesowi (business continuity) oraz utrzymaniem.
► Podczas projektów, gdzie pomagałem zespołom developerskim w migracji do chmury i Kubernetes doświadczyłem na własnej skórze – CO DZIAŁA (w kontekście automatyzacji), a czego należy unikać. Tymi doświadczeniami będę się z Tobą dzielił.
► Damian został wyróżniony w 2022 roku przez firmę Docker tytułem Docker Captain oraz specjalizuje się w tworzeniu zaawansowanych szkoleń z serii Maestro.
01.01: Witaj w Automation Maestro
01.02: Metoda nauki
01.03: Nie tylko CI/CD
01.04: Na jakich narzędziach będziemy pracować?
01.05: Najważniejsze narzędzie w automatyzacji
01.06: Kluczowe zasady dostarczania oprogramowania
01.07: Podejście do pracy z Gitem wspierające automatyzację
01.08: Typy podejść do wydawania nowych wersji kodu oraz podejście do naprawiania błędów na produkcji
01.09: Ciekawe podejścia do pracy z Gitem oraz rozwoju oprogramowania
01.10: Zadania do samodzielnego wykonania
02.01: Jak pracować w zespole gdzie mamy wyrównany poziom doświadczenia VS zespół gdzie mamy zarówno juniorów i seniorów?
02.02: Standaryzacja środowiska do pracy w zespole
02.03: Standaryzacja środowiska podczas pracy w zespole w praktyce
02.03A: Jak pracować z DevContainer
02.03B: Dev Container w produktach JetBrains (IntelliJ, PHPStorm i inne)
02.04: Commit Message świadczy o Tobie – co robić, a czego nie robić
02.05: Git w zespole – czy znasz ten mechanizm?
02.06: Git w zespole – jeden trik, który ustandaryzuje pracę zespołu i pomoże w automatyzacji
02.07: Git w zespole – drugi trik, który podniesie jakość projektu
02.08: Złote zasady tworzenia Pull Requestów
02.09: Mikroserwisy - Mono repo vs multi repo w kontekście automatyzacji
02.10: Zadania do samodzielnego wykonania
03.01: Czym jest Continuous Integration (CI) i dlaczego każde oprogramowanie powinno go mieć?
03.02: Co może (lub powinno) wyzwalać uruchomienie Continuous Integration?
03.03: Jak podejść do automatyzacji, gdy system jest już na produkcji, albo jest to Legacy?
03.04: Typy testów, które można (i warto) uruchamiać z poziomu CI
03.05: Typy podejść do wersjonowania artefaktów i obrazów dockerowych
03.06: Przygotowanie środowiska do uruchomienia pierwszej automatyzacji
03.07: Budowanie i testowanie kodu w praktyce
03.08: Uruchamianie CI tylko dla tej części systemu, która tego wymaga
03.09: Alternatywne i ciekawe podejście do Continuous Integration
03.10: Uruchamianie CI lokalnie bez konieczności commita do repo
03.11: 5 najważniejszych praktyk testowania
03.12: Zadania do samodzielnego wykonania
04.01: 5 złotych zasad Continuous Integration
04.02: Kroki warte rozważenia w Continuous Integration
04.03: Kontenery i Kubernetes
04.04: Continuous Delivery vs Continuous Deployment
04.05: W pełni zautomatyzowany sposób na Continuous Delivery – #1
04.06: Continuous Delivery – sposób #1 w praktyce
04.07: W pełni zautomatyzowany sposób na Continuous Delivery – #2
04.08: Continuous Delivery – sposób #2 w praktyce
04.09: Automatyczne generowanie dokumentacji
04.10: Sposób na Continuous Delivery – #3
04.11: Continuous Delivery – sposób #3 w praktyce
04.11A: Proces publikacji eksperymentalnego kodu na główny kanał dystrybucji
04.12: Porównanie sposobów na Continuous Delivery
05.01: Najważniejsze zasady Deployment Pipeline
05.02: Hasła, klucze i poufne dane w automatyzacji
05.03: Kiedy i dlaczego stosuje się Self Hosted Runner
05.04: Self-Hosted Runner w praktyce
05.05: Jak podejść do wdrożenia aplikacji bezpośrednio z platformy CI/CD na serwer VPS, który nie ma publicznego IP, albo nie ma dostępu do internetu?
05.06: Wdrożenie na prywatny serwer VPS w praktyce
05.6A: Jak wdrażać automatycznie na serwer VPS?
05.07: Wdrożenie i co dalej?
05.08: Strategie wdrożeń
05.09: Strategia Recreate
05.10: Strategia Rolling Update
05.11: Blue-Green Deployment
05.12: Canary Deployment
05.13: Strategia A/B Testing
05.14: Zadanie do samodzielnego wykonania
06.01: Wprowadzenie do Software Supply Chain
06.02: Przykłady ataków związanych z Software Supply Chain
06.03: SBOM – czyli z czego składa się Twoje oprogramowanie
06.04: Wprowadzenie do SAST i DAST
06.05: Skanowanie zależności i bibliotek
06.06: Automatyczna aktualizacja zależności
06.07: Wykrywanie haseł, kluczy i innych poufnych danych
06.08: Tworzenie standardów i praktyk, które mogą być używane w firmie lub organizacji wielokrotnie
06.09: Tworzenie reużywalnych automatyzacji w praktyce
06.10: Zabezpieczenie przed dodaniem do repozytorium Gita nieszyfrowanych haseł, kluczy i innych poufnych
06.11: Bezpieczeństwo obrazów dockerowych
06.12: Skanowanie kodu odpowiedzialnego za infrastrukturę
06.13: Przykład pełnej automatyzacji zawierającej poznane wcześniej poziomy bezpieczeństwa
07.01: Nieszyfrowane hasła i klucze zakomitowane w repozytorium to jeszcze nie koniec "złych" rzeczy. Case Study wycieku haseł i kluczy na innym etapie niż repozytorium Gita oraz jak temu zapobiec
07.02: W jakim stopniu podatny obraz dockerowy może mieć wpływ na bezpieczeństwo aplikacji? – Case Study
07.03: Release to jeszcze nie koniec dbania o bezpieczeństwo. Zobacz jak można do tego podejść.
07.04 Ciągła weryfikacja bezpieczeństwa w praktyce
07.05: Bezpieczny sposób na przechowywanie haseł, kluczy i innych sekretów w Gicie
07.06: Odpowiedzialność za bezpieczeństwo
07.07: LAB: Dynamiczne skanowanie aplikacji
08.01: Wprowadzenie do Push-Based Deployment w Kubernetes
08.02: Architektura aplikacji mikroserwisowej, którą
będziemy wdrażać w Kubernetes
08.03: Przygotowanie środowiska do automatyzacji dla aplikacji mikroserwisowej
08.04: W pełni automatyczne Continuous Delivery dla aplikacji mikroserwisowej
08.05: Bezpłatny klaster Kubernetes do nauki w chmurze
08.05A: Tworzenie klastra Kubernetes w praktyce
08.05B: Optymalizacja kosztów – jak się uczyć za darmo
08.05C: Konfiguracja połączenia między systemem CI/CD a klastrem Kubernetes
08.06: Wdrożenie w Kubernetes aplikacji mikroserwisowej za pomocą Kustomize
08.07: LAB: Continuous Deployment w Kubernetes dla aplikacji mikroserwisowej
08.08: Push-Based Deployment – wady i zalety
09.01: Dlaczego Helm dobrze wpisuje się w automatyzację?
09.02: Multi Repo a wdrożenie w Kubernetes – jak nie duplikować kodu
09.03: Automatyczne odnawianie certyfikatów SSL dla aplikacji wdrożonych w Kubernetes
09.04: Produkcyjne wdrożenie w Kubernetes aplikacji mikroserwisowej z własną domeną i automatycznie odnawianym certyfikatem SSL
09.05: LAB: Produkcyjne wdrożenie w Kubernetes aplikacji mikroserwisowej z własną domeną i automatycznie odnawianym certyfikatem SSL
09.05A: Podsumowanie LAB: Wdrożenie w Kubernetes z własną domeną i certyfikatem SSL
09.06: Jak działa Self Hosted Runner w Kubernetes?
09.07: Konfiguracja Self Hosted Runner w Kubernetes wraz z przykładem wykorzystania
10.01: Wprowadzenie do GitOps
10.02: GitOps - zalety i wyzwania
10.03: Mono repo vs Multi repo w podejściu GitOps
10.04: Anatomia ArgoCD
10.05: 4 sposoby na ArgoCD as a Code
10.06: Instalacja ArgoCD (as a Code) w praktyce
10.07: Produkcyjny przykład ArgoCD na własnej domenie z certyfikatem SSL
10.08: Jak można zorganizować repozytorium dla GitOps? Przypadki użycia na bazie doświadczeń Damiana
10.09: Wdrażanie zewnętrznych usług w podejściu GitOps
10.10: Wdrożenie end-to-end aplikacji mikroserwisowej w podejściu GitOps
10.11: LAB: Wdrożenie end-to-end aplikacji mikroserwisowej w podejściu GitOps
11.01: Jak podejść do synchronizacji między narzędziem CI/CD a narzędziem GitOps (ArgoCD)
11.02: ArgoCD ApplicationSets – po co, dlaczego i kiedy używać – wraz z przykładem wykorzystania
11.03: Jak zarządzać sekretami w podejściu GitOps
11.04: Sekrety w podejściu GitOps w praktyce
11.05: LAB: Sekrety & GitOps w praktyce
11.06: LAB: Uwierzytelnianie z Container Registry w podejściu GitOps (dynamiczne generowanie imagePullSecrets)
11.07: LAB: Wdrożenie aplikacji na potrzeby Pull Request do tymczasowego środowiska w podejściu GitOps
11.08: Wzorzec App of Apps – dlaczego i kiedy używać
11.09: LAB: Standaryzacja środowisk Kubernetes (zarówno w dużych jak i małych firmach) z wzorcem Apps of Apps
11.10: Najlepsze praktyki ArgoCD
12.01: Argo Rollouts – możliwości i korzyści
12.02: Argo Rollouts – instalacja & konfiguracja
12.03: LAB: Canary Release tylko dla frontendu w podejściu GitOps
12.04: LAB: Canary Release dla aplikacji mikroserwisowej w podejściu GitOps
12.05: LAB: Canary Release tylko dla frontendu w połączeniu z Ingress Controllerem w podejściu GitOps
12.06: LAB: Canary Release dla aplikacji mikroserwisowej w połączeniu z Ingress Controllerem w podejściu GitOps
12.07: LAB: Blue-Green Deployment dla aplikacji mikroserwisowej w połączeniu z Ingress Controllerem w podejściu GitOps
13.01: Wprowadzenie do autoskalowania
13.02: Skalowanie horyzontalne z na podstawie CPU i RAM
13.03: Skalowanie horyzontalne na podstawie CPU i RAM w praktyce
13.04: Skalowanie horyzontalne w Kubernetes z wykorzystaniem własnych metryk
13.05: Połączenie skalowania Horyzontalnego i skalowania wertykalnego w Kubernetes
13.06: Wyzwania z autoskalowaniem w Kubernetes i wprowadzenie do KEDA
14.01: Kto ma nacisnąć ENTER?
14.02: Proces dostarczenia kodu na produkcję, gdzie biznes wymaga przynajmniej jednego manualnego kroku
14.03: Use Case rozbudowanych automatyzacji – #1
14.04: Use Case rozbudowanych automatyzacji – #2
14.05: Bazy danych i Zero-Downtime Deployment – jak do tego podejść
14.06: Jak mierzyć, czy Twoje automatyzacje i procesy są na wysokim poziomie?
14.07: Co dalej?
14.08: Ostatnie zadanie
Jestem autorem bloga wKontenerach.pl, twórcą podkastu Więcej Niż Konteneryzacja oraz szkoleń z serii #Maestro.
Widziałem projekty IT z różnych perspektyw. Z perspektywy programisty, z perspektywy architekta oprogramowania, z perspektywy człowieka budującego platformy dla innych zespołów, i wreszcie z perspektywy konsultanta pomagającego zespołom developerskim w migracji do chmury i Kubernetes. I wiesz, co jest cechą wspólną tych wszystkich doświadczeń? Trudno się nie domyślić. Automatyzacja.
W Automation Maestro będę dzielić się praktyczną wiedzą z zakresu automatyzacji w projektach IT – zdobytą podczas pracy ze specjalistami i klientami niemalże z całego świata (m.in.: UK, USA, Kanada, Indie, Szwecja, Niemcy i wiele by tutaj jeszcze wymieniać).
Obecnie zajmuje się głównie projektowaniem platform klasy enterprise dla zespołów developerskich.
Projektowanie platform wymaga szerokiego spojrzenia na cały cykl wytwarzania oprogramowania, a słowo “platforma” wiąże się także z ustanawianiem standardów pracy z Gitem, bezpieczeństwem i automatyzacją (CI/CD oraz IaC), a także procesami biznesowi (business continuity) oraz utrzymaniem.
To, że umiem dzielić się wiedzą potwierdzają wystąpienia w roli prelegenta na topowych konferencjach – m.in. Devoxx Poland, DevOpsDays Warsaw, The Hack Summit, 4Developers, czy Warszawskie Dni Informatyki.
firm, które mi zaufały
łącznie wydane z sukcesem szkolenia z serii Maestro
projektów, gdzie budowałem automatyzację od A-Z
osób, które szkoliło się z moich materiałów
Materiały w formie wideo i w formie tekstowej, ćwiczenia praktyczne, dostęp do kilku repozytoriów Gita z przykładami praktycznymi, LAB-y (ćwiczenia "za rączkę" do samodzielnej realizacji), notatki zawierające wszystkie skrypty uruchamiane podczas szkolenia i dodatkowe linki związane z wybranymi zagadnieniami.
Szkolenie możesz rozpocząć natychmiastowo lub zacząć w wybranym przez siebie czasie (np. za pół roku).
Możesz przechodzić przez nie tak szybko, jak chcesz. Otrzymasz dostęp nagrań video, skryptów, instrukcji, tajnej grupy oraz innych bonusów.
TAK. Kupując raz ten program, otrzymujesz dożywotni dostęp do materiałów.
Dostaniesz dostęp do platformy szkoleniowej, na której dostępne jest szkolenie. Szkolenie przechodzisz własnym tempem, o dowolnej porze - po prostu - kiedy masz czas.
Uczysz się tak jak chcesz i kiedy chcesz. O dowolnej, wybranej przez siebie porze.
Jasne, że TAK!
Otrzymasz dożywotni dostęp do materiałów oraz UWAGA - bezpłatny dostęp do aktualizacji i nowych lekcji. Oznacza to, że szkolenie możesz przerobić teraz (lub później) i wracać do niego cały czas!
Jeśli szkolenie Ci się nie spodoba, w ciągu 14 dni od zakupu, bez podania żadnych przyczyn, możesz poprosić o zwrot pieniędzy.
Oczywiście, w tym celu zaznacz opcję Chcę otrzymać fakturę VAT, w momencie tworzenia zamówienia i podaj NIP firmy. Faktura VAT zostanie automatycznie przesłana na adres e-mail wykorzystany w zamówieniu po jego opłaceniu.
TAK, jeżeli Twój progres w szkoleniu będzie wynosić minimum 66% oraz wykonasz poprawnie zadanie końcowe – otrzymasz certyfikat w formie elektronicznej.
Moduły od 1-7 nie wymagają znajomości Kubernetes. Zatem śmiało możesz zdobyć nowe umiejętności, jeśli chodzi o automatyzację. Jeżeli chcesz wykorzystać szkolenie w 100%, to TAK – dobrze byłoby przynajmniej znać podstawy Kubernetes, ponieważ od modułu 8 w górę będziemy rozważać tematy związane z wdrożeniami.
Automation Maestro NIE jest dla:
- osób totalnie początkujących. Rekomendujemy, by przed przystąpieniem do szkolenia mieć około rok doświadczenia w IT,
- osób znających wszystkie dobre praktyki automatyzacji i bezpieczeństwa w całym cyklu wytwarzania oprogramowania.