Slurm DevOps - bolje delujoča sinica v 3 dneh kot lep žerjav v daljni prihodnosti

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.

Slurm DevOps - bolje delujoča sinica v 3 dneh kot lep žerjav v daljni prihodnosti

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 tukaj

Vesel bom, da se vidimo na Slurms!

Vir: www.habr.com

Dodaj komentar