Slurm DevOps – lepiej funkcjonująca sikora w 3 dni niż piękny żuraw w odległej przyszłości

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ć.

Slurm DevOps – lepiej funkcjonująca sikora w 3 dni niż piękny żuraw w odległej przyszłości

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 tutaj

Będzie mi miło widzieć Cię w Slurms!

Źródło: www.habr.com

Dodaj komentarz