Mám rád projekty, které trvají týden, a projekty trvající rok mě děsí. V Agile se mi velmi líbila koncepce MVP a inkrementace, to je přesně to, co mi vyhovuje: vytvořit funkční kus, implementovat ho a posunout se dál.
Transformace DevOps, jak je diskutována v knihách a na konferencích, je totiž projekt trvající rok. Nebo roky.
Sestavili jsme náš kurz o DevOps v paradigmatismu „MVP DevOps za jeden sprint“ a „připravenost na inkrementy“. A pokud bych to měl říct lidmi, tak „aby se účastník po návratu mohl okamžitě něco implementovat a získat prospěch“.
MVP DevOps: v kurzu jsou nástroje pro základní DevOps procesy. Nesnažili jsme se zkoumat a porovnat všechny systémy CI/CD, ani hlouběji odhalit přístup Infrastructure as Code. Dáváme jeden srozumitelný stack: Gitlab CI/CD, Ansible, Terraform a Packer, Molecule, Prometheus, EFK. Je možné přijít z kurzů, sestavit z učebních materiálů infrastrukturu pro pilotní projekt a pracovat v ní.

Připravenost na inkrementy: každý prvek poskytujeme s velkým množstvím praxe a příkladů. Můžete vzít jeden nástroj a podle učebních plánů se věnovat jeho implementaci. Například napsat Ansible playbook pro rozdělení dev prostření nebo připojit bota a spravovat server přes telefon. To znamená, že za týden získáte konkrétní praktický výsledek. Ačkoliv je tento výsledek nekonečně vzdálen od kompletní transformace DevOps celé firmy, přesto existuje, je tady, funguje a přináší prospěch.
Témata Slörma DevOps
Téma č. 1: Nejlepší praktiky Git — hovoří sama za sebe.
Téma č. 2: Práce s aplikací z pohledu vývoje — inženýrovi potřebné kompetence administrátora a vývojáře, proto vysvětlujeme administrátorům vývoj.
Téma č. 3: Základy CI/CD
- Úvod do automatizace CI/CD
- Základy práce s Gitlab CI
- Nejlepší praktiky s gitlab-runner
- Nástroje bash, make, gradle jako součást CI/CD a nejen to
- Docker jako způsob, jak řešit problémy CI
Téma č. 4: Gitlab CI/CD v produkci
- Konkurence při spouštění jobů
- Kontrola a omezení provádění: only, when
- Práce s artefakty
- Šablony, includy a mikroservisy: zjednodušujeme nasazení
Seznamujeme studenty se základními pojmy a koncepcemi CI/CD a s nástroji pro implementaci CI/CD. Výsledkem je, že se student bude schopen samostatně rozhodnout pro správný designový vzor CI/CD a vhodný implementační nástroj.
Potom ukážeme implementáciu CI/CD v Gitlabe a preberieme nastavenie, pričom sa zameriame na pokročilé používanie Gitlab CI. Výsledkom bude, že študent si bude schopný samostatne nastaviť Gitlab CI pre vlastné projekty.
V porovnaní s prvým Slörmom DevOps sme teóriu skrátili na polovicu (po hodine na tému), vzdali sme sa prehľadu všetkých systémov a zostali sme len pri Gitlab CI. Zamerali sme sa na prax a pridali množstvo najlepších praktík.
Téma č. 5: Infrastruktúra ako kód
- IaC: prístup k infraštruktúre ako kódu
- Cloudoví poskytovatelia ako dodávatelia infraštruktúry
- Nástroje na inicializáciu systémov, zostavenie obrazov (packer)
- IaC na príklade Terraform
- Ukladanie konfigurácií, spolupráca, automatizácia aplikácií
- Praxa vytvárania Ansible playbookov
- Idempotentnosť, deklaratívnosť
- IaC na príklade Ansible
Skrátili sme teoretickú časť o UI a openstack cli a sústredili sme sa na prax.
Preberieme dva prístupy IaC, používajúc tú istú aplikáciu, a ukážeme výhody a nevýhody každého prístupu. Výsledkom bude, že študent pochopí, ktorý prístup kde aplikovať, a bude vedieť pracovať ako s Terraformom, tak s Ansible.
V téme o Teraforme na praktických príkladoch preberieme tímovú prácu a ukladanie stavu do databázy. Pri práci s modulmi si študent sám napíše a nastaví modul, naučí sa s ním pracovať: opätovne používať, verzionovať. Pridáme prácu s Consulom, ukážeme, v ktorých prípadoch je potrebný a ako ho správne používať.
Téma č. 6: Testovanie infraštruktúry
- Zisťujeme, prečo sa nepíšu testy?
- Aké typy testov existujú v IaC?
- Statické analyzátory, sú skutočne také zbytočné?
- Jednotkové testovanie IaC na príklade ansible + molecule
- Testovanie ako súčasť ci
- Testy na steroidoch alebo ako nečakať 5 hodín na skončenie testov pre IaC
Skrátili sme teoretickú časť, menej rozprávania o Vagrant/Molecule, viac praxe a priamo testovania, s dôrazom na lintery a prácu s nimi. Pozrieme sa z hľadiska CI
ako urýchliť testovanie. V praxi uvidíme:
- vlastný linter, ktorý kontroluje prítomnosť povinných premenných pre hostiteľa v závislosti od role;
- pridávame do CI testovanie len tých rolí, ktoré sa zmenili, čo umožňuje podstatne skrátiť čas vykonávania testov;
- pridávame testovanie scenárov. Nasadzujeme aplikáciu celú, ako integračný test.
Téma č. 7: Monitoring infraštruktúry s Prometheusom
- Ako vybudovať zdravý monitorovací systém
- Monitoring ako nástroj na analýzu, efektívnosť vývoja a stabilitu kódu ešte pred uvedením do produkcie
- Nastavenie prometheus + alertmanager + grafana
- Prechádzame od monitorovania zdrojov k monitorovaniu aplikácií
Budeme sa veľa rozprávať o monitorovaní mikroservisov: ID požiadaviek, nástroj na monitorovanie API. Bude veľa osvedčených postupov a veľa samostatnej práce.
Napíšeme svoj vlastný exporter. Nastavíme monitoring nielen produkčnej infraštruktúry a aplikácie, ale aj buildov v Gitlabe. Pozrieme sa na štatistiky o neúspešných testoch. Ukážeme si v praxi, ako bude vyzerať monitoring bez healthchecku a s ním.
Téma č. 8. Logovanie aplikácie pomocou ELK
- Prehľad Elastic a jeho nástrojov
- ELK/Elastic Stack/x-pack — čo je čo a aký je rozdiel?
- Aké úlohy je možné riešiť pomocou ElasticSearch (vyhľadávanie, úložisko, špecifiká škálovania, flexibilita nastavenia)
- Monitoring infraštruktúry (x-pack)
- Logy kontajnerov a aplikácií (x-pack)
- Logovanie na príklade našej aplikácie
- Osvedčené postupy práce s Kibana
- Open Distro for Elasticsearch od Amazonu
Téma bola úplne prepracovaná, vedie ju Eduard Medvedev, mnohí ho videli na webinári o DevOps a SRE. Povie a ukáže osvedčené postupy práce s EFK na príklade výučbovej aplikácie. Bude praktická práca s Kibana.
Téma č. 9: Automatizácia infraštruktúry s ChatOps
- DevOps a ChatOps
- ChatOps: silné stránky
- Slack a alternatívy
- Boti pre ChatOps
- Hubot a alternatívy
- Bezpečnosť
- Testovanie
- Najlepšie a najhoršie praktiky
V ChatOps sme pridali prax autentifikácie s deliteľnými právami, potvrdenie akcií iným používateľom, teóriu a prax alternatívy Slack v podobe Mattermost, teóriu jednotkových a integračných testov pre bota.
Slǿrm DevOps začína 30. januára. Cena — 30 000.
Pre tých, ktorí dočítali, zľava 15% na kurz o DevOps s promo kódom habrapost.
Registrácia
Budem rád, ak vás uvidím na Slǿrmach!
Zdroj: habr.com
