Slurm DevOps – egy jobban működő cinege 3 nap alatt, mint egy gyönyörű daru a távoli jövőben

Szeretem az egyhetes projekteket, és megijedek az egész éves projektektől. Az Agile-ben nagyon tetszett az MVP és a növekmény koncepciója, ez csak az én dolgom: készíts egy működőképes darabot, valósítsd meg és lépj tovább.

Ugyanakkor a DevOps átalakulása abban a formában, ahogyan azt könyvekben és konferenciákon tárgyalják, csak egy éves projekt. Vagy évek múlva.

DevOps tanfolyamunkat az „MVP DevOps egy sprintben” és a „növekményre való készenlét” paradigmája szerint építettük fel. Ha pedig emberileg, akkor „hogy a résztvevő hazatérve azonnal megvalósíthasson valamit otthon, és hasznot húzzon belőle”.

MVP DevOps: A tanfolyam eszközöket tartalmaz az alapvető DevOps folyamatokhoz. Nem azt a feladatot tűztük ki magunk elé, hogy az összes CI/CD rendszert átnézzük és összehasonlítsuk, vagy feltárjuk az Infrastructure as Code megközelítés mélységeit. Egyetlen stack-et biztosítunk: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. Jöhetsz a tanfolyamokról, képzési anyagokból összegyűjtheted egy pilot projekt infrastruktúráját és dolgozhatsz benne.

Slurm DevOps – egy jobban működő cinege 3 nap alatt, mint egy gyönyörű daru a távoli jövőben

Növekedési készenlét: minden elemet sok gyakorlattal és példával látunk el. Fogadhat egy eszközt, és megkezdheti annak megvalósítását a képzési rajzok segítségével. Például írjon egy Ansible játékkönyvet a fejlesztői környezetek bevezetéséhez, vagy csatlakoztasson egy botot, és adminisztrálja a szervert a telefonjáról. Vagyis egy hét alatt konkrét gyakorlati eredményt érj el. Lehet, hogy végtelenül távol áll az egész cég DevOps átalakulásától, de ott van, itt van, működik és hasznot hoz.

Slurm DevOps témák

1. téma: Git bevált gyakorlatok - magáért beszél.
2. téma: Munka az alkalmazással fejlesztési szempontból — egy mérnöknek rendszergazdai és fejlesztői kompetenciákra van szüksége, ezért adminisztrátoroknak szólunk a fejlesztésről.

3. téma: CI/CD alapok

  • Bevezetés a CI/CD automatizálásba
  • A Gitlab CI alapjai
  • A gitlab-runner legjobb gyakorlatai
  • Bash, make, gradle eszközök a CI/CD részeként és így tovább
  • Docker, mint a CI problémák megoldásának módja

4. téma: Gitlab CI/CD gyártás alatt

  • Verseny a munka megkezdésekor
  • Végrehajtás ellenőrzése és korlátozásai: csak akkor, amikor
  • Műtermékekkel való munka
  • Sablonok, összetevők és mikroszolgáltatások: a telepítés egyszerűsítése

Megismertetjük a hallgatókkal a CI/CD alapfogalmait és fogalmait, valamint a CI/CD megvalósításához szükséges eszközöket. Ennek eredményeként a hallgató képes lesz önállóan kiválasztani a CI/CD tervezési mintát és a megfelelő megvalósítási eszközt.

Ezután bemutatjuk a CI/CD implementációját a Gitlabban, és végigjárjuk a beállítást, megvizsgálva a Gitlab CI használatának fejlett módjait. Ennek eredményeként a hallgató önállóan konfigurálhatja a Gitlab CI-t saját projektjeihez.

Az első DevOps Slurm-hez képest kétszeresére zsugorítottuk az elméletet (témánként egy órával), eltávolodtunk az összes rendszer áttekintésétől, és csak a Gitlab CI-t hagytuk meg. A gyakorlatra összpontosítottunk, és sok bevált gyakorlatot adtunk hozzá.

5. téma: Infrastruktúra mint kód

  • IaC: Az infrastruktúra mint kód megközelítése
  • Felhőszolgáltatók, mint infrastruktúra-szolgáltatók
  • Rendszerinicializáló eszközök, arculatépítés (csomagoló)
  • IaC, példaként a Terraform használatával
  • Konfiguráció tárolása, együttműködés, alkalmazásautomatizálás
  • Ansible játékkönyvek készítésének gyakorlása
  • Idempotencia, deklarativitás
  • IaC példaként az Ansible használatával

Csökkentettük az elméleti részt a felhasználói felületen és az openstack klienseken, és a gyakorlatra koncentráltunk.
Nézzünk meg két IaC-megközelítést ugyanazt az alkalmazást használva, bemutatva az egyes megközelítések előnyeit és hátrányait. Ennek eredményeként a hallgató megérti, melyik megközelítést hol kell alkalmaznia, és képes lesz dolgozni a Terraform és az Ansible programokkal is.

A Terraform témakörben a gyakorlatban a csapatmunkát és az állapotok adatbázisban való tárolását tekintjük át. Amikor modulokkal dolgozik, a hallgató maga írja meg és konfigurálja a modult, megtanulja, hogyan kell vele dolgozni: újrafelhasználni, verziózni. Adjunk hozzá munkát a Consul-lal, mutassuk meg, milyen esetekben van rá szükség, és hogyan kell helyesen használni.

6. téma: Infrastruktúra tesztelése

  • Találjuk ki, miért nem írnak teszteket?
  • Milyen tesztek vannak az IaC-ben?
  • Statikus analizátorok, tényleg olyan haszontalanok?
  • Az IaC egységtesztelése ansible + molekulával példaként
  • Tesztelés a ci részeként
  • Szteroid tesztek vagy hogyan ne várjon 5 órát az IaC tesztek befejezésére

Csökkentettük az elméleti részt, kevesebb sztorit a Vagrant/Molecule-ról, több gyakorlat és közvetlen tesztelés, a linterekre és a velük való munkára összpontosítva. CI szemszögből nézve
hogyan lehet gyorsabbá tenni a tesztelést. A gyakorlatban lesz:

  • egy önállóan írt linter, amely a szereptől függően ellenőrzi a gazda számára kötelező változók jelenlétét;
  • A CI teszteléshez csak azokat a szerepköröket adjuk hozzá, amelyek megváltoztak, ami jelentősen csökkentheti a teszt végrehajtási idejét;
  • forgatókönyv tesztelés hozzáadása. A teljes alkalmazást integrációs tesztként telepítjük.

7. téma: Infrastruktúra-felügyelet a Prometheusszal

  • Hogyan építsünk fel egészséges megfigyelőrendszert
  • Monitoring, mint eszköz az elemzéshez, a fejlesztés hatékonyságához és a kód stabilitásához, már eladás előtt is
  • Prometheus + alertmanager + grafana beállítása
  • Az erőforrás-felügyeletről az alkalmazásfelügyeletre való átállás

Sokat fogunk beszélni a mikroszolgáltatások figyeléséről: kérési azonosítók, api megfigyelő eszköz. Sok bevált gyakorlat és sok önálló munka lesz.

Írjunk saját exportőrt. Nemcsak a termelési infrastruktúra és alkalmazások, hanem az összeállítások monitorozását is beállítjuk a Gitlabban. Nézzük a sikertelen tesztek statisztikáit. Lássuk a gyakorlatban, hogy fog kinézni a monitorozás healthCheck nélkül és vele együtt.

8. számú téma. Jelentkezés naplózása ELK-val

  • Az Elastic és eszközeinek áttekintése
  • ELK/Elastic Stack/x-pack – mi az, és mi a különbség?
  • Milyen problémákat lehet megoldani az ElasticSearch használatával (keresés, tárolás, méretezési szolgáltatások, konfigurációs rugalmasság)
  • Infrastruktúra felügyelet (x-pack)
  • Tároló- és alkalmazásnaplók (x-pack)
  • Naplózás példaként az alkalmazásunkkal
  • A Kibanával való munka gyakorlatai
  • Nyissa meg az Elasticsearch disztribúcióját az Amazon-tól

A témát teljesen újratervezték, a házigazdája Eduard Medvegyev, sokan látták a DevOps és SRE webináriumán. Elmondja és bemutatja az EFK-val való munka legjobb gyakorlatait egy oktatási alkalmazás példáján. Gyakorlat lesz Kibanával.

9. téma: Infrastruktúra automatizálás ChatOps segítségével

  • DevOps és ChatOps
  • ChatOps: Erősségek
  • Lazaság és alternatívák
  • Botok a ChatOps-hoz
  • Hubot és alternatívák
  • biztonság
  • tesztelés
  • Legjobb és legrosszabb gyakorlatok

A ChatOps hozzáadta a hitelesítés gyakorlatát a jogok szétválasztásával, a műveletek másik felhasználó általi megerősítésével, a Slack alternatívájának elméletét és gyakorlatát a Mattermost formájában, az egység elméletét és a bot integrációs tesztjeit.

A DevOps slurm január 30-án kezdődik. Ár - 30.
Azok számára, akik befejezték az olvasást, 15% kedvezmény jár a DevOps tanfolyamra a habrapost promóciós kód használatával.

Regisztráció itt

Örülök, hogy látlak a Slurmsban!

Forrás: will.com

Hozzászólás