Sloorm DevOps — parem linde 3 pĂ€eva jooksul kui ilus tĂ”de kauges tulevikus

Mulle meeldib nĂ€dalane projekt, kuid pikemad, aastased projektid teevad mind Ă€revaks. Aja jooksul avastasin, et MVP ja inkrementide mĂ”isted agiilsuses on just need, mis mulle meeldivad: luua toimiv tĂŒkk, rakendada see ja edasi liikuda.

Siiski, DevOps-i transformatsioon, nagu seda kÀsitletakse raamatutes ja konverentsidel, on justkui aastane vÔi isegi mitmeaastane projekt.

Me ehitasime oma DevOps kursuse 'MVP DevOps ĂŒhe sprindi jooksul' ja 'valmidus inkremente teostama' paradigma alusel. Lihtsamalt öeldes, ‘et osalejal oleks vĂ”imalik naastes kohe midagi rakendada ja kasu saada’.

MVP DevOps: kursuses on tööriistad peamiste DevOps protsesside jaoks. Me ei seadnud eesmĂ€rgiks uurida ja vĂ”rrelda kĂ”iki CI/CD sĂŒsteeme vĂ”i sĂŒveneda Infrastructure as Code lĂ€henemisviisi sĂŒgavustesse. Anname ĂŒhe selge tehnoloogia: Gitlab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Kursuse lĂ€binud saavad ĂŒles ehitada pilootprojekti infrastruktuuri ja töötada selle kallal.

Sloorm DevOps — parem linde 3 pĂ€eva jooksul kui ilus tĂ”de kauges tulevikus

Valmidus inkremente teostama: iga elemendi juures on rohkelt praktikat ja nĂ€iteid. VĂ”id vĂ”tta ĂŒhe tööriista ja Ă”ppematerjalide jĂ€rgi sellele rakendamisega tegelema. NĂ€iteks kirjutada Ansible’i mĂ€nguplaane dev-ĂŒmbritsemise levitamiseks vĂ”i ĂŒhendada bot ja haldada server telefoni kaudu. See tĂ€hendab, et nĂ€dalaga saavutad konkreetse praktilise tulemuse. Kuigi see vĂ”ib tunduda kaugel DevOps-i transformatsioonist kogu ettevĂ”ttes, eksisteerib see siin, töötab ja toob kasu.

SlĂžgma DevOps teemad

Teema nr 1: Git parimad praktikad — rÀÀgib iseenesest.
Teema nr 2: Rakenduse arenduse vaatenurgast — insenerile on vajalikud nii administraatori kui ka arendaja oskused, mistĂ”ttu rÀÀgime administreerijatele arendusest.

Teema nr 3: CI/CD alused

  • Sissejuhatus CI/CD automatiseerimisse
  • Gitlab CI aluste tööpĂ”himĂ”tted
  • Parimad praktikad gitlab-runneriga
  • Bashi, make’i, gradle’i tööriistad CI/CD osana ja muul eesmĂ€rgil
  • Docker kui lahendus CI probleemide lahendamiseks

Teema nr 4: Gitlab CI/CD tootmises

  • Konkurents job'i kĂ€ivitamisel
  • Teostuse kontroll ja piirangud: only, when
  • Töö artefaktidega
  • Mallid, kaasamised ja mikroteenused: lihtsustame juurutamist

Tutvustame ĂŒliĂ”pilastele CI/CD aluspĂ”himĂ”tteid ja -konsepte ning tööriistu CI/CD rakendamiseks. Tulemuseks suudab ĂŒliĂ”pilane iseseisvalt valida sobiva CI/CD disainimalli ja rakendustööriista.

See, kuidas me rakendame CI/CD Gitlabis ja analĂŒĂŒsime seadistust, uurides edasijĂ”udnud kasutusvĂ”imalusi Gitlab CI. Selle tulemusena suudab ĂŒliĂ”pilane iseseisvalt seadistada Gitlab CI enda projektide jaoks.

VĂ”rreldes esimese DevOpsi SlĂ«rmiga vĂ€hendasime teooriat kahe tunni vĂ”rra (tunni teemaga), jĂ€tame kĂ”rvale kĂ”ik sĂŒsteemide ĂŒlevaated ja keskendume ainult Gitlab CI-le. Keskendusime praktikale, lisades palju parimaid praktikaid.

Teema nr 5: Infrastruktuur kui kood

  • IaC: lĂ€henemine infrastruktuurile kui koodile
  • Pilveteenuse pakkujad kui infrastruktuuri tarnijad
  • SĂŒsteemide algatustööriistad, piltide koostamine (packer)
  • IaC Terraformi nĂ€itel
  • Konfiguratsioonide salvestamine, koostöö, rakenduste automatiseerimine
  • Ansible'i mĂ€ngukavade loomise praktika
  • Idempotentsus, deklaratiivsuse
  • IaC Ansible'i nĂ€itel

VĂ€hendasime teoreetilist osa UI ja OpenStack CLI kohta ja keskendusime praktikale.
Vaadatakse kahte IaC lĂ€henemist, kasutades sama rakendust, tuues esile iga lĂ€henemise plusse ja miinuseid. Selle tulemusena mĂ”istab ĂŒliĂ”pilane, millist lĂ€henemist kus kasutada ja saab töötada nii Terraformi kui ka Ansible'iga.

Terraformi teemal vaatame praktikas meeskonnatööd ja olekuteabe hoidmist andmebaasis. Modulaarsuse töös kirjutab ĂŒliĂ”pilane ise ja seadistab mooduli ning Ă”pib, kuidas seda kasutada: taaskasutamine, versioonimine. Lisame töö Consuliga, nĂ€idates, millistel juhtudel see on vajalik ja kuidas seda Ă”igesti kasutada.

Teema nr 6: Infrastruktuuri testimine

  • Uurime, miks testide kirjutamine ei toimi?
  • Milliseid teste on IaC-s olemas?
  • Kas staatilised analĂŒsaatorid on tĂ”epoolest kasutu?
  • Ühikute testimine IaC nĂ€itel ansible + molecule
  • Testimine kui osa CI-st
  • Testid steroididel vĂ”i kuidas mitte oodata 5 tundi, et testid IaC jaoks lĂ”petataks

VÀhendasime teoreetilist osa, vÀhem juttu Vagrantist/Molecule'ist, rohkem praktikat ja otse testimist, keskendudes lintritele ja nende tööle. Vaadatakse CI vaatenurgast.
kuidas testimist kiiremaks muuta. Praktikas on:

  • Kohandatud linter, mis kontrollib, kas kohustuvad muutujad on hostis olemas sĂ”ltuvalt rollist;
  • lisame CI-sse testimise ainult nendele rollidele, mis on muutunud, mis vĂ”imaldab oluliselt vĂ€hendada testimise aega;
  • lisame stsenaariumide testimise. Rakenduse tĂ€ielik seadistamine nagu integratsioonitest.

Teema nr 7: Infrastruktuuri jÀlgimine Prometheusega

  • Kuidas luua tervislik jĂ€lgimissĂŒsteem
  • JĂ€lgimine kui tööriist arendamise ja koodi stabiilsuse analĂŒĂŒsiks juba enne tootmist
  • Prometheus + alertmanager + grafana seadistamine
  • Liigume ressursside jĂ€lgimiselt rakenduste jĂ€lgimisele

RÀÀgime palju mikroteenuste jÀlgimisest: pÀringute ID, api jÀlgimise tööriist. Tuleb palju parimaid praktikaid ja palju iseseisvat tööd.

Kirjutame oma eksportija. Seame ĂŒles jĂ€lgimise mitte ainult tootmisinfrastruktuuri ja rakenduste jaoks, vaid ka Gitlab'i ehituste jaoks. Vaatame statistikat ebaĂ”nnestunud testide kohta. Vaata praktikas, milline jĂ€lgimine nĂ€eb vĂ€lja ilma healthCheck'ita ja koos sellega.

Teema nr 8. Rakenduse logimine ELK-iga

  • Ülevaade Elasticust ja selle tööriistadest
  • ELK/Elastic Stack/x-pack — mis on mis ja mis on erinevus?
  • Milliseid ĂŒlesandeid saab lahendada ElasticSearchi abil (otsing, salvestus, skaleerimise omadused, seadistamise paindlikkus)
  • Infrastruktuuri jĂ€lgimine (x-pack)
  • Konteinerite ja rakenduste logid (x-pack)
  • Logimine meie rakenduse nĂ€itel
  • Kibana kasutamise praktikad
  • Amazonist pĂ€rit Open Distro for Elasticsearch

Teema on tĂ€ielikult ĂŒmber töötatud, seda juhendab Eduard Medvedev, paljud on teda nĂ€inud DevOpsi ja SRE veebinaril. Ta selgitab ja nĂ€itab parimaid praktikaid EFK kasutamiseks Ă”ppe rakenduse nĂ€itel. Ootab praktika Kibana'ga.

Teema nr 9: Infrastruktuuri automatiseerimine ChatOpsi abil

  • DevOps ja ChatOps
  • ChatOps: tugevused
  • Slack ja alternatiivid
  • Robotid ChatOpsi jaoks
  • Hubot ja alternatiivid
  • Turvalisus
  • Testimine
  • Parimad ja halvemat praktikat

ChatOps on lisatud autendimise praktika Ă”iguste jagamisega, toimingute kinnitamine teise kasutaja poolt, teooria ja praktika Slacki alternatiivina Mattermostina, teooria ĂŒksuste ja integratsioonitestide jaoks robotile.

Slörm DevOps algab 30. jaanuaril. Hind — 30 000.
Neile, kes on lÔpetanud lugemise, 15% allahindlus DevOpsi kursusele sooduskoodiga habrapost.

Registreerimine siin

Ootan teid Slörmides!

Allikas: habr.com

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster