Slurm DevOps - bolje funkcionirajuća sisa za 3 dana od prekrasnog ždrala u dalekoj budućnosti

Volim projekat koji traje nedelju dana i plaše me projekti koji traju godinu dana. U Agile-u mi se jako dopao koncept MVP-a i inkrementa, ovo je samo moja stvar: napravi izvodljiv komad, implementiraj ga i nastavi dalje.

Istovremeno, DevOps transformacija u formi u kojoj se o njoj govori u knjigama i na konferencijama je samo jednogodišnji projekat. Ili u godinama.

Naš DevOps kurs smo izgradili u paradigmi „MVP DevOps u jednom sprintu“ i „spremnosti za inkremente“. I ako ljudski, onda „tako da učesnik, po povratku, može odmah nešto implementirati kod kuće i imati koristi od toga“.

MVP DevOps: Kurs sadrži alate za osnovne DevOps procese. Nismo si postavili zadatak da pregledamo i uporedimo sve CI/CD sisteme ili da otkrijemo dubine pristupa Infrastruktura kao kod. Nudimo jedan jasan stack: Gitlab CI/CD, Ansible, Terraform i Packer, Molecule, Prometheus, EFK. Možete doći sa kurseva, prikupiti infrastrukturu za pilot projekat iz materijala za obuku i raditi u njemu.

Slurm DevOps - bolje funkcionirajuća sisa za 3 dana od prekrasnog ždrala u dalekoj budućnosti

Spremnost za povećanje: svakom elementu pružamo puno prakse i primjera. Možete uzeti jedan alat i početi ga implementirati koristeći crteže za obuku. Na primjer, napišite Ansible playbook za uvođenje dev okruženja ili povežite bota i administrirajte server sa svog telefona. Odnosno, dobiti konkretan praktičan rezultat za nedelju dana. Možda je beskonačno daleko od DevOps transformacije cijele kompanije, ali on je tu, tu je, radi i donosi prednosti.

Slurm DevOps teme

Tema #1: Git najbolje prakse - govori za sebe.
Tema #2: Rad sa aplikacijom sa razvojne tačke gledišta — inženjeru su potrebne kompetencije administratora i programera, pa mi govorimo administratorima o razvoju.

Tema #3: CI/CD osnove

  • Uvod u CI/CD automatizaciju
  • Gitlab CI Osnove
  • Najbolje prakse sa gitlab-runnerom
  • Bash, make, gradle alati kao dio CI/CD-a i još mnogo toga
  • Docker kao način rješavanja CI problema

Tema #4: Gitlab CI/CD u produkciji

  • Konkurencija pri započinjanju posla
  • Kontrola izvršenja i ograničenja: samo, kada
  • Rad sa artefaktima
  • Predlošci, uključuje i mikrousluge: pojednostavljivanje implementacije

Studente upoznajemo sa osnovnim konceptima i konceptima CI/CD i alatima za implementaciju CI/CD. Kao rezultat, student će biti u mogućnosti da samostalno odabere CI/CD dizajn obrazac i odgovarajući alat za implementaciju.

Zatim prikazujemo implementaciju CI/CD-a u Gitlabu i prolazimo kroz postavku, gledajući napredne načine korištenja Gitlab CI-a. Kao rezultat, student će moći samostalno konfigurirati Gitlab CI za svoje projekte.

U poređenju sa prvim DevOps Slurmom, smanjili smo teoriju za 2 puta (sat po temi), udaljili se od pregleda svih sistema i ostavili samo Gitlab CI. Fokusirali smo se na praksu i dodali mnogo najboljih praksi.

Tema #5: Infrastruktura kao kod

  • IaC: Približavanje infrastrukturi kao kodu
  • Provajderi u oblaku kao provajderi infrastrukture
  • Alati za inicijalizaciju sistema, izgradnja imidža (paker)
  • IaC koristeći Terraform kao primjer
  • Skladištenje konfiguracija, saradnja, automatizacija aplikacija
  • Praksa kreiranja Ansible playbooks-a
  • Idempotencija, deklarativnost
  • IaC koristeći Ansible kao primjer

Smanjili smo teoretski dio na UI i openstack cli i fokusirali se na praksu.
Pogledajmo dva IaC pristupa koji koriste istu aplikaciju, pokazujući prednosti i nedostatke svakog pristupa. Kao rezultat, učenik će razumjeti koji pristup gdje koristiti i moći će raditi i sa Terraformom i Ansibleom.

U temi o Terraformu ćemo se osvrnuti na timski rad i pohranjivanje stanja u bazu podataka u praksi. Kada radi sa modulima, student će sam napisati i konfigurisati modul, naučiti kako da radi sa njim: ponovo ga koristi, verziju. Dodajmo rad sa Consulom, pokažimo u kojim slučajevima je to potrebno i kako ga pravilno koristiti.

Tema #6: Infrastrukturno testiranje

  • Hajde da shvatimo zašto ne pišu testove?
  • Koji testovi postoje u IaC-u?
  • Statički analizatori, jesu li zaista toliko beskorisni?
  • Jedinično testiranje IaC-a koristeći ansible + molekul kao primjer
  • Testiranje u sklopu ci
  • Testovi na steroidima ili kako ne čekati 5 sati da se IaC testovi završe

Smanjili smo teoretski dio, manje priča o Vagrantu/Molecule, više prakse i direktnog testiranja, s fokusom na lintere i rad s njima. Gledajući to sa CI tačke gledišta
kako ubrzati testiranje. U praksi će biti:

  • samopisani linter koji provjerava prisustvo obaveznih varijabli za host ovisno o ulozi;
  • U CI testiranje dodajemo samo one uloge koje su se promijenile, što može značajno smanjiti vrijeme izvršenja testa;
  • dodavanje testiranja scenarija. Cijelu aplikaciju implementiramo kao integracijski test.

Tema #7: Nadgledanje infrastrukture sa Prometheusom

  • Kako izgraditi zdrav sistem praćenja
  • Monitoring kao alat za analizu, efikasnost razvoja i stabilnost koda, čak i prije prodaje
  • Postavljanje prometheusa + alertmanager + grafana
  • Prelazak sa nadgledanja resursa na praćenje aplikacija

Mnogo ćemo pričati o nadgledanju mikroservisa: ID-ovima zahtjeva, alatu za praćenje API-ja. Biće puno najboljih praksi i puno samostalnog rada.

Hajde da napišemo naš vlastiti izvoznik. Postavićemo praćenje ne samo proizvodne infrastrukture i aplikacija, već i sklopova u Gitlabu. Pogledajmo statistiku neuspjelih testova. Pogledajmo u praksi kako će nadzor izgledati bez HealthChecka i sa njim.

Tema br. 8. Evidentiranje aplikacije pomoću ELK-a

  • Pregled Elastic-a i njegovih alata
  • ELK/Elastic Stack/x-pack - šta je šta i koja je razlika?
  • Koji problemi se mogu riješiti korištenjem ElasticSearch-a (pretraga, pohrana, mogućnosti skaliranja, fleksibilnost konfiguracije)
  • Nadgledanje infrastrukture (x-pack)
  • Dnevnici kontejnera i aplikacija (x-pack)
  • Logiranje koristeći našu aplikaciju kao primjer
  • Praksa rada sa Kibanom
  • Otvorite Distro za Elasticsearch sa Amazona

Tema je potpuno redizajnirana, vodi je Eduard Medvedev, mnogi su ga vidjeli na webinaru o DevOps-u i SRE-u. On će na primjeru obrazovne aplikacije ispričati i demonstrirati najbolje prakse za rad sa EFK-om. Biće treninga sa Kibanom.

Tema #9: Automatizacija infrastrukture sa ChatOps-om

  • DevOps i ChatOps
  • ChatOps: Prednosti
  • Slack i alternative
  • Botovi za ChatOps
  • Hubot i alternative
  • Sigurnost
  • Testiranje
  • Najbolje i najgore prakse

ChatOps je dodao praksu autentifikacije sa razdvajanjem prava, potvrđivanje akcija od strane drugog korisnika, teoriju i praksu alternative Slacku u vidu Mattermosta, teoriju jedinice i integracijske testove za bot.

DevOps slurm počinje 30. januara. Cijena - 30.
Za one koji su završili čitanje, postoji 15% popusta na DevOps kurs uz korištenje promotivnog koda habrapost.

Registrirajte se ovdje

Biće mi drago da te vidim u Slurmsu!

izvor: www.habr.com

Dodajte komentar