Slurm DevOps - un pitic care funcționează mai bine în 3 zile decât o macara frumoasă în viitorul îndepărtat

Îmi place un proiect de o săptămână și sunt intimidat de proiectele de un an. În Agile, mi-a plăcut foarte mult conceptul de MVP și increment, acesta este doar lucrul meu: creați o piesă lucrabilă, implementați-o și continuați.

În același timp, transformarea DevOps în forma în care este discutată în cărți și la conferințe este doar un proiect de un an. Sau peste ani.

Ne-am construit cursul DevOps în paradigma „MVP DevOps într-un singur sprint” și „pregătirea pentru creșteri”. Și dacă în termeni umani, atunci „astfel încât participantul, la întoarcere, să poată implementa imediat ceva acasă și să beneficieze de el”.

MVP DevOps: cursul conține instrumente pentru procesele de bază DevOps. Nu ne-am propus să revizuim și să comparăm toate sistemele CI/CD sau să dezvăluim profunzimile abordării Infrastructurii ca Cod. Oferim o singură stivă clară: Gitlab CI/CD, Ansible, Terraform și Packer, Molecule, Prometheus, EFK. Puteți veni de la cursuri, puteți asambla infrastructura pentru un proiect pilot din materiale de instruire și puteți lucra în el.

Slurm DevOps - un pitic care funcționează mai bine în 3 zile decât o macara frumoasă în viitorul îndepărtat

Pregătire pentru creșteri: oferim fiecărui element o mulțime de practică și exemple. Puteți lua un instrument și puteți începe să îl implementați folosind desenele de antrenament. De exemplu, scrieți un manual Ansible pentru lansarea mediilor de dezvoltare sau conectați un bot și administrați serverul de pe telefon. Adică obțineți un rezultat practic concret într-o săptămână. Poate fi infinit de departe de transformarea DevOps a întregii companii, dar este acolo, este aici, funcționează și aduce beneficii.

Subiecte Slurm DevOps

Subiectul #1: Cele mai bune practici Git - vorbește de la sine.
Subiectul #2: Lucrul cu aplicația din punct de vedere al dezvoltării — un inginer are nevoie de competențele unui administrator și ale unui dezvoltator, așa că le spunem administratorilor despre dezvoltare.

Subiectul #3: Bazele CI/CD

  • Introducere în automatizarea CI/CD
  • Bazele CI Gitlab
  • Cele mai bune practici cu gitlab-runner
  • Instrumente Bash, make, gradle ca parte a CI/CD și multe altele
  • Docker ca modalitate de a rezolva problemele CI

Subiectul #4: Gitlab CI/CD în producție

  • Concurență la începerea unui loc de muncă
  • Controlul execuției și restricții: numai, când
  • Lucrul cu artefacte
  • Șabloane, include și microservicii: simplificarea implementării

Introducem studenților conceptele și conceptele de bază ale CI/CD și instrumentele pentru implementarea CI/CD. Ca rezultat, studentul va putea alege în mod independent un model de proiectare CI/CD și un instrument de implementare adecvat.

Apoi arătăm implementarea CI/CD în Gitlab și parcurgem configurarea, analizând modalități avansate de a folosi Gitlab CI. Ca rezultat, studentul va putea configura independent Gitlab CI pentru propriile proiecte.

În comparație cu primul DevOps Slurm, am micșorat teoria de 2 ori (o oră pe subiect), am renunțat la revizuirea tuturor sistemelor și am lăsat doar Gitlab CI. Ne-am concentrat pe practică și am adăugat o mulțime de bune practici.

Subiectul #5: Infrastructura ca cod

  • IaC: Abordarea infrastructurii ca cod
  • Furnizorii de cloud ca furnizori de infrastructură
  • Instrumente de inițializare a sistemului, construirea imaginii (ambalare)
  • IaC folosind Terraform ca exemplu
  • Stocarea configurațiilor, colaborarea, automatizarea aplicațiilor
  • Practică de creare a unor manuale Ansible
  • Idempotenta, declarativitatea
  • IaC folosind Ansible ca exemplu

Am redus partea teoretică despre UI și openstack cli și ne-am concentrat pe practică.
Să ne uităm la două abordări IaC care utilizează aceeași aplicație, arătând avantajele și dezavantajele fiecărei abordări. Ca rezultat, studentul va înțelege ce abordare să folosească unde și va putea lucra atât cu Terraform, cât și cu Ansible.

În subiectul despre Terraform, vom analiza în practică munca în echipă și starea de stocare într-o bază de date. Când lucrează cu module, studentul va scrie și configura modulul el însuși, va învăța cum să lucreze cu el: reutilizarea, versiunea lui. Să adăugăm lucrul cu Consul, să arătăm în ce cazuri este necesar și cum să îl folosim corect.

Subiectul #6: Testarea infrastructurii

  • Să ne dăm seama de ce nu scriu teste?
  • Ce teste există în IaC?
  • Analizoare statice, sunt chiar atât de inutile?
  • Testarea unitară a IaC folosind ansible + moleculă ca exemplu
  • Testarea ca parte a ci
  • Teste pe steroizi sau cum să nu aștepte 5 ore pentru ca testele IaC să se termine

Am redus partea teoretică, mai puține povești despre Vagrant/Molecule, mai multă practică și testare directă, cu accent pe linters și lucrul cu ele. Privind-o din punct de vedere CI
cum să faci testarea mai rapidă. În practică vor exista:

  • un linter auto-scris care verifică prezența variabilelor obligatorii pentru gazdă în funcție de rol;
  • Adăugăm la testarea CI doar acele roluri care s-au schimbat, ceea ce poate reduce semnificativ timpul de execuție a testului;
  • adăugarea de testare a scenariilor. Implementăm întreaga aplicație ca un test de integrare.

Subiectul #7: Monitorizarea infrastructurii cu Prometheus

  • Cum să construiți un sistem de monitorizare sănătos
  • Monitorizarea ca instrument de analiză, eficiență a dezvoltării și stabilitatea codului, chiar înainte de vânzare
  • Configurarea prometheus + alertmanager + grafana
  • Trecerea de la monitorizarea resurselor la monitorizarea aplicațiilor

Vom vorbi mult despre monitorizarea microserviciilor: id-uri de solicitare, instrument de monitorizare api. Vor exista o mulțime de bune practici și multă muncă independentă.

Să scriem propriul nostru exportator. Vom configura nu numai monitorizarea infrastructurii și aplicațiilor de producție, ci și a ansamblurilor în Gitlab. Să ne uităm la statisticile testelor eșuate. Să vedem în practică cum va arăta monitorizarea fără healthCheck și cu ea.

Subiectul nr. 8. Înregistrarea unei aplicații cu ELK

  • Prezentare generală a Elastic și a instrumentelor sale
  • ELK/Elastic Stack/x-pack - ce este și care este diferența?
  • Ce probleme pot fi rezolvate folosind ElasticSearch (căutare, stocare, caracteristici de scalare, flexibilitate de configurare)
  • Monitorizarea infrastructurii (x-pack)
  • Jurnalele de containere și aplicații (x-pack)
  • Logare folosind aplicația noastră ca exemplu
  • Practici de lucru cu Kibana
  • Deschideți Distro pentru Elasticsearch de la Amazon

Subiectul a fost complet reproiectat, este găzduit de Eduard Medvedev, mulți l-au văzut la webinarul pe DevOps și SRE. El va spune și va demonstra cele mai bune practici pentru lucrul cu EFK folosind exemplul unei aplicații educaționale. Va fi antrenament cu Kibana.

Subiectul #9: Automatizarea infrastructurii cu ChatOps

  • DevOps și ChatOps
  • ChatOps: Puncte forte
  • Slack și alternative
  • Boți pentru ChatOps
  • Hubot și alternative
  • Безопасность
  • Testarea
  • Cele mai bune și cele mai rele practici

ChatOps a adăugat practica de autentificare cu separarea drepturilor, confirmarea acțiunilor de către un alt utilizator, teoria și practica unei alternative la Slack sub forma Mattermost, teoria testelor unitare și de integrare pentru bot.

Slurm DevOps începe pe 30 ianuarie. Pret - 30.
Pentru cei care au terminat de citit, există o reducere de 15% la cursul DevOps folosind codul promoțional habrapost.

înregistrare aici

Mă bucur să te văd la Slurms!

Sursa: www.habr.com

Adauga un comentariu