Slurm DevOps - eine bessere Arbeitsmeise in 3 Tagen als ein schöner Kran in ferner Zukunft

Ich liebe das wöchentliche Projekt und die jahrelangen Projekte machen mir Angst. In Agile hat mir das Konzept von MVP und Increment sehr gut gefallen. Es liegt in der Hand: Ein funktionsfähiges Stück zu erstellen, es zu implementieren und fortzufahren.


Gleichzeitig ist die DevOps-Transformation in der Form, wie sie in Büchern und auf Konferenzen diskutiert wird, nur ein einjähriges Projekt. Oder in Jahren.


Wir haben unseren DevOps-Kurs im Paradigma von „MVP DevOps in einem Sprint“ und „Bereitschaft für Inkremente“ erstellt. Und wenn es menschlich ist, "damit der Teilnehmer bei seiner Rückkehr sofort etwas zu Hause vorstellen und davon profitieren kann."


MVP DevOps: Im Kurs gibt es Tools für die wichtigsten DevOps-Prozesse. Wir haben uns nicht die Aufgabe gestellt, alle CI / CD-Systeme zu überprüfen und zu vergleichen oder die Tiefen der Infrastruktur als Code-Ansatz offenzulegen. Wir geben einen klaren Stapel: Gitlab CI / CD, Ansible, Terraform und Packer, Molecule, Prometheus, EFK. Sie können aus den Kursen kommen, die Infrastruktur für das Pilotprojekt aus den Schulungsunterlagen zusammenstellen und daran arbeiten.



Bereitschaft zu Inkrementen: Wir geben jedem Element eine Menge Übung und Beispiele. Sie können ein Werkzeug nehmen und gemäß den Lehrplänen dessen Implementierung aufnehmen. Schreiben Sie beispielsweise ein Ansible-Playbook für Rolling-Dev-Umgebungen oder verbinden Sie einen Bot und verwalten Sie den Server über das Telefon. Das heißt, in einer Woche, um ein konkretes praktisches Ergebnis zu erzielen. Er ist zwar unendlich weit von der DevOps-Transformation des gesamten Unternehmens entfernt, aber er ist, er ist hier, er arbeitet und bringt Vorteile.


Themen von Slurm DevOps


Thema 1: Git Best Practices - spricht für sich.
Thema Nr. 2: Arbeiten mit der Anwendung aus Sicht der Entwicklung - Ein Ingenieur benötigt die Kompetenzen eines Administrators und eines Entwicklers, sodass wir Administratoren über die Entwicklung informieren.


Thema 3: CI / CD-Grundlagen


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

Thema 4: Gitlab CI / CD in der Produktion


  • Wettbewerb bei der Arbeitsaufnahme
  • Kontroll- und Ausführungsbeschränkungen: nur, wenn
  • Arbeiten Sie mit Artefakten
  • Vorlagen, Einschlüsse und Microservices: Vereinfachen Sie die Bereitstellung

Wir führen die Schüler in die grundlegenden Konzepte und Konzepte von CI / CD ein und optimieren die Implementierung von CI / CD. Infolgedessen kann der Student eine CI / CD-Entwurfsvorlage und ein geeignetes Implementierungstool selbstständig auswählen.


Anschließend zeigen wir die Implementierung von CI / CD in Gitlab und analysieren die Konfiguration. Überlegen Sie, wie Sie Gitlab CI auf fortgeschrittene Weise verwenden können. Auf diese Weise kann der Schüler Gitlab CI unabhängig für seine eigenen Projekte konfigurieren.


Im Vergleich zum ersten DevOps Slurm haben wir die Theorie zweimal verdoppelt (eine Stunde zum Thema), die Übersicht aller Systeme verlassen und nur Gitlab CI gelassen. Konzentrierte sich auf die Praxis und fügte viele bewährte Methoden hinzu.


Thema 5: Infrastruktur als Code


  • IaC: Ein Ansatz zur Infrastruktur als Code
  • Cloud-Anbieter als Infrastrukturanbieter
  • Tools zur Systeminitialisierung, Image-Assembly (Packer)
  • IaC am Beispiel Terraform
  • Konfigurationsspeicher, Zusammenarbeit, Anwendungsautomatisierung
  • Übe das Erstellen von anzeigbaren Spielbüchern
  • Idempotenz, Deklarativität
  • IaC Ansible

Wir haben den theoretischen Teil auf UI und Openstack-CLI reduziert und uns auf die Praxis konzentriert.
Betrachten Sie zwei IaC-Ansätze mit derselben Anwendung und zeigen Sie die Vor- und Nachteile der einzelnen Ansätze. Als Ergebnis wird der Schüler verstehen, welcher Ansatz wo anzuwenden ist, und er wird in der Lage sein, sowohl mit Terraform als auch mit Ansible zu arbeiten.


Im Thema Terraform werden wir in der Praxis Teamarbeit und das Speichern des Status in einer Datenbank berücksichtigen. Bei der Arbeit mit Modulen schreibt und konfiguriert der Schüler das Modul selbst und lernt, wie man damit arbeitet: Wiederverwendung, Version. Fügen wir die Arbeit mit Consul hinzu, wir werden zeigen, in welchen Fällen es notwendig ist und wie man es richtig benutzt.


Thema 6: Testen der Infrastruktur


  • Wir verstehen, warum sie keine Tests schreiben?
  • Was sind die Tests in IaC?
  • Statische Analysatoren, sind sie unbrauchbar?
  • Unit Testing IaC am Beispiel von Ansible + Molekül
  • Testen im Rahmen von ci
  • Tests auf Steroiden oder wie man nicht 5 Stunden wartet, das Ende der Tests auf IaC

Wir haben den theoretischen Teil reduziert, weniger Geschichten über Vagrant / Molecule, mehr Praxis und direktes Testen, mit dem Fokus auf Linters und der Arbeit mit ihnen. Wir sehen aus der Sicht von CI
wie man das Testen beschleunigt. In der Praxis wird es sein:


  • ein selbst geschriebener Linter, der das Vorhandensein von obligatorischen Variablen für den Host abhängig von der Rolle überprüft;
  • Wir fügen dem CI-Test nur die Rollen hinzu, die sich geändert haben, wodurch die Testausführungszeit erheblich verkürzt werden kann.
  • Scripting-Tests hinzufügen. Wir stellen die gesamte Anwendung als Integrationstest bereit.

Thema 7: Überwachen der Infrastruktur mit Prometheus


  • Wie man ein gesundes Überwachungssystem aufbaut
  • Monitoring als Werkzeug für Analyse, Entwicklungseffizienz und Codestabilität schon vorher
  • Prometheus + alertmanager + grafana setzen
  • Übergang von der Ressourcenüberwachung zur Anwendungsüberwachung

Wir werden viel über die Überwachung von Microservices sprechen: ID-Anfragen, API-Überwachungstool. Es wird viele Best Practices und viel unabhängige Arbeit geben.


Wir werden Ihren Exporteur schreiben. Wir konfigurieren die Überwachung nicht nur für die Infrastruktur- und Anwendungsproduktion, sondern auch für Baugruppen in Gitlab. Sehen wir uns die Statistiken zu fehlgeschlagenen Tests an. Lassen Sie uns in der Praxis sehen, wie Monitoring ohne und mit healthCheck aussehen würde.


Thema Nummer 8. Anwendungsprotokollierung mit ELK


  • Übersicht über Elastic und seine Werkzeuge
  • ELK / Elastic Stack / x-pack - was ist was und was ist der Unterschied?
  • Welche Aufgaben können mit ElasticSearch gelöst werden (Suche, Speicherung, Skalierungsmerkmale, Konfigurationsflexibilität)?
  • Infrastrukturüberwachung (x-pack)
  • Protokolle von Containern und Anwendungen (x-pack)
  • Anmelden am Beispiel unserer Anwendung
  • Kibana-Übungen
  • Amazon Open Distro für Elasticsearch

Das Thema wurde komplett überarbeitet, es wird von Eduard Medwedew geleitet, viele sahen es beim Webinar über DevOps und SRE. Er erklärt und zeigt die besten Praktiken der Arbeit mit EFK am Beispiel einer Trainingsanwendung. Mit Kibana wird geübt.


Thema 9: Infrastrukturautomatisierung mit ChatOps


  • DevOps und ChatOps
  • ChatOps: Stärken
  • Locker und Alternativen
  • Bots für ChatOps
  • Hubot und Alternativen
  • Sicherheit
  • Testen
  • Beste und schlechteste Praktiken

ChatOps fügte die Praxis der Authentifizierung mit Trennung von Rechten, Bestätigung von Aktionen durch einen anderen Benutzer, die Theorie und Praxis von Slack-Alternativen in Form von Mattermost, die Theorie der Einheiten und Integrationstests für den Bot hinzu.


Slurm DevOps startet am 30. Januar. Der Preis beträgt 30.000.
Für diejenigen, die gelesen haben, einen Rabatt von 15% auf den DevOps-Kurs auf den Habrapost-Gutscheincode.


Registrieren Sie sich hier


Ich freue mich, Sie auf den Slurms zu sehen!

Source: https://habr.com/ru/post/de484302/


All Articles