Obožujem enotedenske projekte in celoletnih projektov me je strah. V Agile mi je bil zelo všeč koncept MVP in inkrementa, to je pač moja stvar: narediti delujoč kos, ga implementirati in iti naprej.
Hkrati pa je transformacija DevOps v obliki, kot je obravnavana v knjigah in na konferencah, le celoletni projekt. Ali v letih.
Naš tečaj DevOps smo zgradili v paradigmi »MVP DevOps v enem šprintu« in »pripravljenosti za napredovanje«. In če v človeškem smislu, potem "da lahko udeleženec, ko se vrne, takoj nekaj izvaja doma in ima od tega korist."
MVP DevOps: tečaj vsebuje orodja za osnovne procese DevOps. Nismo si zadali naloge pregledati in primerjati vseh sistemov CI/CD ali razkriti globine pristopa Infrastructure as Code. Ponujamo en jasen sklad: Gitlab CI/CD, Ansible, Terraform in Packer, Molecule, Prometheus, EFK. Lahko pridete s tečajev, zberete infrastrukturo za pilotni projekt iz gradiva za usposabljanje in delate v njem.
Pripravljenost na napredovanje: vsakemu elementu nudimo veliko prakse in primerov. Lahko vzamete eno orodje in ga začnete izvajati z uporabo risb za usposabljanje. Na primer, napišite priročnik Ansible za uvajanje okolij za razvijalce ali povežite bota in upravljajte strežnik iz svojega telefona. To pomeni, da v enem tednu dobite konkreten praktični rezultat. Morda je neskončno daleč od DevOps transformacije celotnega podjetja, vendar je tam, je tukaj, deluje in prinaša koristi.
Teme Slurm DevOps
Tema #1: Najboljše prakse Git - govori zase.
Tema #2: Delo z aplikacijo z razvojnega vidika — inženir potrebuje kompetence administratorja in razvijalca, zato administratorjem povemo o razvoju.
Tema št. 3: Osnove CI/CD
- Uvod v avtomatizacijo CI/CD
- Osnove Gitlab CI
- Najboljše prakse z gitlab-runner
- Orodja bash, make, gradle kot del CI/CD in več
- Docker kot način reševanja težav CI
Tema #4: Gitlab CI/CD v proizvodnji
- Konkurenca ob nastopu zaposlitve
- Nadzor izvajanja in omejitve: samo, kdaj
- Delo z artefakti
- Predloge, vključuje in mikrostoritve: poenostavitev uvajanja
Študente seznanimo z osnovnimi koncepti in koncepti CI/CD ter orodji za implementacijo CI/CD. Posledično bo študent sposoben samostojno izbrati vzorec načrtovanja CI/CD in ustrezno implementacijsko orodje.
Nato pokažemo implementacijo CI/CD v Gitlabu in se sprehodimo skozi nastavitev ter si ogledamo napredne načine uporabe Gitlab CI. Posledično bo študent lahko samostojno konfiguriral Gitlab CI za svoje projekte.
V primerjavi s prvim DevOps Slurmom smo teorijo skrčili za 2-krat (ena ura na temo), se oddaljili od pregleda vseh sistemov in pustili samo Gitlab CI. Osredotočili smo se na prakso in dodali veliko najboljših praks.
Tema #5: Infrastruktura kot koda
- IaC: pristop k infrastrukturi kot kodi
- Ponudniki v oblaku kot ponudniki infrastrukture
- Orodja za inicializacijo sistema, izdelava slike (packer)
- IaC z uporabo Terraforma kot primera
- Shranjevanje konfiguracije, sodelovanje, avtomatizacija aplikacij
- Praksa ustvarjanja Ansible playbooks
- Idempotenca, deklarativnost
- IaC z uporabo Ansible kot primera
Teoretični del smo zmanjšali na UI in openstack cli ter se osredotočili na prakso.
Oglejmo si dva pristopa IaC, ki uporabljata isto aplikacijo, s prikazom prednosti in slabosti vsakega pristopa. Posledično bo študent razumel, kateri pristop kje uporabiti, in bo sposoben delati s Terraformom in Ansibleom.
V temi o Terraformu si bomo ogledali timsko delo in shranjevanje stanja v bazi podatkov v praksi. Pri delu z moduli bo študent sam napisal in konfiguriral modul, se naučil dela z njim: ponovno ga uporabiti, verzificirati. Dodajmo delo s Consulom, pokažimo, v katerih primerih je potreben in kako ga pravilno uporabljati.
Tema #6: Testiranje infrastrukture
- Ugotovimo, zakaj ne pišejo testov?
- Kakšni testi obstajajo v IaC?
- Statični analizatorji, ali so res tako neuporabni?
- Testiranje enote IaC z uporabo ansibla + molekule kot primera
- Testiranje v sklopu ci
- Testi na steroidih ali kako ne čakati 5 ur, da se IaC testi končajo
Zmanjšali smo teoretični del, manj zgodb o Vagrant/Molecule, več prakse in neposrednega testiranja, s poudarkom na linterjih in delu z njimi. Če pogledamo z vidika CI
kako narediti testiranje hitrejše. V praksi bo:
- samonapisan linter, ki preverja prisotnost obveznih spremenljivk za gostitelja glede na vlogo;
- V CI testiranje dodajamo samo tiste vloge, ki so se spremenile, kar lahko bistveno skrajša čas izvedbe testa;
- dodajanje testiranja scenarijev. Celotno aplikacijo postavimo kot integracijski test.
Tema #7: Nadzor infrastrukture s Prometheusom
- Kako zgraditi zdrav sistem spremljanja
- Monitoring kot orodje za analizo, razvojno učinkovitost in stabilnost kode, še pred prodajo
- Nastavitev prometheus + alertmanager + grafana
- Premik od spremljanja virov k spremljanju aplikacij
Veliko bomo govorili o spremljanju mikrostoritev: ID-ji zahtev, orodje za spremljanje API-jev. Veliko bo dobrih praks in veliko samostojnega dela.
Napišimo lastnega izvoznika. V Gitlabu bomo vzpostavili spremljanje ne samo proizvodne infrastrukture in aplikacij, temveč tudi sklopov. Poglejmo statistiko neuspešnih testov. Poglejmo v praksi, kako bo izgledalo spremljanje brez in z njim HealthCheck.
Tema št. 8. Beleženje aplikacije z ELK
- Pregled Elastic in njegovih orodij
- ELK/Elastic Stack/x-pack - kaj je kaj in kakšna je razlika?
- Katere težave je mogoče rešiti z ElasticSearch (iskanje, shranjevanje, funkcije skaliranja, prilagodljivost konfiguracije)
- Nadzor infrastrukture (x-pack)
- Dnevniki zabojnikov in aplikacij (x-pack)
- Beleženje z uporabo naše aplikacije kot primera
- Prakse dela s Kibano
- Odprite distribucijo za Elasticsearch iz Amazona
Tema je popolnoma preoblikovana, vodi jo Eduard Medvedev, mnogi so ga videli na webinarju o DevOps in SRE. Povedal in prikazal bo najboljše prakse za delo z EFK na primeru izobraževalne aplikacije. S Kibano bo vadba.
Tema #9: Avtomatizacija infrastrukture s ChatOps
- DevOps in ChatOps
- ChatOps: Prednosti
- Slabost in alternative
- Boti za ChatOps
- Hubot in alternative
- varnost
- Testiranje
- Najboljše in najslabše prakse
ChatOps je dodal prakso avtentikacije z ločitvijo pravic, potrditvijo dejanj drugega uporabnika, teorijo in prakso alternative Slacku v obliki Mattermost, teorijo enote in integracijskih testov za bot.
DevOps slurm se začne 30. januarja. Cena - 30.
Za tiste, ki ste končali z branjem, je na voljo 15% popust na tečaj DevOps z uporabo promocijske kode habrapost.
registracija
Vesel bom, da se vidimo na Slurms!
Vir: www.habr.com