Jeg elsker projekter, der varer en uge, og jeg bliver skræmt af projekter, der varer et år. I Agile satte jeg stor pris på konceptet MVP og inkrement, det er lige mig: at lave et funktionelt stykke, implementere det og komme videre.
DevOps-transformationen, som den diskuteres i bøger og på konferencer, er netop et projekt, der varer et år. Eller flere år.
Vi har bygget vores DevOps-kursus ud fra paradigmet "MVP DevOps på en sprint" og "klarhed til inkrementer". Med andre ord, "så deltageren straks kan implementere noget derhjemme og få gavn af det".
MVP DevOps: kurset indeholder værktøjer til de grundlæggende DevOps-processer. Vi satte os ikke for at gennemgå og sammenligne alle CI/CD-systemer eller udforske dybderne af Infrastructure as Code. Vi giver én klar stak: Gitlab CI/CD, Ansible, Terraform, Packer, Molecule, Prometheus, EFK. Man kan komme fra kurset, bygge en infrastruktur til et pilotprojekt ud fra undervisningsmaterialerne og arbejde i den.

Klarhed til inkrementer: hvert element giver vi med masser af praksis og eksempler. Man kan tage ét værktøj og arbejde med dets implementering ud fra undervisningsskitser. For eksempel, skrive en Ansible-playbook til opsætning af dev-miljøer eller tilslutte en bot og administrere server fra sin telefon. Det vil sige, at man kan opnå et konkret praktisk resultat på en uge. Selvom det er langt fra hele virksomhedens DevOps-transformation, så er det der, det fungerer og giver værdi.
Slørma DevOps-emner
Emne nr. 1: Git bedste praksis — taler for sig selv.
Emne nr. 2: Arbejde med applikationen fra udviklerens perspektiv — ingeniøren har brug for færdigheder som administrator og udvikler, derfor fortæller vi administratorer om udvikling.
Emne nr. 3: Grundlæggende CI/CD
- Introduktion til CI/CD automatisering
- Grundlæggende arbejde med Gitlab CI
- Bedste praksis med gitlab-runner
- Bash, make, gradle værktøjer som del af CI/CD og mere
- Docker som en løsning på CI-problemer
Emne nr. 4: Gitlab CI/CD i produktion
- Konkurrence ved jobkørsel
- Kontrol og begrænsninger af udførelsen: only, when
- Arbejdet med artefakter
- Skabeloner, inklusioner og mikrotjenester: vi forenkler implementeringen
Vi introducerer eleverne til de grundlæggende begreber og koncepter i CI/CD og værktøjerne til implementering af CI/CD. Som resultat vil eleven selv kunne vælge et designmønster for CI/CD og det passende implementeringsværktøj.
Derefter viser vi implementeringen af CI/CD i Gitlab og gennemgår indstillingerne, mens vi ser på avancerede måder at bruge Gitlab CI på. Som resultat vil den studerende kunne konfigurere Gitlab CI til egne projekter.
Sammenlignet med den første DevOps-session har vi halveret teorien (en time pr. emne), droppet oversigten over alle systemer og bevaret kun Gitlab CI. Vi har fokuseret på praksis og tilføjet mange best practices.
Emne nr. 5: Infrastruktur som kode
- IaC: tilgang til infrastruktur som kode
- Cloududbydere som infrastrukturnudbydere
- Systeminitieringsværktøjer, opbygning af billeder (packer)
- IaC med eksemplet Terraform
- Opbevaring af konfigurationer, samarbejde, automatisering af implementeringer
- Praktik i oprettelse af Ansible playbooks
- Idempotens, deklarativitet
- IaC med eksemplet Ansible
Vi har reduceret den teoretiske del om UI og OpenStack CLI og fokuseret på praksis.
Vi vil se på to tilgange til IaC ved at bruge den samme applikation og vise fordele og ulemper ved hver tilgang. Som resultat vil den studerende forstå, hvornår man skal anvende hver tilgang, og være i stand til at arbejde med både Terraform og Ansible.
I emnet om Terraform vil vi i praksis se på teamwork og opbevaring af tilstand i en database. I arbejdet med moduler vil den studerende selv skrive og konfigurere et modul og lære at arbejde med det: genbruge og versionere det. Vi tilføjer arbejde med Consul og viser, hvornår det er nødvendigt, og hvordan man bruger det korrekt.
Emne nr. 6: Testning af infrastrukturer
- Lad os undersøge, hvorfor ingen skriver tests?
- Hvilke tests findes der i IaC?
- Er statiske analyseværktøjer så nytteløse?
- Unit testing af IaC med eksemplet Ansible + Molecule
- Testing som en del af CI
- Tests på steroider eller hvordan man ikke skal vente 5 timer på at testen afsluttes for IaC
Vi har forkortet den teoretiske del, mindre snak om Vagrant/Molecule, mere praksis og direkte testning, med fokus på linters og arbejdet med dem. Vi ser på det fra CI's synspunkt.
Hvordan man gør testning hurtigere. I praksis vil der være:
- et skræddersyet linter, der kontrollerer tilstedeværelsen af nødvendige variabler for værten afhængigt af rollen;
- vi tilføjer i CI testning af kun de roller, der er ændret, hvilket væsentligt reducerer testtiden;
- vi tilføjer testning af scenarier. Vi implementerer applikationen fuldstændigt som en integrationstest.
Emne nr. 7: Overvågning af infrastruktur med Prometheus
- Hvordan man bygger et sundt overvågningssystem
- Overvågning som et værktøj til analyse, effektivitet i udvikling og kode stabilitet, selv før produktionsdrift.
- Opsætning af Prometheus + Alertmanager + Grafana
- Vi går fra overvågning af ressourcer til overvågning af applikationer.
Vi skal tale meget om overvågning af mikroservices: anmodnings-id'er, API-overvågning værktøj. Der vil være mange bedste praksisser og meget selvstændigt arbejde.
Vi skriver vores egen eksportør. Vi vil sætte overvågning op ikke kun for produktionsinfrastrukturen og applikationen, men også for builds i GitLab. Vi vil se statistikker over mislykkede tests. Vi ser i praksis, hvordan overvågning uden healthCheck vil se ud og hvordan den vil se ud med det.
Emne nr. 8. Logning af applikationer med ELK
- Oversigt over Elastic og dets værktøjer
- ELK/Elastic Stack/x-pack — hvad er hvad, og hvad er forskellen?
- Hvilke opgaver kan løses med ElasticSearch (søgemaskine, lagring, skaleringsfunktioner, fleksibilitet i opsætning)
- Overvågning af infrastruktur (x-pack)
- Logs for containere og applikationer (x-pack)
- Logning med vores applikation som eksempel
- Praksis med Kibana
- Open Distro for Elasticsearch fra Amazon
Emnet er helt omarbejdet, det ledes af Eduard Medvedev, som mange har set på webinaret om DevOps og SRE. Han vil fortælle og vise bedste praksisser med EFK ved hjælp af et træningsprogram. Der vil være praktiske øvelser med Kibana.
Emne nr. 9: Automatisering af infrastruktur med ChatOps
- DevOps og ChatOps
- ChatOps: styrker
- Slack og alternativer
- Bots til ChatOps
- Hubot og alternativer
- Sikkerhed
- Testning
- Bedste og værste praksisser
I ChatOps er der tilføjet praksis for autentifikation med adskillelse af rettigheder, bekræftelse af handlinger af en anden bruger, teori og praksis af alternativer til Slack i form af Mattermost, teori om enheds- og integrationstests til botten.
Slørm DevOps starter den 30. januar. Pris — 30.000.
For dem, der har læst dette færdigt, er der 15% rabat på kurset om DevOps med rabatkoden habrapost.
Registrering
Jeg ser frem til at se jer på Slørmene!
Kilde: habr.com
