Uwielbiam tygodniowe projekty i przerażają mnie projekty całoroczne. W Agile bardzo podobała mi się koncepcja MVP i przyrostu. To jest po prostu moja rzecz: stworzyć wykonalny element, wdrożyć go i iść dalej.
Jednocześnie transformacja DevOps w formie, w jakiej jest omawiana w książkach i na konferencjach, to tylko projekt całoroczny. Albo za lata.
Nasz kurs DevOps zbudowaliśmy w paradygmacie „MVP DevOps w jednym sprincie” i „gotowości na przyrosty”. A jeśli po ludzku, to „aby uczestnik po powrocie mógł od razu coś wdrożyć u siebie i z tego skorzystać”.
MVP DevOps: Kurs zawiera narzędzia do podstawowych procesów DevOps. Nie postawiliśmy sobie za zadanie przeglądu i porównania wszystkich systemów CI/CD ani odkrywania głębi podejścia Infrastructure as Code. Zapewniamy jeden przejrzysty stos: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. Można przyjechać z kursów, zebrać infrastrukturę do projektu pilotażowego z materiałów szkoleniowych i w nim pracować.
Gotowość do podwyżek: każdemu elementowi zapewniamy mnóstwo praktyki i przykładów. Możesz wziąć jedno narzędzie i zacząć je wdrażać, korzystając z rysunków szkoleniowych. Na przykład napisz podręcznik Ansible dotyczący wdrażania środowisk programistycznych lub podłącz bota i zarządzaj serwerem za pomocą telefonu. Oznacza to, że uzyskaj konkretny praktyczny wynik w ciągu tygodnia. Może do transformacji DevOps całej firmy jest nieskończenie daleko, ale jest, jest, działa i przynosi korzyści.
Tematy DevOps w Slurmie
Temat nr 1: Najlepsze praktyki Git - mówi samo za siebie.
Temat #2: Praca z aplikacją z punktu widzenia deweloperskiego — inżynier potrzebuje kompetencji administratora i programisty, dlatego mówimy administratorom o rozwoju.
Temat nr 3: Podstawy CI/CD
- Wprowadzenie do automatyzacji CI/CD
- Podstawy Gitlab CI
- Najlepsze praktyki z gitlab-runner
- Narzędzia Bash, Make i Gradle w ramach CI/CD i nie tylko
- Docker jako sposób na rozwiązanie problemów CI
Temat #4: Gitlab CI/CD w produkcji
- Konkurencja na początku pracy
- Kontrola wykonania i ograniczenia: tylko, kiedy
- Praca z artefaktami
- Szablony, zawiera i mikrousługi: uproszczenie wdrażania
Wprowadzamy studentów w podstawowe pojęcia i koncepcje CI/CD oraz narzędzia do wdrażania CI/CD. Dzięki temu student będzie potrafił samodzielnie wybrać wzorzec projektowy CI/CD oraz odpowiednie narzędzie do wdrożenia.
Następnie pokażemy implementację CI/CD w Gitlabie i przejdziemy przez konfigurację, przyglądając się zaawansowanym sposobom wykorzystania Gitlab CI. Dzięki temu student będzie potrafił samodzielnie skonfigurować Gitlab CI pod własne projekty.
W porównaniu do pierwszego DevOps Slurm, skurczyliśmy teorię 2 razy (godzina na temat), odeszliśmy od przeglądania wszystkich systemów i pozostawiliśmy jedynie Gitlab CI. Postawiliśmy na praktykę i dodaliśmy wiele najlepszych praktyk.
Temat #5: Infrastruktura jako kod
- IaC: Podejście do infrastruktury jako do kodu
- Dostawcy chmury jako dostawcy infrastruktury
- Narzędzia do inicjalizacji systemu, budowania obrazu (paker)
- IaC na przykładzie Terraform
- Przechowywanie konfiguracji, współpraca, automatyzacja aplikacji
- Praktyka tworzenia podręczników Ansible
- Idempotencja, deklaratywność
- IaC na przykładzie Ansible
Ograniczyliśmy część teoretyczną dotyczącą interfejsu użytkownika i openstack cli i skupiliśmy się na praktyce.
Przyjrzyjmy się dwóm podejściu IaC przy użyciu tej samej aplikacji, pokazując zalety i wady każdego podejścia. Dzięki temu uczestnik kursu będzie wiedział, jakiego podejścia i gdzie użyć, i będzie mógł pracować zarówno z Terraformem, jak i Ansible.
W temacie o Terraformie przyjrzymy się w praktyce pracy zespołowej i przechowywania stanu w bazie danych. Pracując z modułami, student sam napisze i skonfiguruje moduł, nauczy się z nim pracować: ponownie go wykorzystać, wersjonować. Dodajmy pracę z Consulem, pokażmy w jakich przypadkach jest ona potrzebna i jak poprawnie z niej korzystać.
Temat #6: Testowanie infrastruktury
- Zastanówmy się, dlaczego nie piszą testów?
- Jakie testy są dostępne w IaC?
- Analizatory statyczne – czy naprawdę są aż tak bezużyteczne?
- Testowanie jednostkowe IaC na przykładzie ansible + molekuła
- Testowanie w ramach ci
- Testy na sterydach, czyli jak nie czekać 5 godzin na zakończenie testów IaC
Ograniczyliśmy część teoretyczną, mniej opowieści o Vagrant/Molecule, więcej praktyki i bezpośrednich testów, skupiając się na lintersach i pracy z nimi. Patrząc na to z punktu widzenia CI
jak przyspieszyć testowanie. W praktyce będzie:
- samodzielnie napisany linter sprawdzający obecność obowiązkowych zmiennych dla gospodarza w zależności od roli;
- Do testów CI dodajemy tylko te role, które uległy zmianie, co może znacząco skrócić czas wykonania testu;
- dodanie testów scenariuszowych. Całą aplikację wdrażamy w ramach testu integracyjnego.
Temat #7: Monitorowanie infrastruktury za pomocą Prometheusa
- Jak zbudować zdrowy system monitorowania
- Monitoring jako narzędzie analizy, efektywności rozwoju i stabilności kodu, jeszcze przed sprzedażą
- Konfigurowanie Prometheusa + alertmanagera + grafany
- Przejście od monitorowania zasobów do monitorowania aplikacji
Będziemy dużo mówić o monitorowaniu mikroserwisów: identyfikatorach żądań, narzędziu do monitorowania API. Będzie dużo najlepszych praktyk i dużo niezależnej pracy.
Napiszmy własnego eksportera. Stworzymy monitoring nie tylko infrastruktury produkcyjnej i aplikacji, ale także złożeń w Gitlabie. Przyjrzyjmy się statystykom dotyczącym nieudanych testów. Zobaczmy w praktyce jak będzie wyglądał monitoring bez healthCheck i z nim.
Temat nr 8. Logowanie aplikacji za pomocą ELK
- Przegląd Elastic i jego narzędzi
- ELK/Elastic Stack/x-pack – na czym polega i jaka jest różnica?
- Jakie problemy można rozwiązać za pomocą ElasticSearch (wyszukiwanie, przechowywanie, funkcje skalowania, elastyczność konfiguracji)
- Monitoring infrastruktury (x-pack)
- Dzienniki kontenerów i aplikacji (x-pack)
- Logowanie na przykładzie naszej aplikacji
- Praktyki pracy z Kibaną
- Otwórz Distro dla Elasticsearch od Amazon
Temat został całkowicie przeprojektowany, prowadzi go Eduard Miedwiediew, wielu widziało go na webinarze na temat DevOps i SRE. Opowie i zademonstruje najlepsze praktyki pracy z EFK na przykładzie aplikacji edukacyjnej. Będzie praktyka z Kibaną.
Temat #9: Automatyzacja infrastruktury za pomocą ChatOps
- DevOps i ChatOps
- ChatOps: mocne strony
- Slack i alternatywy
- Boty dla ChatOps
- Hubot i alternatywy
- bezpieczeństwo
- Testowanie
- Najlepsze i najgorsze praktyki
ChatOps dodał praktykę uwierzytelniania z rozdziałem praw, potwierdzanie działań przez innego użytkownika, teorię i praktykę alternatywy dla Slacka w postaci Mattermost, teorię testów jednostkowych i integracyjnych dla bota.
Slam DevOps zaczyna się 30 stycznia. Cena - 30 000.
Dla tych, którzy skończyli czytać, przygotowano 15% zniżki na kurs DevOps przy użyciu kodu promocyjnego habrapost.
Rejestracja
Będzie mi miło widzieć Cię w Slurms!
Źródło: www.habr.com