TL; DR
Ponownie przeanalizujemy narzędzia DevOps w praktyce.
Szczegóły i program pod wycięciem.
SRE zostało usunięte z programu, ponieważ wspólnie z Ivanem Kruglovem przygotowujemy oddzielny Slum SRE. Ogłoszenie nastąpi później.
Dziękujemy Selectel, naszym sponsorom od pierwszego Slurma!
O filozofii, sceptycyzmie i nieoczekiwanym sukcesie
Pod koniec września uczestniczyłem w DevOpsConf w Moskwie.
Podsumowanie tego co usłyszałem:
— DevOps jest potrzebny w większości projektów dowolnej wielkości;
— DevOps to kultura, jak każda inna, musi pochodzić z wnętrza firmy. Nie możesz zatrudnić inżyniera DevOps i marzyć, że usprawni procesy.
— Na samym końcu listy tego, co jest potrzebne do transformacji DevOps, znajduje się technologia, czyli te same narzędzia DevOps, których uczymy.
Uświadomiłem sobie, że słusznie nie uwzględnialiśmy na kursie filozofii i kultury DevOps, bo tego nie da się uczyć systematycznie. Ktokolwiek tego potrzebuje, przeczyta to w książkach. Albo znajdzie super fajnego trenera, który przekona wszystkich swoją charyzmą i autorytetem.
Osobiście zawsze byłem zwolennikiem „ruchu oddolnego”, partyzanckiego wdrażania kultury za pomocą narzędzi. Coś w rodzaju tego opisanego w Projekcie Phoenix. Jeżeli mamy poprawnie ustawioną pracę zespołową z Gitem, to możemy powoli uzupełnić ją o regulacje i wtedy dojdzie do wartości.
A mimo to, gdy przygotowywaliśmy DevOps Slurm, gdzie rozmawialiśmy wyłącznie o narzędziach, bałem się reakcji uczestników: „Powiedzialiście wspaniałe rzeczy. Szkoda, nigdy nie uda mi się ich wdrożyć.” Było tyle sceptycyzmu, że natychmiast zaprzestaliśmy powtarzania programu.
Jednak większość uczestników badania odpowiedziała w ankiecie, że zdobytą wiedzę ma zastosowanie w praktyce i że w najbliższej przyszłości wdrożą coś u siebie w kraju. Jednocześnie wszystko, co wyjaśniliśmy, znalazło się na liście przydatnych rzeczy: Git, Ansible, CI/CD i SRE.
Warto byłoby pamiętać, że na początku mówili też o Slurmie Kubernetesie, że nie da się wytłumaczyć k3 w 8 dni.
Z Ivanem Kruglovem, który prowadził temat SRE, uzgodniliśmy odrębny program. Obecnie omawiamy szczegóły, ogłoszę wkrótce.
Co będzie się działo w Slurm DevOps?
Program
Temat nr 1: Praca zespołowa z Git
- Podstawowe polecenia git init, commit, add, diff, log, status, pull, push
- Przepływ Git, gałęzie i tagi, strategie scalania
- Praca z wieloma zdalnymi przedstawicielami
- Przepływ GitHuba
- Widelec, zdalny, żądanie ściągnięcia
- Konflikty, wydania, jeszcze raz o Gitflow i innych przepływach w odniesieniu do zespołów
Temat #2: Praca z aplikacją z punktu widzenia deweloperskiego
- Napisanie mikroserwisu w Pythonie
- Zmienne środowiska
- Integracja i testy jednostkowe
- Używanie funkcji docker-compose w rozwoju
Temat nr 3: CI/CD: wprowadzenie do automatyzacji
- Wprowadzenie do automatyzacji
- Narzędzia (bash, make, gradle)
- Używanie haków git do automatyzacji procesów
- Fabryczne linie montażowe i ich zastosowanie w IT
- Przykład budowy „ogólnego” rurociągu
- Nowoczesne oprogramowanie dla CI/CD: Drone CI, BitBucket Pipelines, Travis itp.
Temat nr 4: CI/CD: Praca z Gitlabem
- Gitlab CI
- Gitlab Runner, ich rodzaje i zastosowania
- Gitlab CI, funkcje konfiguracyjne, najlepsze praktyki
- Etapy Gitlab CI
- Zmienne CI Gitlaba
- Buduj, testuj, wdrażaj
- Kontrola wykonania i ograniczenia: tylko, kiedy
- Praca z artefaktami
- Szablony w .gitlab-ci.yml, ponowne wykorzystanie akcji w różnych częściach potoku
- Uwzględnij - sekcje
- Scentralizowane zarządzanie gitlab-ci.yml (jeden plik i automatyczne przesyłanie do innych repozytoriów)
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
Temat #6: Testowanie infrastruktury
- Testowanie i ciągła integracja z Molecule i Gitlab CI
- Korzystanie z Vagranta
Temat #7: Monitorowanie infrastruktury za pomocą Prometheusa
- Dlaczego monitorowanie jest potrzebne
- Rodzaje monitoringu
- Powiadomienia w systemie monitoringu
- Jak zbudować zdrowy system monitorowania
- Powiadomienia czytelne dla człowieka, dla każdego
- Health Check: na co powinieneś zwrócić uwagę
- Automatyzacja oparta na danych monitoringowych
Temat #8: Logowanie aplikacji za pomocą ELK
- Najlepsze praktyki rejestrowania
- Stos ELK
Temat #9: Automatyzacja infrastruktury za pomocą ChatOps
- DevOps i ChatOps
- ChatOps: mocne strony
- Slack i alternatywy
- Boty dla ChatOps
- Hubot i alternatywy
- bezpieczeństwo
- Najlepsze i najgorsze praktyki
Lokalizacja: Moskwa, sala konferencyjna hotelu Sewastopol.
Daty: od 30 stycznia do 1 lutego 3 dni ciężkiej pracy.
Źródło: www.habr.com