Wie implementiert man eine erfolgreiche DevOps-Strategie?

Veröffentlicht: 2022-06-29

Einführung

DevOps ist eine Entwicklungsstrategie, die die Zusammenarbeit zwischen Softwareentwicklern und Mitarbeitern des IT-Betriebs betont. Aber zur Implementierung von DevOps gehört mehr als nur die Bitte an Ihre Teams, zusammenzuarbeiten.

Der Begriff DevOps wurde im Jahr 2009 von Patrick Debois geprägt, der im Volksmund auch als „Vater von DevOps“ bekannt ist. Der Prozess besteht aus den folgenden Hauptphasen:

  1. Planen
  2. Erstellen/Codieren
  3. Bauen
  4. Prüfen
  5. Veröffentlichung
  6. Einsetzen
  7. Betreiben und
  8. Monitor

Hier ist eine Anleitung, was es braucht, um DevOps erfolgreich zu implementieren, und die vielen verschiedenen Strategien dafür.

Versuchen Sie nicht, alles auf einmal zu tun

Es ist leicht, sich zu überfordern, wenn Sie zum ersten Mal mit DevOps beginnen. Es gibt viele Informationen da draußen, und es kann schwierig sein zu wissen, wo man anfangen soll. Ich empfehle, klein anzufangen und sich hochzuarbeiten.

Wählen Sie zunächst einen Bereich aus, der einfach zu automatisieren, zu überwachen und mit Endbenutzern zu kommunizieren ist. Dies erleichtert es Ihnen, frühzeitig Erfolge zu zeigen und Impulse für andere Bereiche des Unternehmens zu setzen. Beispiel: Wenn Sie Bereitstellungen automatisieren oder Überwachungstools einrichten, sollten Sie vielleicht mit etwas wie der Bereitstellung von Webanwendungen oder containerisierten Anwendungen (wie Docker) beginnen. Diese Arten von Diensten haben in der Regel weniger Abhängigkeiten als andere Arten von Systemen wie Datenbanken, daher sind sie in der Regel einfachere Testfälle, anhand derer wir unseren Fortschritt bei der Implementierung von DevOps-Praktiken in unseren Organisationen messen können.

Tun Sie, was Sie können, wenn Sie können

Das erste, was Sie tun müssen, ist, Ihr Team dazu zu bringen, die Tools zu verwenden, die es benötigt. Beginnen Sie mit dem, was verfügbar ist, und fügen Sie weitere Funktionen hinzu, wenn Sie sich wohler fühlen. Versuchen Sie nicht, alles auf einmal zu tun; Finden Sie ein oder zwei Dinge, die für Sie funktionieren, und fahren Sie dann mit dem nächsten fort.

Automatisierung einsetzen

Das Ziel von DevOps ist es, die Geschwindigkeit zu erhöhen, Kosten und menschliche Fehler zu reduzieren und die Qualität zu verbessern. Deshalb wird die Automatisierung als so wichtig angesehen. Automatisierung kann in verschiedenen Kontexten unterschiedliche Bedeutungen haben (automatisiertes Testen und kontinuierliche Integration sind zwei gängige Beispiele), bezieht sich jedoch im Allgemeinen auf die Verwendung von Software zur Ausführung bestimmter Aufgaben. Dies bedeutet, dass weniger Menschen an Entwicklungs- und Produktionsprozessen beteiligt sind, was die Kosten senkt und gleichzeitig die Qualität verbessert – und gleichzeitig die Geschwindigkeit erhöht.

Beginnen Sie mit vorhandenen Tools, um benutzerdefinierte Lösungen zu entwickeln

Es kann einfacher sein, mit vorhandenen Tools zu beginnen, als kundenspezifische Lösungen zu entwickeln. Wenn Sie gerade erst anfangen, gibt es eine Reihe von Open-Source-Projekten und Cloud-Diensten, die Ihnen dabei helfen können, schnell loszulegen. Zum Beispiel:

  • DevOps-Automatisierungsframework Jenkins Stack: Ein Open-Source-Projekt, das den gesamten Lebenszyklus der Softwareentwicklung verwaltet. Es umfasst Tools für Continuous Integration (CI) und Continuous Delivery (CD) sowie für andere gängige DevOps-Aufgaben wie Testen, Erstellen, Verpacken und Bereitstellen von Code. Es unterstützt mehrere Betriebssysteme, darunter Linux und macOS.
  • Elasticsearch: Eine auf Apache Lucene basierende Suchmaschine, die Volltextsuchfunktionen für große Mengen unstrukturierter Daten in Echtzeit über viele Server hinweg bietet. Es wird von vielen Unternehmen wie Netflix oder PayPal verwendet, damit sie alle ihre Transaktionen, die innerhalb dieser Einheiten stattfinden, sehr schnell indizieren können, da es horizontal skalieren kann (d. h. bei Bedarf weitere Instanzen hinzufügt).

Beginnen Sie mit Tools, die gut zu Ihrer Kultur passen

Wenn Sie Ihre DevOps-Reise beginnen, ist es wichtig zu verstehen, dass Sie nicht alles auf einmal ändern können. Sie können Ihre Kultur, Prozesse, Mitarbeiter oder Technologie nicht dazu zwingen, sich zu ändern; Wenn sie nicht mit den Zielen von DevOps und agiler Entwicklung übereinstimmen, werden sie deren Erfolg behindern.

Anstatt zu versuchen, diese Elemente in eine feste Form zu zwingen, die nicht zu der heutigen Arbeitsweise Ihres Unternehmens passt, suchen Sie nach Tools, die speziell für Softwareteams entwickelt wurden, die agile Methoden anwenden – und ihnen Raum für Wachstum lassen, wenn das Team seine Fähigkeiten im Laufe der Zeit erweitert .

Konzentrieren Sie sich auf Zusammenarbeit und erhalten Sie die besten Köpfe, wenn Sie können

Es ist jedoch nicht einfach, diese Ressourcen zu finden und einzustellen.

Glücklicherweise gibt es mehrere großartige Möglichkeiten, um Hilfe zu erhalten:

  • Suchen Sie nach Hilfe von anderen Unternehmen, die DevOps bereits implementiert haben. Sie haben einige der harten Lektionen bereits gelernt und können Ihnen aufgrund ihrer eigenen Erfahrung Ratschläge geben.
  • Berater können auch eine gute Option sein, wenn Sie keine Zeit haben, sich selbst mit den Besonderheiten von DevOps vertraut zu machen. Sie wissen in der Regel, welche Fragen sie stellen müssen und wo sie nach Antworten suchen müssen; Sie sind auch wahrscheinlicher als Mitarbeiter in anderen Unternehmen (die sich möglicherweise auf ihre tägliche Arbeit konzentrieren), weil sie durch Geld motiviert werden und nicht nur durch den Wissensaustausch allein.* Open-Source-Communities wie GitHub bieten danach zusätzliche Ressourcen lernen, wie sie durch Zusammenarbeit zusammenarbeiten.* Schulungskurse können eine weitere Option sein, wenn Sie zusätzlich oder anstelle eines externen Beraters das Fachwissen einer anderen Person benötigen.* Bücher wie The Phoenix Project bieten einen Einblick, wie ein Unternehmen DevOps erfolgreich implementiert hat; Sie werden oft von Personen geschrieben, die selbst an der Umsetzung beteiligt waren, anstatt sie nur aus der Ferne zu beobachten.

Automatisierte Überwachung und Berichterstattung

Die automatisierte Überwachung und Berichterstellung ist eine wichtige DevOps-Praxis. Um die Qualität Ihrer Software zu verbessern, müssen Sie messen können, wie gut sie in der Produktion funktioniert. Die Entwickler sollten für die Überwachung ihres Codes verantwortlich sein, damit sie Probleme schnell erkennen können. Sie müssen auch über eine Strategie zum Sammeln dieser Daten und die Implementierung von Analysetools verfügen, die es ihnen ermöglichen, zu verstehen, was mit ihren Anwendungen passiert, während sie in der Produktion laufen.

Das Betriebsteam sollte seine Infrastruktur überwachen, da es dafür verantwortlich ist, dass täglich alles reibungslos läuft. Dies bedeutet das Sammeln von Metriken über CPU-Auslastung, Speicherplatznutzung, Nutzung der Netzwerkbandbreite usw. sowie das Protokollieren aller Probleme, die bei Anwendungen auftreten, damit sie sofort behoben werden können.

Ihr Unternehmen sollte sein Endergebnis überwachen, indem es misst, wie viel Umsatz jede neue Funktion im Verhältnis zu Kosten wie Entwicklungszeit und späteren Wartungskosten (einschließlich laufender Unterstützung) einbringt. Die Fähigkeit, diese Arten von Metriken genau zu messen, ermöglicht es Teams innerhalb einer Organisation oder über mehrere Organisationen hinweg, die an einem Projekt zusammenarbeiten – beispielsweise solche, die Microservices verwenden –, bessere Entscheidungen darüber zu treffen, welche Funktionen bei der Erstellung ihrer Produkt-Roadmap auf der Grundlage finanzieller Ziele Vorrang haben sollten anstatt sich nur auf den technischen Schuldenabbau ohne Rücksicht auf das Gesamtbild zu konzentrieren.“

Halten Sie Ihre Kunden auf dem Laufenden, sie mögen keine Überraschungen

Angenommen, Ihre Organisation implementiert eine neue Codebasis für die gesamte Webanwendung. Sie wissen, dass dies die Endbenutzer betreffen wird und dass sie es nicht mögen werden, wenn sie von der Änderung überrascht werden.

Sie können sie warnen und ihnen Zeit geben, sich auf die Änderung vorzubereiten, oder Sie können warten, bis sie online geht, und dann erklären, was passiert ist, warum es passiert ist und wie sie sich selbst an die Änderungen gewöhnen können.

Eine Möglichkeit, Benutzer auf dem Laufenden zu halten, wäre eine E-Mail-Kampagne, bei der Sie Kalendereinladungen mit Anweisungen versenden, wie die Benutzer ihre neuen Tools verwenden sollten, sowie Tipps, wie sie von der Verwendung dieser Funktionen profitieren könnten, sobald sie in die Produktion freigegeben werden (z. es wird eine neue Suchfunktion geben).

Fangen Sie klein an, automatisieren Sie, überwachen Sie den Fortschritt und optimieren Sie

Die beste Strategie für die Implementierung von DevOps besteht darin, klein anzufangen, zu automatisieren und den Fortschritt im Laufe der Zeit zu überwachen.

Fangen Sie klein an: Es ist einfacher, Schwung aufzubauen, wenn Sie mit einem überschaubaren Umfang beginnen. Wenn Sie versuchen, Ihre gesamte Abteilung oder Organisation auf einmal in Angriff zu nehmen, kann dies überwältigend sein und sich unmöglich anfühlen. Anstatt zu versuchen, DevOps im gesamten Unternehmen auf einmal zu implementieren, konzentrieren Sie sich auf jeweils ein Projekt oder Team.

Automatisieren: Es sind viele Tools verfügbar, mit denen Sie Teile Ihres Entwicklungsprozesses automatisieren können (Continuous Integration-Server wie Jenkins oder TeamCity), aber es gibt möglicherweise einige Dinge, für die noch keine Tools verfügbar sind, z. B. das Einrichten von Backups für die Produktion Server in AWS CloudFormation-Vorlagen – stellen Sie also sicher, dass diese Dinge in Ihrem Automatisierungsplan enthalten sind, bevor Sie mit etwas anderem fortfahren!

Überwachen Sie den Fortschritt im Laufe der Zeit: Wenn Sie über Metriken verfügen, können alle Beteiligten (einschließlich Ihnen selbst) bewerten, wie gut die Dinge im Laufe der Zeit laufen, sodass wir bei jedem Schritt auf unserem Weg zur vollständigen Automatisierung bei Bedarf Anpassungen vornehmen können!

Fazit

Wir hoffen, dass Sie jetzt besser verstehen, wie DevOps für Ihr Unternehmen funktionieren kann. Wie wir gesehen haben, ist das DevOps-Team voll von hilfreichen Ressourcen und Tools, die Ihnen beim Einstieg helfen und nach der ersten Umstellung weitermachen können. Der Schlüssel zur erfolgreichen Implementierung besteht darin, mit dem zu beginnen, was Sie bereits wissen, und es dann zu wiederholen, bis es perfektioniert ist. Auf diese Weise können Sie eine effektive DevOps-Strategie implementieren, ohne Ihr Budget zu sprengen oder Ihr Team mit neuen Verantwortlichkeiten zu überlasten!

Ausgewähltes Bild: Der Workflow von DevOps: Quelle: Pease, 2017.

Autor Bio:

Priya hat etwa 7 Jahre Erfahrung in der Marktforschung. Derzeit arbeitet sie als Assistant Manager – Content Strategist für Valasys Media, das zu den weltweit führenden B2B-Medienverlagen gehört. Sie hat mehrere personalisierte Berichte für unsere Kunden erstellt und viel über Marktsegmentierung, Clusteranalyse von Zielgruppen und Inbound-Methoden geforscht. Sie hat in mehreren Projekten sowohl mit Regierungsinstituten als auch mit Unternehmen zusammengearbeitet. Sie hat verschiedene Interessen und glaubt an einen datengesteuerten Ansatz zur Problemlösung. Sie hat einen Abschluss in Naturwissenschaften und schreibt neben Marketing, Wissenschaft, Datenwissenschaft und Statistik ausführlich über alle Dinge des Lebens. Sie glaubt fest an höhere Realitäten und daran, dass es im Leben immer mehr gibt, als wir verstehen. Sie ist eine psychische Heilerin und Tarot-Praktizierende, die an eine spirituelle Lebensweise glaubt und Yoga und Meditation praktiziert. Wenn sie nicht schreibt, genießt sie gerne Musik oder kocht.