Neu

msg digital mehr

DevOps – Die 3 Faktoren zum Erfolg

DevOps – Die 3 Faktoren zum Erfolg

Mit der Zusammenführung von Entwicklung und Betrieb zu einem DevOps-​Projekt entstehen neue Aufgaben und Verantwortlichkeiten. Unser Interesse ist es diese so zu vereinen, dass wir dauerhaft robuste Systeme mit wenigen Störungen im Betrieb liefern können.

Aus unserer Erfahrung haben wir drei entscheidende Faktoren identifiziert:

  • „EIN“-Team
  • Effiziente Prozesse und ein hoher Automatisierungsgrad
  • Auswahl und passender Einsatz von geeigneten Werkzeugen

Haben Sie Fragen?

Vanessa Zurawka

EIN Team – Zusammenarbeit im Team und mit dem Kunden

Der „EIN-​Team“ Gedanke hat zwei Gesichter:

  • Kein Spezialistentum, sondern Aufbau von breitem Wissen im Team
  • Keine Unter-​Teams, die sich ausschließlich um einzelne Teilbereiche kümmern; das gesamte Team arbeitet gemeinsam an allen anfallenden Aufgaben

Der Aufbau von breitem Wissen ist die Voraussetzung, um alle Teammitglieder in die Lage zu versetzen, der Teamverantwortung gerecht zu werden. Die Chance der persönlichen Weiterentwicklung wird für jeden deutlich erhöht.

Alle Aufgaben, besonders aber die aus dem Ops-​Teil, werden als rotierende Verantwortung übernommen. Die Zusammenführung von Entwicklungs-​ und Betriebswissen hat entscheidende Vorteile:

  • Es entstehen keine Reibungsverluste bei der Kommunikation zwischen Betriebs-​ und Entwicklungsverantwortung.
  • Die fachliche und technische Expertise der Entwicklung ermöglicht eine schnellere Analyse und Behebung von Fehlern.
  • Ein direkter Rückfluss von Erkenntnissen aus den Betriebsaufgaben als Verbesserung von Code, Entwicklungsprozess und Testvorgehen ist leicht möglich.

Eine wichtige Säule bei der dauerhaften Entwicklung derartiger Teams ist ein regelmäßiger Wissensaustausch und die Weitergabe von Expertenwissen. In der Praxis haben sich technische/fachliche Präsentationen und Workshops in einem Zyklus von bis zu drei Wochen bewährt.

Offene, transparente und vertrauensvolle Kommunikation trägt enorm zum Erfolg bei. Sehr positive Erfahrungen konnten wir beispielsweise mit kurzen, täglichen „Health-​Meetings“ sammeln, bei denen die Ergebnisse der Anwendungsüberwachung und aktuelle Auffälligkeiten besprochen werden. Eingeladen sind alle Beteiligten (Product-​Owner, Business Consultants, Architect, Developer, Scrum-​Master). Der direkte Austausch beschleunigt die Analyse von Problemen deutlich. Das Team identifiziert sich sehr stark mit dem Produkt und das Gefühl der gemeinsamen Verantwortung wird verstärkt.

Effiziente Prozesse – Schnell Agieren mit schlanken Prozessen und hohem Automatisierungsgrad

Ein hoher Automatisierungsgrad bedeutet vollständig automatisierte CI/CD-​Prozesse, das Provisionieren der Infrastruktur sowie die Testautomatisierung, die Überwachung der Anwendung und die aktive Benachrichtigung im Fehlerfall. Das ist essenziell, um weniger Fehler entstehen zu lassen und sich verstärkt auf die Entwicklung konzentrieren zu können. Besonders durch die automatisierte proaktive Überwachung der Anwendung erkennt das Team Fehler frühzeitig und meldet sie als Incidents. So können Fehler früher behoben und damit deren Behebung meist weniger kritisch und aufwändig werden.

Schlanke Prozesse entstehen durch Vermeidung von Schnittstellen in der Kommunikation wie auch in der Technik. Zudem sind alle Kompetenzen in einem Team, was zu kurzen Abstimmungswegen beiträgt. Durch den Einblick in den Betrieb und die Entwicklung werden Probleme und Verbesserungspotenziale schneller entdeckt und das Team kann somit schneller agieren. Entscheidend ist, sich stetig weiterzuentwickeln und Prozesse anzupassen. Dafür benötigt es Raum für Verbesserungsideen, Vertrauen in der Zusammenarbeit und Transparenz für das ganze Team und den Kunden.

Passende Werkzeuge – Tools für Entwicklung, Infrastruktur und Monitoring richtig einsetzen

Tools sollten nach Anwendungszweck und Einsatz gezielt ausgewählt werden, um die eingesetzten Technologien und Infrastrukturen bestmöglich zu unterstützen. Dazu zählt auch die zielgerichtete Auswahl an Features und Konfigurationen innerhalb einzelner Werkzeuge.

Im Nachfolgenden ein Auszug an Tools aus der Praxis:

  • Kommunikation & Spezifikation - Jira, Confluence, Microsoft Teams etc.
    • Diese sind für das Incident Management und kurze Abstimmungswege besonders wichtig.
  • Entwicklung & Infrastruktur – Docker Desktop, Lens, Infrastructure-​As-Code (Helm, Terraform etc.)
    • Die Auswahl der Tools kann je nach Cloudprovider und Technologie der Anwendung variieren.
  • Buildmanagement - Jenkins, Azure DevOps, Github Actions etc.
    • Für einen hohen Automatisierungsgrad des CI/CD-​Prozesses und dem Aufbau der Infrastruktur muss die Auswahl an entsprechenden Tools erfolgen.
  • Monitoring – Grafana, Kibana, Prometheus, Jaeger, Opentelemetry etc.
    • Zum sinnvollen Monitoring der Anwendung gehört der Zugriff auf die produktive Umgebung, beispielsweise zur Prüfung von Logs, Dashboards und Alerts, sowie zur frühzeitigen Fehlererkennung.
  • Security & FOSS – Blackduck, Sonar, Statische Codeanalyse etc.
    • Es ist wichtig, die Sicherheit und den Umgang mit Open-​Source-Bibliotheken nicht zu vernachlässigen und entsprechend automatisierte Überprüfungen durchzuführen.

Die DevOps-​Expertinnen und -​Experten bei msg

Die msg-​​Expertinnen und -​Experten gehen gezielt auf Ihre individuellen Bedürfnisse ein. Unser umfangreiches Know-​how in den Prozessen für die Branchen Automotive und Manufacturing sowie im Bereich DevOps ermöglicht eine erfolgreiche und umfassende Unterstützung Ihrer Produktentwicklung inklusive dessen Betrieb. Somit schaffen wir gemeinsam mit Ihnen ein stabiles System mit wenigen Störungen im Betrieb und bieten damit eine langfristige und flexible Weiterentwicklung aus einer Hand.

Haben Sie Fragen rund um das Thema DevOps?

Dann vereinbaren Sie noch heute ein kostenfreies virtuelles Erstgespräch.