Lepiej działać jako sękacz przez 3 dni niż być wspaniałym żurawiem w odległej przyszłości

Uwielbiam projekty trwające tydzień, a projekty trwające rok mnie przerażają. W Agile bardzo podobała mi się koncepcja MVP oraz inkrementu, to naprawdę moje: zrealizować działający element, wdrożyć go i iść dalej.

Transformacja DevOps, o której mówi się w książkach i na konferencjach, to właśnie projekt trwający rok. Lub lata.

Tworzyliśmy nasz kurs DevOps w paradygmacie "MVP DevOps w jednym sprincie" i "przygotowanie do inkrementów". A mówiąc ludzkim językiem, chodzi o to, żeby uczestnik po powrocie mógł natychmiast coś wdrożyć u siebie i uzyskać korzyść.

MVP DevOps: w kursie znajdują się narzędzia dla podstawowych procesów DevOps. Nie stawialiśmy sobie za cel omówienia i porównania wszystkich systemów CI/CD ani odkrywania głębi podejścia Infrastructure as Code. Dajemy jeden czytelny stos: Gitlab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Można przyjść z kursów, zbudować z materiałów edukacyjnych infrastrukturę dla pilotażowego projektu i pracować w niej.

Lepiej działać jako sękacz przez 3 dni niż być wspaniałym żurawiem w odległej przyszłości

Przygotowanie do inkrementów: każdy element dajemy z dużą ilością praktyki i przykładami. Można wziąć jedno narzędzie i zająć się jego wdrażaniem według rysunków edukacyjnych. Na przykład napisać playbook Ansible do wdrażania środowisk dev lub podłączyć bota i zarządzać serwer z telefonu. To znaczy, w ciągu tygodnia uzyskać konkretny praktyczny wynik. Niech będzie on w nieskończoność odległy od transformacji DevOps całej firmy, ale jest, jest tutaj, działa i przynosi korzyść.

Tematy Słyerma DevOps

Temat nr 1: Najlepsze praktyki Git — mówi samo za siebie.
Temat nr 2: Praca z aplikacją z perspektywy rozwoju — 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 pracy z Gitlab CI
  • Najlepsze praktyki z gitlab-runner
  • Narzędzia bash, make, gradle jako część CI/CD i nie tylko
  • Docker jako sposób rozwiązania problemów CI

Temat nr 4: Gitlab CI/CD w produkcji

  • Współbieżność podczas uruchamiania jobów
  • Kontrola i ograniczenia wykonania: only, when
  • Praca z artefaktami
  • Szablony, includy i mikroserwisy: upraszczamy wdrażanie

Zapoznajemy studentów z podstawowymi pojęciami i koncepcjami CI/CD oraz narzędziami do realizacji CI/CD. W rezultacie student będzie mógł samodzielnie wybrać wzór projektowania CI/CD i odpowiednie narzędzie do realizacji.

Następnie pokazujemy implementację CI/CD w GitLabie oraz omawiamy konfigurację, a także analizujemy zaawansowane sposoby użycia GitLab CI. W efekcie student będzie w stanie samodzielnie skonfigurować GitLab CI dla swoich projektów.

W porównaniu do pierwszego Slurmo DevOps, skróciliśmy teorię o połowę (po godziny na temat), zrezygnowaliśmy z przeglądu wszystkich systemów i pozostawiliśmy tylko GitLab CI. Skupiliśmy się na praktyce, dodając wiele najlepszych praktyk.

Temat nr 5: Infrastruktura jako kod

  • IaC: podejście do infrastruktury jak do kodu
  • Dostawcy chmur jako dostawcy infrastruktury
  • Narzędzia do inicjalizacji systemów, budowa obrazów (packer)
  • IaC na przykładzie Terraform
  • Przechowywanie konfiguracji, współpraca, automatyzacja aplikacji
  • Praktyka tworzenia playbooków Ansible
  • Idempotencja, deklaratywność
  • IaC na przykładzie Ansible

Skróciliśmy część teoretyczną o UI i openstack cli, skupiając się na praktyce.
Rozpatrzymy dwa podejścia IaC, używając tej samej aplikacji, pokazując zalety i wady każdego z podejść. W rezultacie student zrozumie, które podejście gdzie zastosować, i będzie mógł pracować zarówno z Terraform, jak i z Ansible.

W temacie o Terraformie praktycznie omówimy pracę zespołową i przechowywanie stanu w bazie danych. Podczas pracy z modułami student sam napisze i skonfiguruje moduł, nauczy się z nim pracować: ponownie używać i wersjonować. Dodamy pracę z Consul, pokażemy, w jakich przypadkach jest on potrzebny i jak go poprawnie używać.

Temat nr 6: Testowanie infrastruktury

  • Zastanawiamy się, dlaczego nie pisze się testów?
  • Jakie testy istnieją w IaC?
  • Analizatory statyczne, czy są naprawdę bezużyteczne?
  • Testowanie jednostkowe IaC na przykładzie Ansible + Molecule
  • Testowanie jako część CI
  • Testy na sterydach, czyli jak nie czekać po 5 godzin na zakończenie testów dla IaC

Skróciliśmy część teoretyczną, mniej mówienia o Vagrant/Molecule, więcej praktyki i bezpośredniego testowania, z naciskiem na lintery i pracę z nimi. Patrzymy z perspektywy CI
jak przyspieszyć testowanie. W praktyce będzie:

  • własny linter, który sprawdza obecność obowiązkowych zmiennych dla hosta w zależności od roli;
  • dodajemy do CI testowanie tylko tych ról, które się zmieniły, co pozwala znacznie skrócić czas trwania testów;
  • dodajemy testowanie scenariuszy. Uruchamiamy aplikację całkowicie jako test integracyjny.

Temat nr 7: Monitorowanie infrastruktury z Prometheus

  • Jak zbudować zdrowy system monitorowania
  • Monitorowanie, jako narzędzie do analizy, efektywności rozwoju i stabilności kodu, jeszcze przed wprowadzeniem na rynek
  • Konfiguracja prometheus + alertmanager + grafana
  • Przechodzimy od monitorowania zasobów do monitorowania aplikacji

Będziemy dużo mówić o monitorowaniu mikroserwisów: identyfikatory żądań, narzędzie do monitorowania API. Będzie wiele najlepszych praktyk i dużo pracy samodzielnej.

Napiszemy własny eksporter. Skonfigurujemy monitorowanie nie tylko produkcyjnej infrastruktury i aplikacji, ale także budów w Gitlabie. Zobaczymy statystyki dotyczące nieudanych testów. Przyjrzymy się, jak będzie wyglądać monitorowanie bez healthCheck i z nim.

Temat nr 8. Logowanie aplikacji z ELK

  • Przegląd Elastic i jego narzędzi
  • ELK/Elastic Stack/x-pack — co jest co i jaka jest różnica?
  • Jakie zadania można rozwiązać przy pomocy ElasticSearch (wyszukiwanie, przechowywanie, cechy skalowania, elastyczność konfiguracji)
  • Monitorowanie infrastruktury (x-pack)
  • Logi kontenerów i aplikacji (x-pack)
  • Logowanie na przykładzie naszej aplikacji
  • Praktyki pracy z Kibana
  • Open Distro for Elasticsearch od Amazon

Temat został całkowicie przerobiony, prowadzi go Eduard Medwiediew, wielu z was widziało go na webinarze o DevOps i SRE. Opowie i pokaże najlepsze praktyki pracy z EFK na przykładzie aplikacji edukacyjnej. Będzie praktyka z Kibana.

Temat nr 9: Automatyzacja infrastruktury z ChatOps

  • DevOps i ChatOps
  • ChatOps: mocne strony
  • Slack i alternatywy
  • Boty dla ChatOps
  • Hubot i alternatywy
  • Bezpieczeństwo
  • Testowanie
  • Najlepsze i najgorsze praktyki

W ChatOps dodaliśmy praktykę autoryzacji z podziałem uprawnień, potwierdzenie działań przez innego użytkownika, teorię i praktykę alternatywy Slack w postaci Mattermost, teorię testów jednostkowych i integracyjnych dla bota.

Słórm DevOps startuje 30 stycznia. Cena — 30 000.
Dla tych, którzy dotrwali, zniżka 15% na kurs DevOps po kodzie promocyjnym habrapost.

Rejestracja tutaj

Będę wdzięczny, że was zobaczę na Słórmach!

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster