TL; DR
Ponovo ćemo analizirati DevOps alate u praksi.
Detalji i program ispod reza.
SRE je uklonjen iz programa jer zajedno sa Ivanom Kruglovom pripremamo zaseban Slurm SRE. Najava će doći kasnije.
Hvala Selectelu, našim sponzorima od prvog Slurma!
O filozofiji, skepticizmu i neočekivanom uspjehu
Prisustvovao sam DevOpsConf-u u Moskvi krajem septembra.
Sažetak onoga što sam čuo:
— DevOps je potreban većini projekata bilo koje veličine;
— DevOps je kultura, kao i svaka kultura, mora doći iz kompanije. Ne možete unajmiti DevOps inženjera i sanjati da će on poboljšati procese.
— Na samom kraju liste onoga što je potrebno za DevOps transformaciju dolazi tehnologija, odnosno sami DevOps alati koje podučavamo.
Shvatio sam da smo bili u pravu što nismo uključili DevOps filozofiju i kulturu u kurs, jer se to ne može sistematski podučavati. Kome treba, pročitaće u knjigama. Ili će pronaći super cool trenera koji će sve uvjeriti svojom karizmom i autoritetom.
Lično, oduvijek sam bio pristalica „pokreta odozdo“, gerilske implementacije kulture putem alata. Nešto poput onog opisanog u The Phoenix Project. Ako imamo pravilno postavljen timski rad sa Gitom, možemo ga polako dopuniti propisima i onda će doći do vrijednosti.
I svejedno, kada smo pripremali DevOps Slurm, gdje smo pričali isključivo o alatima, plašio sam se reakcije učesnika: „Rekli ste divne stvari. Šteta, nikada ih neću moći implementirati.” Bilo je toliko skepticizma da smo odmah stavili tačku na ponavljanje programa.
Međutim, većina učesnika u anketi je odgovorila da je stečeno znanje primjenjivo u praksi, te da će u bliskoj budućnosti nešto implementirati u svojoj zemlji. Istovremeno, sve što smo objasnili uključeno je u listu korisnih stvari: Git, Ansible, CI/CD i SRE.
Vrijedi podsjetiti da su na početku također rekli za Slurm Kubernetes da je nemoguće objasniti k3 za 8 dana.
Sa Ivanom Kruglovom, koji je vodio temu SRE, dogovorili smo poseban program. Trenutno razgovaramo o detaljima, uskoro ću se oglasiti.
Šta će se dogoditi na Slurm DevOps-u?
Program
Tema #1: Timski rad sa Gitom
- Osnovne komande git init, commit, add, diff, log, status, pull, push
- Git tok, grane i oznake, strategije spajanja
- Rad sa više udaljenih ponavljanja
- GitHub tok
- Vilica, daljinski, zahtjev za povlačenjem
- Sukobi, izdanja, još jednom o Gitflowu i drugim tokovima u odnosu na timove
Tema #2: Rad sa aplikacijom sa razvojne tačke gledišta
- Pisanje mikroservisa u Pythonu
- Varijable okruženja
- Integracija i jedinični testovi
- Korištenje docker-compose u razvoju
Tema #3: CI/CD: uvod u automatizaciju
- Uvod u automatizaciju
- Alati (bash, make, gradle)
- Korištenje git-hookova za automatizaciju procesa
- Fabričke montažne linije i njihova primena u IT
- Primjer izgradnje "općeg" cjevovoda
- Moderni softver za CI/CD: Drone CI, BitBucket Pipelines, Travis, itd.
Tema #4: CI/CD: Rad sa Gitlabom
- Gitlab CI
- Gitlab Runner, njihove vrste i primjene
- Gitlab CI, funkcije konfiguracije, najbolje prakse
- Gitlab CI faze
- Gitlab CI varijable
- Izgradite, testirajte, implementirajte
- Kontrola izvršenja i ograničenja: samo, kada
- Rad sa artefaktima
- Predlošci unutar .gitlab-ci.yml, ponovno korištenje akcija u različitim dijelovima cjevovoda
- Uključuje - sekcije
- Centralizovano upravljanje gitlab-ci.yml (jedan fajl i automatsko prebacivanje u druga spremišta)
Tema #5: Infrastruktura kao kod
- IaC: Približavanje infrastrukturi kao kodu
- Provajderi u oblaku kao provajderi infrastrukture
- Alati za inicijalizaciju sistema, izgradnja imidža (paker)
- IaC koristeći Terraform kao primjer
- Skladištenje konfiguracija, saradnja, automatizacija aplikacija
- Praksa kreiranja Ansible playbooks-a
- Idempotencija, deklarativnost
- IaC koristeći Ansible kao primjer
Tema #6: Infrastrukturno testiranje
- Testiranje i kontinuirana integracija sa Molecule i Gitlab CI
- Korištenje Vagranta
Tema #7: Nadgledanje infrastrukture sa Prometheusom
- Zašto je potrebno praćenje?
- Vrste monitoringa
- Obavještenja u sistemu praćenja
- Kako izgraditi zdrav sistem praćenja
- Ljudski čitljiva obavještenja, za svakoga
- Pregled zdravlja: na šta treba obratiti pažnju
- Automatizacija zasnovana na podacima praćenja
Tema #8: Evidentiranje aplikacije pomoću ELK-a
- Najbolje prakse za sječu
- ELK stack
Tema #9: Automatizacija infrastrukture sa ChatOps-om
- DevOps i ChatOps
- ChatOps: Prednosti
- Slack i alternative
- Botovi za ChatOps
- Hubot i alternative
- Sigurnost
- Najbolje i najgore prakse
Mjesto: Moskva, konferencijska sala hotela Sevastopolj.
Datumi: od 30. januara do 1. februara 3 dana napornog rada.
izvor: www.habr.com