A Slyerm DevOps - jobban működő cinege 3 nap alatt, mint a csodás daru a távoli jövőben

Szeretem a hetes projektek, és megijeszt a hosszú, éves projektek. Az agilis módszertanban nagyon tetszett az MVP és az inkrementális fejlesztés koncepciója, ez számomra való: egy működő részt létrehozni, bevezetni és továbblépni.

Ugyanakkor a DevOps transzformáció, ahogyan az könyvekben és konferenciákon vitatkoznak, valójában egy éves, vagy évekig tartó projekt.

A kurzusunkat a devops paradigmájában építettük, «MVP DevOps egy sprintek alatt» és «kész az inkrementális fejlesztésre» alapokon. Ha egyszerűen fogalmazok, akkor «azért, hogy a résztvevő visszatérése után azonnal valamit bevezethessen és hasznot húzhasson belőle».

MVP DevOps: a kurzusban az alapvető devops folyamatok eszközeit találod. Nem célunk, hogy minden CI/CD rendszert átnézzünk és összehasonlítsunk, vagy mélyebbre ássunk az Infrastructure as Code megközelítésben. Egy érthető technológiai halmazt adunk: Gitlab CI/CD, Ansible, Terraform és Packer, Molecule, Prometheus, EFK. A kurzusok után egy oktatási anyagokból összeállítható infrastruktúrát tudsz létrehozni és abban dolgozni.

A Slyerm DevOps - jobban működő cinege 3 nap alatt, mint a csodás daru a távoli jövőben

Készség az inkrementális fejlesztésre: minden elemet sok gyakorlattal és példával adunk át. Egyetlen eszközt is választhatsz, és az oktatórajzok alapján foglalkozhatsz annak bevezetésével. Például Ansible playbookot írni a dev környezetek létrehozásához vagy csatlakoztatni egy botot és adminisztrálni a telefonról. Tehát egy hét alatt konkrét gyakorlati eredményeket lehet elérni. Bár ez végtelenül távol áll a vállalat teljes DevOps transzformációjától, létezik, itt van, működik és hasznot hoz. szerver A Slyerm DevOps témái

Téma #1: Git legjobb gyakorlatok

— magáért beszél. Téma #2: Alkalmazás fejlesztése szempontjából
— az mérnöknek szüksége van adminisztrátori és fejlesztési kompetenciákra, ezért mesélünk az adminisztrátoroknak a fejlesztésről. Téma #3: CI/CD alapok

Bevezetés a CI/CD automatizálásába

  • A Gitlab CI alapjai
  • Legjobb gyakorlatok gitlab-runner használatával
  • Bash, make, gradle eszközök mint a CI/CD része és még sok más
  • Docker mint a CI problémák megoldásának módja
  • Téma #4: Gitlab CI/CD a termelésben

Versenyhelyzet a job futtatása során

  • Végrehajtás kontrollja és korlátozások: only, when
  • Munkával kapcsolatos artefaktumok
  • Sablonok, beillesztések és mikroszolgáltatások: megkönnyítjük a telepítést
  • Templátok, behúzások és mikroszolgáltatások: egyszerűsítjük a deployt

Megismertetjük a hallgatókat a CI/CD alapvető fogalmaival és koncepcióival, valamint a CI/CD megvalósításához szükséges eszközökkel. Ennek eredményeként a hallgató képes lesz önállóan kiválasztani a CI/CD tervezési mintáját és a megfelelő megvalósító eszközt.

Ezután bemutatjuk a CI/CD megvalósítását GitLab-ban, átbeszéljük a beállításokat és a GitLab CI haladó használatának módjait. Ennek eredményeként a hallgató képes lesz önállóan beállítani a GitLab CI-t saját projektjeihez.

A DevOps első Slurm-jéhez képest a teóriát a felére csökkentettük (témánként egy óra), elhagytuk az összes rendszer áttekintését, és csak a GitLab CI-re fókuszáltunk. A gyakorlatra összpontosítottunk, sok legjobb gyakorlatot hozzáadtunk.

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

  • IaC: megközelítés az infrastruktúra kódként való kezelésére
  • Felhőszolgáltatók mint infrastruktúra szolgáltatók
  • Rendszerinicializáló eszközök, képek készítése (packer)
  • IaC Terraform példáján
  • Konfigurációk tárolása, együttműködés, alkalmazások automatizálása
  • Ansible playbookok létrehozásának gyakorlata
  • Idempotencia, deklarativitás
  • IaC Ansible példáján

Csökkentettük az elméleti részt az UI és openstack cli-ről, és a gyakorlatra összpontosítottunk.
Két IaC megközelítést vizsgálunk, ugyanazzal az alkalmazással, bemutatva mindkettő előnyeit és hátrányait. Ennek eredményeként a hallgató megérti, hogy melyik megközelítést hol alkalmazza, és képes lesz dolgozni mind a Terraform-mal, mind az Ansible-lel.

A Terraform témában gyakorlatban megnézzük a csapatmunkát és az állapot tárolását adatbázisban. A modulokkal való munkában a hallgató saját magának fog modult írni és beállítani, megtanulja a használatát: újrahasználás, verziózás. Hozzáadjuk a Consul használatát is, bemutatva, mikor van rá szükség és hogyan kell helyesen használni.

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

  • Megértsük, miért nem írnak teszteket?
  • Milyen tesztek léteznek az IaC-ban?
  • Statikus elemzők, vajon valóban haszontalanok?
  • Egységtesztelés IaC-ra az ansible + molecule példáján
  • Tesztelés, mint a ci része
  • Tesztelés, mint a szteroidok: hogyan ne várjunk 5 órát az IaC tesztek befejezésére

Csökkentettük az elméleti részt, kevesebb beszéd a Vagrant/Molecule-ról, több gyakorlat és közvetlen tesztelés, a linters-re és azok használatára összpontosítva. A CI perspektívájából nézve
hogyan lehet gyorsabbá tenni a tesztelést. A gyakorlat során:

  • saját írású linter, amely ellenőrzi a kötelező változók jelenlétét az host számára a szerep függvényében;
  • Csak azokat a szerepeket adjuk hozzá a CI teszteléshez, amelyek megváltoztak, ami jelentősen csökkenti a tesztelési időt;
  • Tesztelési szcenáriókat adunk hozzá. Az alkalmazást teljes egészében telepítjük, mint integrációs tesztet.

7. téma: Infrastruktúra megfigyelése Prometheusszal

  • Hogyan építsünk egészséges megfigyelőrendszert
  • A megfigyelés, mint eszköz az elemzéshez, a fejlesztés hatékonyságához és a kód stabilitásához, még a termelési környezet előtt
  • Prometheus + Alertmanager + Grafana beállítása
  • Áttérünk az erőforrások megfigyeléséről az alkalmazások megfigyelésére

Sok szó lesz a mikroszolgáltatások megfigyeléséről: kérések azonosítója, API megfigyelő eszköz. Sok legjobb gyakorlat és sok önálló munka lesz.

Megírjuk a saját exporterünket. Beállítjuk a megfigyelést nemcsak a termelési infrastruktúra és az alkalmazás, hanem a Gitlab buildjei számára is. Megnézzük a megbukott tesztekkel kapcsolatos statisztikákat. Gyakorlatban is megnézzük, hogyan fog kinézni a megfigyelés healthCheck nélkül és vele.

8. téma: Alkalmazás naplózása ELK-val

  • Az Elastic és eszközeinek áttekintése
  • ELK/Elastic Stack/x-pack — mi micsoda és mi a különbség?
  • Milyen feladatokat lehet megoldani az ElasticSearch segítségével (keresés, tárolás, skálázási jellemzők, beállítási rugalmasság)
  • Infrastruktúra megfigyelés (x-pack)
  • Konténer- és alkalmazásnaplók (x-pack)
  • Naplózás például a mi alkalmazásunkkal
  • Gyakorlatok a Kibanával
  • Open Distro for Elasticsearch az Amazontól

A téma teljesen át lett dolgozva, Eduard Medvedev vezeti, sokan látták őt a DevOps és SRE webináron. Elmondja és bemutatja az EFK legjobb gyakorlatait egy oktatási alkalmazás példáján. Lesz gyakorlat Kibanával.

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

  • DevOps és ChatOps
  • ChatOps: előnyök
  • Slack és alternatívái
  • ChatOps botok
  • Hubot és alternatívái
  • Biztonság
  • Tesztelés
  • Legjobb és legrosszabb gyakorlatok

A ChatOps-ban bevezettük az autentikációs gyakorlatot a jogok megosztásával, más felhasználó általi műveletek megerősítését, a Slack alternatívájának, a Mattermostnak a elméletét és gyakorlatát, valamint a bot számára a unit és integrációs tesztek elméletét.

A Slőrm DevOps január 30-án indul. Ár — 30 000.
Aki végigolvasta, 15% kedvezmény a DevOps tanfolyamra a habrapost promóciós kóddal.

Registration itt

Örömmel várom Önöket a Slőrmökön!

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster