Jag Àlskar projekt som varar en vecka, och jag blir skrÀmd av projekt som pÄgÄr i ett Är. I Agile gillade jag verkligen konceptet MVP och inkrement, det Àr verkligen min stil: att göra en fungerande del, införa den och gÄ vidare.
Samtidigt Àr DevOps-transformationen i den form som diskuteras i böcker och pÄ konferenser just ett projekt som pÄgÄr i ett Är. Eller i mÄnga Är.
Vi har byggt vÄr kurs kring DevOps i paradigmet "MVP DevOps pÄ en sprint" och "beredskap för inkrement". Om man fÄr uttrycka sig enkelt, sÄ handlar det om "att sÄ att deltagaren vid sin Äterkomst omedelbart kan införa nÄgot och fÄ nytta av det".
MVP DevOps: kursen innehÄller verktyg för de grundlÀggande DevOps-processerna. Vi hade inte som mÄl att granska och jÀmföra alla CI/CD-system eller att utforska djupen av Infrastructure as Code. Vi ger en tydlig stack: Gitlab CI/CD, Ansible, Terraform och Packer, Molecule, Prometheus, EFK. Man kan komma frÄn kurserna, samla in infrastrukturen för ett pilotprojekt frÄn utbildningsmaterial och arbeta i den.

Beredskap för inkrement: varje moment ges med mycket praktik och exempel. Man kan ta ett verktyg och jobba med dess implementation baserat pĂ„ utbildningsskisser. Till exempel, skriva ett Ansible-playbook för att rulla ut utvecklingsmiljöer eller koppla in en bot och administrera server frĂ„n telefonen. Det vill sĂ€ga att pĂ„ en vecka fĂ„ ett konkret praktiskt resultat. Ăven om det Ă€r oĂ€ndligt lĂ„ngt ifrĂ„n en DevOps-transformation av hela företaget, sĂ„ finns det, det Ă€r hĂ€r, det fungerar och ger nytta.
Ămnen inom DevOps
Ămne 1: BĂ€sta praxis för Git â talar för sig sjĂ€lv.
Ămne 2: Arbeta med applikationen ur ett utvecklingsperspektiv â ingenjören behöver kunskaper som en administratör och utvecklare, dĂ€rför berĂ€ttar vi för administratörer om utveckling.
Ămne 3: Grunderna i CI/CD
- Introduktion till automatisering av CI/CD
- Grunderna i arbetet med Gitlab CI
- BĂ€sta praxis med gitlab-runner
- Verktyg som bash, make, gradle som del av CI/CD och mer
- Docker som ett sÀtt att lösa CI-problem
Ămne 4: Gitlab CI/CD i produktion
- Konkurrens vid körning av jobb
- Kontroll och begrÀnsningar av körning: only, when
- Arbete med artefakter
- Mallar, inkluderade och mikrotjÀnster: förenklar distributionen
Vi introducerar studenter till de grundlÀggande koncepten och begreppen inom CI/CD och de verktyg som behövs för att genomföra CI/CD. Resultatet blir att studenten sjÀlv kan vÀlja en designmall för CI/CD och lÀmpliga implementeringsverktyg.
Sedan visar vi implementationen av CI/CD i Gitlab och gÄr igenom instÀllningarna, vi diskuterar avancerade anvÀndningsmetoder för Gitlab CI. Resultatet blir att studenten kan sjÀlvstÀndigt konfigurera Gitlab CI för sina egna projekt.
JÀmfört med den första DevOps körningen har vi halverat teorin (en timme per Àmne), vi har lÀmnat en översikt över alla system och behÄllit endast Gitlab CI. Vi fokuserade pÄ praktik och lade till mÄnga bÀsta metoder.
Ămne nr 5: Infrastruktur som kod
- IaC: tillvÀgagÄngssÀtt för att betrakta infrastruktur som kod
- Molnleverantörer som infrastrukturleverantörer
- Systeminitialiseringsverktyg, bildbyggande (packer)
- IaC med exempel frÄn Terraform
- Lagring av konfigurationer, samarbete, automatisering av tillÀmpningar
- Praktik för att skapa Ansible-playbooks
- Idempotens, deklarativitet
- IaC med exempel frÄn Ansible
Vi har minskat den teoretiska delen av UI och openstack cli och fokuserat pÄ praktik.
Vi kommer att granska tvÄ tillvÀgagÄngssÀtt för IaC, med samma applikation, och visar för- och nackdelar med varje tillvÀgagÄngssÀtt. Resultatet blir att studenten förstÄr vilket tillvÀgagÄngssÀtt som Àr lÀmpligt och kan arbeta med bÄde Terraform och Ansible.
I Àmnet om Terraform kommer vi praktiskt att se pÄ lagarbete och lagring av tillstÄnd i en databas. I arbetet med moduler kommer studenten att skriva och konfigurera modulen sjÀlv, lÀra sig att arbeta med den: ÄteranvÀnda och versionera. Vi lÀgger till arbete med Consul, vi visar i vilka fall det Àr nödvÀndigt och hur man anvÀnder det korrekt.
Ămne nr 6: Testning av infrastrukturen
- Vi undersöker varför tester inte skrivs?
- Vilka typer av tester finns inom IaC?
- Ăr statiska analysverktyg egentligen sĂ„ vĂ€rdelösa?
- Enhetstestning av IaC med exemplet ansible + molecule
- Testning som en del av CI
- Tester pÄ steroider eller hur man inte behöver vÀnta i 5 timmar pÄ att tester för IaC ska bli klara
Vi har förkortat den teoretiska delen, mindre prat om Vagrant/Molecule, mer praktik och direkt testning, med fokus pÄ linters och att arbeta med dem. Vi ser pÄ det ur ett CI-perspektiv.
Hur man gör testningen snabbare. I praktiken kommer vi att ha:
- en egen linter som kontrollerar nÀrvaron av obligatoriska variabler för vÀrden beroende pÄ roll;
- vi lÀgger till i CI att testa endast de roller som har Àndrats, vilket avsevÀrt minskar tiden för att köra tester;
- vi lÀgger till testning av scenarier. Vi driftsÀtter applikationen helt som ett integrationstest.
Ămne nr 7: Ăvervakning av infrastrukturen med Prometheus
- Hur man bygger ett hÀlsosamt övervakningssystem
- Ăvervakning som ett verktyg för analys, effektivitet i utvecklingen och stabilitet i koden, redan innan den gĂ„r live.
- InstÀllning av prometheus + alertmanager + grafana
- Vi gÄr frÄn resursövervakning till övervakning av applikationer.
Vi kommer att diskutera mycket om övervakning av mikrotjÀnster: ID-förfrÄgningar, API-övervakningsverktyg. Det kommer att finnas mÄnga bÀsta metoder och mycket sjÀlvstÀndigt arbete.
Vi skriver vÄr egen exporter. Vi stÀller in övervakning för inte bara produktionsinfrastruktur och applikationer, utan ocksÄ för byggnader i Gitlab. Vi kommer att titta pÄ statistiken för misslyckade tester. Vi kommer praktiskt att se hur övervakningen kommer att se ut utan healthCheck och med den.
Ămne Nr 8. Loggning av applikationer med ELK
- Ăversikt av Elastic och dess verktyg
- ELK/Elastic Stack/x-pack â vad Ă€r vad och vilken skillnad Ă€r det?
- Vilka uppgifter kan lösas med ElasticSearch (sökning, lagring, skalningsfunktioner, anpassningsbarhet)
- Ăvervakning av infrastruktur (x-pack)
- Loggar frÄn containrar och applikationer (x-pack)
- Loggning utifrÄn vÄrt exempel pÄ applikationen
- BÀsta praxis för att arbeta med Kibana
- Open Distro for Elasticsearch frÄn Amazon
Ămnet har helt omarbetats, det leds av Eduard Medvedev, mĂ„nga har sett honom pĂ„ webinariet om DevOps och SRE. Han kommer att berĂ€tta och visa de bĂ€sta metoderna för att arbeta med EFK med vĂ„rt utbildningsprogram som exempel. Det kommer att bli praktiska övningar med Kibana.
Ămne Nr 9: Automatisering av infrastruktur med ChatOps
- DevOps och ChatOps
- ChatOps: styrkor
- Slack och alternativ
- Bots för ChatOps
- Hubot och alternativ
- SĂ€kerhet
- Testning
- BÀsta och sÀmsta metoder
I ChatOps har vi lagt till en autentiseringsmetod med rÀttighetsdelning, bekrÀftelse av ÄtgÀrder av en annan anvÀndare, teorin och praktiken av alternativ till Slack i form av Mattermost, teorin om enhets- och integrationstester för boten.
Slöerm DevOps startar den 30 januari. Priset Àr 30 000.
För de som har lÀst klart, en rabatt pÄ 15% pÄ kursen om DevOps med rabattkoden habrapost.
Registrering
Jag ser fram emot att se er pÄ Slöerm!
KĂ€lla: habr.com
