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.

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
Örömmel várom Önöket a Slőrmökön!
Forrás: habr.com
