Slörm DevOps – eine besser funktionierende Meise in drei Tagen, als der wunderbare Kranich in ferner Zukunft

Ich liebe Projekte, die eine Woche dauern, und Projekte, die ein Jahr dauern, machen mir Angst. In Agile hat mir das Konzept des MVP und des Inkrements sehr gefallen, das ist genau mein Ding: einen funktionierenden Teil erstellen, ihn implementieren und weitermachen.

Dabei ist die DevOps-Transformation in der Form, wie sie in Büchern und auf Konferenzen diskutiert wird, gerade ein Projekt über einen Zeitraum von einem Jahr. Oder mehreren Jahren.

Wir haben unseren DevOps-Kurs im Paradigma „MVP DevOps in einem Sprint“ und „Bereitschaft zu Inkrementen“ aufgebaut. Und menschlicher gesagt: „Damit der Teilnehmer nach der Rückkehr sofort etwas implementieren und Nutzen daraus ziehen kann.“

MVP DevOps: Der Kurs umfasst Werkzeuge für die grundlegenden DevOps-Prozesse. Wir haben uns nicht das Ziel gesetzt, alle CI/CD-Systeme zu betrachten und zu vergleichen oder die Tiefen des Ansatzes Infrastructure as Code zu ergründen. Wir geben einen klaren Stack: Gitlab CI/CD, Ansible, Terraform und Packer, Molecule, Prometheus, EFK. Man kann nach den Kursen kommen, sich aus den Schulungsmaterialien die Infrastruktur für ein Pilotprojekt aufbauen und damit arbeiten.

Slörm DevOps – eine besser funktionierende Meise in drei Tagen, als der wunderbare Kranich in ferner Zukunft

Bereitschaft zu Inkrementen: Jedes Element geben wir mit viel Praxis und Beispielen. Man kann ein Werkzeug nehmen und sich mit den Lehrzeichnungen dessen Implementierung widmen. Zum Beispiel ein Ansible-Playbook schreiben, um Entwicklungsumgebungen auszurollen oder einen Bot anzuschließen und zu verwalten Server vom Handy aus. Das heißt, innerhalb einer Woche ein konkretes praktisches Ergebnis zu erzielen. Auch wenn es unendlich weit von der DevOps-Transformation des gesamten Unternehmens entfernt ist, es existiert, es ist hier, es funktioniert und bringt Nutzen.

Themen von Slörm DevOps

Thema Nr. 1: Git Best Practices – spricht für sich selbst.
Thema Nr. 2: Arbeit mit der Anwendung aus Sicht der Entwicklung – der Ingenieur benötigt die Kompetenzen eines Administrators und Entwicklers, deshalb erzählen wir den Admins von der Entwicklung.

Thema Nr. 3: Grundlagen von CI/CD

  • Einführung in die Automatisierung von CI/CD
  • Grundlagen der Arbeit mit Gitlab CI
  • Beste Praktiken mit gitlab-runner
  • Bash-, Make- und Gradle-Tools als Teil von CI/CD und mehr
  • Docker als Lösung für CI-Probleme

Thema Nr. 4: Gitlab CI/CD in der Produktion

  • Konkurrenzfähigkeit beim Starten von Jobs
  • Kontrolle und Einschränkungen der Ausführung: only, when
  • Arbeit mit Artefakten
  • Templates, Includes und Mikrodienste: Vereinfachung der Bereitstellung

Wir familiarisieren die Studenten mit den grundlegenden Konzepten und Begriffen von CI/CD sowie mit den Tools zur Implementierung von CI/CD. Infolgedessen wird der Student in der Lage sein, selbstständig ein CI/CD-Designmuster und das geeignete Implementierungswerkzeug auszuwählen.

Anschließend zeigen wir die Umsetzung von CI/CD in Gitlab und analysieren die Konfiguration, betrachten erweiterte Nutzungsmöglichkeiten von Gitlab CI. Infolgedessen wird der Student in der Lage sein, Gitlab CI für eigene Projekte selbstständig einzurichten.

Im Vergleich zum ersten DevOps-Slurm haben wir die Theorie halbiert (eine Stunde pro Thema), auf eine Überprüfung aller Systeme verzichtet und uns nur auf Gitlab CI konzentriert. Wir haben uns auf praktische Anwendungen konzentriert und viele bewährte Praktiken hinzugefügt.

Thema Nr. 5: Infrastructure as Code

  • IaC: Ansatz zur Infrastruktur als Code
  • Cloud-Anbieter als Infrastruktur-Lieferanten
  • Systeminitialisierungswerkzeuge, Image-Building (packer)
  • IaC am Beispiel Terraform
  • Konfigurationsspeicherung, Zusammenarbeit, Anwendungsautomatisierung
  • Praxis der Erstellung von Ansible Playbooks
  • Idempotenz, Deklarativität
  • IaC am Beispiel Ansible

Wir haben den theoretischen Teil zu UI und OpenStack CLI verkürzt und uns auf die Praxis konzentriert.
Wir betrachten zwei Ansätze für IaC, indem wir dasselbe Anwendung verwenden und die Vor- und Nachteile jedes Ansatzes zeigen. Infolgedessen wird der Student verstehen, welcher Ansatz wann zu verwenden ist und wird sowohl mit Terraform als auch mit Ansible arbeiten können.

Im Thema zu Terraform betrachten wir in der Praxis die Teamarbeit und die Speicherung des Zustands in einer Datenbank. Bei der Arbeit mit Modulen wird der Student selbst ein Modul schreiben und einrichten, lernen, damit zu arbeiten: wiederverwenden, versionieren. Wir fügen die Arbeit mit Consul hinzu und zeigen, in welchen Fällen dies notwendig ist und wie man ihn richtig benutzt.

Thema Nr. 6: Infrastrukturtests

  • Wir untersuchen, warum keine Tests geschrieben werden.
  • Welche Arten von Tests gibt es in IaC?
  • Statische Analysewerkzeuge, sind sie wirklich nutzlos?
  • Unit-Tests für IaC am Beispiel von Ansible + Molecule
  • Tests als Teil von CI
  • Tests auf Steroiden oder wie man nicht fünf Stunden auf das Ende der Tests für IaC warten muss

Wir haben den theoretischen Teil verkürzt, weniger Erzählungen über Vagrant/Molecule und mehr Praxis und direkte Tests mit Fokus auf Linter und ihre Nutzung. Wir betrachten, wie man das Testen beschleunigt.
In der Praxis wird es Folgendes geben:

  • ein selbstgeschriebener Linter, der das Vorhandensein notwendiger Variablen für den Host je nach Rolle überprüft;
  • Wir fügen in CI nur Tests für die Rollen hinzu, die sich geändert haben, was die Ausführungszeit der Tests erheblich verkürzt;
  • Wir fügen Testszenarien hinzu. Wir setzen die Anwendung vollständig als Integrationstest auf.

Thema Nr. 7: Infrastrukturüberwachung mit Prometheus

  • Wie man ein gesundes Überwachungssystem aufbaut
  • Überwachung als Werkzeug zur Analyse, zur Effizienz der Entwicklung und zur Stabilität des Codes, noch bevor er produktiv wird
  • Konfiguration von Prometheus + Alertmanager + Grafana
  • Wir wechseln von der Überwachung von Ressourcen zur Überwachung von Anwendungen

Wir werden viel über die Überwachung von Mikrodiensten sprechen: ID-Anfragen, API-Überwachungstools. Es wird viele Best Practices geben und viel eigenständige Arbeit.

Wir werden unseren eigenen Exporter schreiben. Wir konfigurieren die Überwachung nicht nur der produktiven Infrastruktur und Anwendungen, sondern auch der Builds in GitLab. Wir werden die Statistiken zu fehlgeschlagenen Tests betrachten. Wir werden in der Praxis sehen, wie die Überwachung ohne HealthCheck und mit ihm aussieht.

Thema Nr. 8: Anwendungsprotokollierung mit ELK

  • Überblick über Elastic und seine Werkzeuge
  • ELK/Elastic Stack/x-pack - was ist was und wo liegt der Unterschied?
  • Welche Aufgaben können mit ElasticSearch gelöst werden (Suche, Speicher, Skalierungsmerkmale, Flexibilität der Konfiguration)
  • Infrastrukturüberwachung (x-pack)
  • Container- und Anwendungsprotokolle (x-pack)
  • Protokollierung am Beispiel unserer Anwendung
  • Praktiken zur Arbeit mit Kibana
  • Open Distro for Elasticsearch von Amazon

Das Thema wurde vollständig überarbeitet, es wird von Eduard Medwedew geleitet, viele haben ihn in dem Webinar zu DevOps und SRE gesehen. Er wird die besten Praktiken zur Arbeit mit EFK anhand eines Schulungsanwendungsbeispiels vorstellen. Es wird praktische Übungen mit Kibana geben.

Thema Nr. 9: Automatisierung der Infrastruktur mit ChatOps

  • DevOps und ChatOps
  • ChatOps: Stärken
  • Slack und Alternativen
  • Bots für ChatOps
  • Hubot und Alternativen
  • Sicherheit
  • Tests
  • Die besten und schlechtesten Praktiken

Wir haben in ChatOps die Praxis der Authentifizierung mit Berechtigungsaufteilung hinzugefügt, die Bestätigung von Aktionen durch einen anderen Benutzer, die Theorie und Praxis der Alternativen zu Slack in Form von Mattermost, die Theorie von Unit- und Integrationstests für den Bot.

Der Slurm DevOps startet am 30. Januar. Preis - 30.000.
Für diejenigen, die bis hierher gelesen haben, gibt es einen Rabatt von 15% auf den DevOps-Kurs mit dem Promo-Code habrapost.

Registrierung hier

Ich freue mich darauf, euch bei den Slurms zu sehen!

Quelle: habr.com

60GB SSD 8Gb DDR4