Slurm DevOps - een beter functionerende mees in 3 dagen dan een prachtige kraan in de verre toekomst

Ik hou van projecten van een week en ik ben geïntimideerd door projecten van een jaar. In Agile vond ik het concept van MVP en increment erg leuk, dit is precies mijn ding: een werkbaar stuk maken, implementeren en verder gaan.

Tegelijkertijd is de DevOps-transformatie in de vorm waarin deze in boeken en op conferenties wordt besproken slechts een project van een jaar. Of in jaren.

We hebben onze DevOps-cursus gebouwd volgens het paradigma van “MVP DevOps in één sprint” en “gereedheid voor incrementen.” En als het menselijk bedoeld is, dan ‘zodat de deelnemer bij terugkomst meteen thuis iets kan implementeren en er profijt van kan hebben.’

MVP DevOps: De cursus bevat tools voor basis DevOps-processen. We hebben onszelf niet de taak gesteld om alle CI/CD-systemen te beoordelen en te vergelijken, of om de diepten van de Infrastructure as Code-aanpak te onthullen. Wij bieden één duidelijke stapel: Gitlab CI/CD, Ansible, Terraform en Packer, Molecule, Prometheus, EFK. Je kunt uit de opleidingen komen, uit trainingsmateriaal de infrastructuur voor een pilotproject halen en daarin aan de slag gaan.

Slurm DevOps - een beter functionerende mees in 3 dagen dan een prachtige kraan in de verre toekomst

Bereidheid tot stappen: we voorzien elk element van veel oefening en voorbeelden. U kunt één tool nemen en deze gaan implementeren met behulp van de trainingstekeningen. Schrijf bijvoorbeeld een Ansible playbook voor het uitrollen van ontwikkelomgevingen of sluit een bot aan en beheer de server vanaf je telefoon. Dat wil zeggen, binnen een week een concreet praktisch resultaat behalen. Het kan oneindig ver verwijderd zijn van de DevOps-transformatie van het hele bedrijf, maar het is er, het is hier, het werkt en brengt voordelen met zich mee.

Slurm DevOps-onderwerpen

Onderwerp #1: Best practices voor Git - spreekt voor zich.
Onderwerp #2: Werken met de applicatie vanuit ontwikkelingsoogpunt — een ingenieur heeft de competenties nodig van een beheerder en een ontwikkelaar, dus vertellen we beheerders over ontwikkeling.

Onderwerp #3: CI/CD-basisprincipes

  • Inleiding tot CI/CD-automatisering
  • Gitlab CI-basisprincipes
  • Beste praktijken met gitlab-runner
  • Bash, make, gradle tools als onderdeel van CI/CD en meer
  • Docker als een manier om CI-problemen op te lossen

Onderwerp #4: Gitlab CI/CD in productie

  • Concurrentie bij het starten van een baan
  • Uitvoeringscontrole en beperkingen: alleen, wanneer
  • Werken met artefacten
  • Sjablonen, omvat en microservices: vereenvoudiging van de implementatie

We laten studenten kennismaken met de basisconcepten en concepten van CI/CD en tools voor CI/CD-implementatie. Hierdoor kan de student zelfstandig een CI/CD-ontwerppatroon en een geschikte implementatietool kiezen.

Vervolgens laten we de implementatie van CI/CD in Gitlab zien en doorlopen we de installatie, waarbij we kijken naar geavanceerde manieren om Gitlab CI te gebruiken. Hierdoor zal de student in staat zijn om Gitlab CI zelfstandig te configureren voor zijn eigen projecten.

Vergeleken met de eerste DevOps Slurm hebben we de theorie twee keer ingekrompen (een uur per onderwerp), zijn we afgestapt van het beoordelen van alle systemen en hebben we alleen Gitlab CI overgelaten. We concentreerden ons op de praktijk en voegden veel best practices toe.

Onderwerp #5: Infrastructuur als code

  • IaC: infrastructuur benaderen als code
  • Cloudproviders als infrastructuurproviders
  • Systeeminitialisatietools, imageopbouw (packer)
  • IaC gebruikt Terraform als voorbeeld
  • Configuratieopslag, samenwerking, applicatieautomatisering
  • Oefenen met het maken van Ansible-draaiboeken
  • Idempotentie, declarativiteit
  • IaC gebruikt Ansible als voorbeeld

We hebben het theoretische gedeelte over UI en openstack cli teruggebracht en ons op de praktijk gericht.
Laten we eens kijken naar twee IaC-benaderingen die dezelfde applicatie gebruiken, waarbij we de voor- en nadelen van elke aanpak laten zien. Hierdoor begrijpt de student welke aanpak waar moet worden gebruikt en kan hij met zowel Terraform als Ansible werken.

In het onderwerp Terraform gaan we in de praktijk kijken naar teamwerk en het opslaan van de status in een database. Bij het werken met modules zal de student de module zelf schrijven en configureren, ermee leren werken: hergebruiken, versien. Laten we werk met Consul toevoegen, laten zien in welke gevallen het nodig is en hoe u het correct kunt gebruiken.

Onderwerp #6: Het testen van de infrastructuur

  • Laten we eens kijken waarom ze geen tests schrijven?
  • Welke tests zijn er in IaC?
  • Statische analysers, zijn ze echt zo nutteloos?
  • Eenheidstest van IaC met behulp van ansible + molecuul als voorbeeld
  • Testen als onderdeel van ci
  • Tests op steroïden of hoe u niet 5 uur moet wachten voordat de IaC-tests zijn voltooid

We hebben het theoretische deel verkleind, minder verhalen over Vagrant/Molecule, meer praktijk en direct testen, met de nadruk op linters en het werken ermee. Bekijk het vanuit een CI-oogpunt
hoe je testen sneller kunt maken. In de praktijk zal er sprake zijn van:

  • een zelfgeschreven linter die afhankelijk van de rol controleert op de aanwezigheid van verplichte variabelen voor de host;
  • We voegen aan CI-testen alleen die rollen toe die zijn veranderd, wat de uitvoeringstijd van de test aanzienlijk kan verkorten;
  • scenariotesten toevoegen. Wij zetten de gehele applicatie in als integratietest.

Onderwerp #7: Infrastructuurmonitoring met Prometheus

  • Hoe u een gezond monitoringsysteem kunt bouwen
  • Monitoring als hulpmiddel voor analyse, ontwikkelingsefficiëntie en codestabiliteit, zelfs vóór de verkoop
  • Prometheus + alertmanager + grafana opzetten
  • Van resourcemonitoring naar applicatiemonitoring

We zullen veel praten over het monitoren van microservices: verzoek-ID's, API-monitoringtool. Er zullen veel best practices en veel onafhankelijk werk zijn.

Laten we onze eigen exporteur schrijven. We gaan de monitoring van niet alleen productie-infrastructuur en applicaties, maar ook assemblages in Gitlab opzetten. Laten we eens kijken naar de statistieken over mislukte tests. Laten we in de praktijk kijken hoe monitoring eruit zal zien zonder healthCheck en ermee.

Onderwerp nr. 8. Een aanvraag registreren bij ELK

  • Overzicht van Elastic en zijn tools
  • ELK/Elastic Stack/x-pack - wat is wat en wat is het verschil?
  • Welke problemen kunnen worden opgelost met ElasticSearch (zoeken, opslag, schaalfuncties, configuratieflexibiliteit)
  • Infrastructuurmonitoring (x-pack)
  • Container- en applicatielogboeken (x-pack)
  • Loggen met onze applicatie als voorbeeld
  • Praktijken van het werken met Kibana
  • Open Distro voor Elasticsearch van Amazon

Het onderwerp is volledig opnieuw ontworpen, het wordt gehost door Eduard Medvedev, velen zagen hem op het webinar over DevOps en SRE. Hij zal de best practices voor het werken met EFK vertellen en demonstreren aan de hand van het voorbeeld van een educatieve toepassing. Er wordt geoefend met Kibana.

Onderwerp #9: Infrastructuurautomatisering met ChatOps

  • DevOps en ChatOps
  • ChatOps: sterke punten
  • Slack en alternatieven
  • Bots voor ChatOps
  • Hubot en alternatieven
  • veiligheid
  • Testen
  • Beste en slechtste praktijken

ChatOps voegde de praktijk van authenticatie met scheiding van rechten, bevestiging van acties door een andere gebruiker, de theorie en praktijk van een alternatief voor Slack in de vorm van Mattermost, de theorie van eenheid en integratietests voor de bot toe.

DevOps-slurm begint op 30 januari. Prijs - 30.
Voor degenen die het lezen hebben gelezen, is er 15% korting op de DevOps-cursus met behulp van de promotiecode habrapost.

registratie hier

Ik zie je graag bij Slurms!

Bron: www.habr.com

Voeg een reactie