Es ist schwierig, das Wesentliche zu erfassen, wenn es um DevOps geht? Wir haben fĂŒr Sie anschauliche Analogien, prĂ€gnante Formulierungen und Expertenrat zusammengestellt, die selbst Nicht-Spezialisten helfen, zum Kern der Sache zu gelangen. Am Ende gibt es ein Bonus â die DevOps-Mitarbeiter von Red Hat.

Der Begriff DevOps entstand vor 10 Jahren und entwickelte sich vom Hashtag auf Twitter zu einer kraftvollen kulturellen Bewegung in der IT-Welt, einer echten Philosophie, die Entwickler ermutigt, schneller Ergebnisse zu erzielen, zu experimentieren und durch iteratives Arbeiten voranzukommen. DevOps ist untrennbar mit dem Konzept der digitalen Transformation verbunden. Doch wie es oft bei IT-Begriffen der Fall ist, hat DevOps in den letzten zehn Jahren viele Definitionen, Interpretationen und MissverstÀndnisse angesammelt.
Deshalb hört man oft Fragen zu DevOps wie: Ist das dasselbe wie Agile? Oder ist es eine spezielle Methodik? Oder ist es einfach ein weiteres Synonym fĂŒr "Zusammenarbeit"?
DevOps umfasst viele verschiedene Konzepte (wie kontinuierliche Lieferung, kontinuierliche Integration, Automatisierung usw.), daher kann es schwierig sein, das Wesentliche herauszufiltern, insbesondere wenn man fĂŒr das Thema interessiert ist. Diese FĂ€higkeit ist jedoch Ă€uĂerst nĂŒtzlich, ganz gleich, ob Sie Ihre Ideen Ihrem Vorgesetzten vermitteln oder einfach jemandem aus Ihrer Familie oder Ihrem Bekanntenkreis von Ihrer Arbeit erzĂ€hlen möchten. Lassen Sie uns also die terminologischen Feinheiten von DevOps beiseitelegen und uns auf das Gesamtbild konzentrieren.
Was ist DevOps: 6 Definitionen und Analogien
Wir haben Experten gebeten, die Essenz von DevOps so einfach und kurz wie möglich zu erklĂ€ren, damit ihr Wert fĂŒr Leser mit jedem technischen Hintergrund verstĂ€ndlich wird. Aus diesen GesprĂ€chen haben wir die prĂ€gnantesten Analogien und markanten Formulierungen ausgewĂ€hlt, die Ihnen helfen werden, Ihre ErzĂ€hlung ĂŒber DevOps zu gestalten.
1. DevOps ist eine kulturelle Bewegung
âDevOps ist eine kulturelle Bewegung, in der beide Seiten (Softwareentwickler und IT-Systembetreiber) anerkennen, dass Software keinen echten Wert hat, solange sie nicht von jemandem genutzt wird: sei es von Kunden, Klienten oder Mitarbeiternâ, sagt Eveline Oehrlich, Senior Research Analyst am DevOps Institute. âDeshalb gewĂ€hrleisten beide Seiten gemeinsam eine schnelle und qualitativ hochwertige Softwarebereitstellung.â
2. DevOps ist das, was Entwicklern Macht verleiht
âDevOps gibt Entwicklern die Befugnis, Anwendungen zu besitzen, sie zu starten und die Lieferung von Anfang bis Ende zu verwalten.â
âNormalerweise wird DevOps als eine Methode beschrieben, um die Bereitstellung von Anwendungen in die Produktion durch den Aufbau und die Anwendung automatisierter Prozesse zu beschleunigenâ, sagt Jai Schniepp, Direktor fĂŒr DevOps-Plattformen beim Versicherungsunternehmen Liberty Mutual. âFĂŒr mich ist es jedoch eine viel grundlegendere Sache. DevOps gibt Entwicklern die Befugnis, Anwendungen oder bestimmte Teile von Software zu besitzen, sie zu starten und die Bereitstellung von Anfang bis Ende zu verwalten. DevOps beseitigt das Chaos bezĂŒglich der Verantwortung und fĂŒhrt alle Beteiligten zu der Schaffung einer automatisierten und entwicklergesteuerten Infrastruktur.â
3. DevOps â Zusammenarbeit bei der Erstellung und Bereitstellung von Anwendungen
âEinfach ausgedrĂŒckt ist DevOps ein Ansatz zur Softwareproduktion und -bereitstellung, bei dem alle gemeinsam arbeitenâ, merkt Gur Staf, PrĂ€sident und Leiter des Bereichs digitale GeschĂ€ftsautomatisierung bei BMC, an.
4. DevOps â eine Pipeline
âEine pipelinebasierte Erstellung ist nur möglich, wenn alle Komponenten zusammenpassen.â
âIch wĂŒrde DevOps mit einem FlieĂband fĂŒr die Automobilproduktion vergleichenâ, fĂ€hrt Gur Staff fort. âDie Idee ist, alles im Voraus zu planen und die einzelnen Teile so herzustellen, dass sie spĂ€ter ohne individuelle Anpassungen zusammengesetzt werden können. FlieĂbandproduktion ist nur möglich, wenn alle Teile zueinander passen. Diejenigen, die den Motor entwerfen und herstellen, mĂŒssen sich ĂŒberlegen, wie er an die Karosserie oder den Rahmen befestigt wird. Die Hersteller der Bremsen mĂŒssen an die RĂ€der denken, und so weiter. Genau so sollte es auch mit Software sein.
Ein Entwickler, der die GeschĂ€ftslogik oder die BenutzeroberflĂ€che erstellt, muss an die Datenbank denken, die Informationen ĂŒber die Kunden speichert, an die SicherheitsmaĂnahmen zum Schutz der Benutzerdaten und daran, wie all das funktionieren wird, wenn der Service eine groĂe, möglicherweise sogar multimillionenfache Nutzerbasis bedient.
âDie gröĂte HĂŒrde, die es zu ĂŒberwinden gilt, besteht darin, dass Menschen zusammenarbeiten und ĂŒber die Teile ihrer Arbeit nachdenken, die von anderen erledigt werden, anstatt sich ausschlieĂlich auf ihre eigenen Aufgaben zu konzentrieren. Wenn dies gelingt, haben Sie hervorragende Chancen auf digitale Transformationâ, fĂŒgt Gur Staf hinzu.
5. DevOps ist die richtige Kombination aus Menschen, Prozessen und Automatisierung.
Jayne Groll, die GeschĂ€ftsfĂŒhrerin des DevOps Instituts, hat eine hervorragende Analogie zur ErklĂ€rung von DevOps vorgeschlagen. Ihrer Meinung nach ist âDevOps wie ein Kochrezept, bei dem es drei Hauptkategorien von Zutaten gibt: Menschen, Prozesse und Automatisierung. Die meisten dieser Zutaten können aus anderen Bereichen und Quellen kommen: Lean, Agile, SRE, CI/CD, ITIL, FĂŒhrung, Kultur, Werkzeuge. Das Geheimnis von DevOps, genau wie bei jedem guten Rezept, besteht darin, die Zutaten in der richtigen Proportion zu kombinieren und zu mischen, um die Geschwindigkeit und Effizienz bei der Erstellung und Bereitstellung von Anwendungen zu steigern.â
6. DevOps ist, wenn Programmierer wie ein Formel-1-Team arbeiten.
âDas Rennen wird nicht vom Start bis zur Ziellinie geplant, sondern umgekehrt, von der Ziellinie bis zum Start.â
âWenn wir ĂŒber das sprechen, was wir von der DevOps-Initiative erwarten können, vergleiche ich das mit einem NASCAR- oder Formel-1-Rennteamâ, sagt Chris Short, Marketing Manager fĂŒr Cloud-Plattformen bei Red Hat und Herausgeber des Newsletters DevOpsâish. âEin Teamleiter hat ein einziges Ziel: So viele Punkte wie möglich zu sammeln, basierend auf den verfĂŒgbaren Ressourcen und den Herausforderungen, denen das Team gegenĂŒbersteht. Dabei wird das Rennen nicht vom Start zum Ziel, sondern umgekehrt geplant â vom Ziel zurĂŒck zum Start. Zuerst wird ein ehrgeiziges Ziel gesetzt, danach werden die Wege zu dessen Erreichung festgelegt. Diese werden dann in Aufgaben aufgeteilt und an die Teammitglieder delegiert.â
âDie ganze Woche vor dem Rennen verfeinert das Team den Boxenstopp. Es konzentriert sich auf Kraft- und Cardiotraining, um an einem anstrengenden Renntag in Form zu sein. Das Team ĂŒbt die gemeinsame Reaktion auf Probleme, die wĂ€hrend des Rennens auftreten können. Genauso sollte das Entwicklungsteam die FĂ€higkeiten fĂŒr hĂ€ufige Releases neuer Versionen trainieren. Mit solchen FĂ€higkeiten und einem stabilen Sicherheitssystem können neue Versionen auch hĂ€ufiger in die Produktion gebracht werden. In diesem Sinne bedeutet steigende Geschwindigkeit auch steigende Sicherheitâ, sagt Short.
âEs geht nicht darum, die ârichtigen Dingeâ zu tunâ, fĂŒgt Short hinzu, âsondern darum, so viele Hindernisse wie möglich zu beseitigen, die dem gewĂŒnschten Ergebnis im Weg stehen. Arbeiten Sie zusammen und passen Sie sich in Echtzeit an das Feedback an, das Sie erhalten. Seien Sie bereit fĂŒr Anomalien und arbeiten Sie an der QualitĂ€t, um deren Einfluss auf den Fortschritt in Richtung Ziel zu minimieren. Genau das erwartet uns in der Welt von DevOps.â

DevOps skalieren: 10 Tipps von Experten
Einfaches DevOps und massives DevOps sind zwei vollkommen unterschiedliche AnsĂ€tze. Wir erklĂ€ren Ihnen, wie Sie die Hindernisse auf dem Weg vom ersten zum zweiten ĂŒberwinden können.
FĂŒr viele Organisationen beginnt der Weg zu DevOps einfach und erfreulich. Es werden kleine, leidenschaftliche Teams gebildet, alte Prozesse werden durch neue ersetzt, und die ersten Erfolge lassen nicht lange auf sich warten.
Leider ist dies nur ein falscher Glanz, eine Illusion des Fortschritts, wie Ben Grinnell, GeschĂ€ftsfĂŒhrer und Leiter fĂŒr digitale Technologien der Unternehmensberatung North Highland, sagt. FrĂŒhzeitige Erfolge sind natĂŒrlich ermutigend, helfen jedoch nicht, das endgĂŒltige Ziel zu erreichen: die umfassende EinfĂŒhrung von DevOps in der Organisation.
Es ist leicht zu erkennen, dass sich dadurch eine Kultur der Trennung in 'wir' und 'sie' formiert.
âHĂ€ufig starten Organisationen solche Pionierprojekte in der Annahme, dass sie den Weg fĂŒr eine breitere Anwendung von DevOps ebnen werden, ohne zu ĂŒberlegen, ob andere bereit sind, diesen Weg zu gehenâ, erklĂ€rt Ben Greenhalgh. âDie Teams, die fĂŒr die DurchfĂŒhrung solcher Projekte zusammengestellt werden, bestehen oft aus selbstbewussten âWikingerâ, die Ăhnliches an anderen Orten getan haben, aber neu in Ihrer Organisation sind. Ihnen wird geraten, Regeln zu brechen und zu ignorieren, die fĂŒr alle anderen gelten. Es ist leicht zu erkennen, dass dadurch eine Kultur des 'Wir' gegen 'Sie' entsteht, die den Wissensaustausch und das Erlernen von FĂ€higkeiten behindert.â
âDieses kulturelle Problem ist nur einer der GrĂŒnde, warum DevOps schwer skalierbar ist. DevOps-Teams sehen sich mit einer Zunahme rein technischer KomplexitĂ€ten konfrontiert, die fĂŒr schnell wachsende Unternehmen typisch sind, die auf IT-Technologien setzenâ, sagt Steve Newman, GrĂŒnder und Vorsitzender von Scalyr.
âIn der heutigen Welt verĂ€ndern sich Dienstleistungen sofort, sobald der Bedarf entsteht. Es ist natĂŒrlich groĂartig, stĂ€ndig neue Funktionen zu realisieren und einzufĂŒhren, aber den Prozess zu koordinieren und auftretende Probleme zu lösen, ist eine echte Herausforderungâ, fĂŒgt Steve Newman hinzu. âIn sehr schnell wachsenden Organisationen kĂ€mpfen Ingenieure in funktionsĂŒbergreifenden Teams darum, die Möglichkeit zu behalten, Ănderungen und die daraus resultierenden Kaskadeneffekte auf AbhĂ€ngigkeitsebenen nachzuvollziehen. DarĂŒber hinaus sind Ingenieure alles andere als erfreut, wenn sie von dieser Möglichkeit ausgeschlossen werden, was es ihnen erschwert, die Natur der auftretenden Probleme zu verstehen.â
Wie können diese beschriebenen Herausforderungen ĂŒberwunden werden, um eine umfassende Nutzung von DevOps in groĂen Unternehmen zu realisieren? Experten raten dazu, Geduld zu haben, selbst wenn Ihr endgĂŒltiges Ziel darin besteht, den Softwareentwicklungszyklus und die GeschĂ€ftsprozesse zu beschleunigen.
1. Denken Sie daran, dass kulturelle VerÀnderungen Zeit brauchen
Jayne Groll, GeschĂ€ftsfĂŒhrerin des DevOps Institute: âMeiner Meinung nach sollte die Erweiterung von DevOps ebenso schrittweise und iterativ erfolgen wie agile Entwicklung (und in gleichem MaĂe die Kultur betreffen). In Agile und DevOps liegt der Fokus auf kleinen Teams. Doch mit dem Wachstum und der Integration solcher Teams kommen immer mehr Menschen hinzu, die neue Arbeitsmethoden anwenden, was zu einer groĂflĂ€chigen kulturellen Transformation fĂŒhrt.â
2. Planen Sie ausreichend Zeit fĂŒr die Auswahl der Plattform ein
Eran Kinsbruner, Chief Evangelist bei Perfecto: âDamit die Skalierung funktioniert, mĂŒssen DevOps-Teams zunĂ€chst lernen, traditionelle Prozesse, Werkzeuge und FĂ€higkeiten zu kombinieren, und dann jede Phase von DevOps schrittweise entwickeln und stabilisieren. Alles beginnt mit einer sorgfĂ€ltigen Planung der User Stories und der Wertstromereignisse, gefolgt von der Softwareentwicklung und Versionskontrolle unter Verwendung von trunk-basiertem Development oder anderen AnsĂ€tzen, die am besten fĂŒr das Branching und Merge von Code geeignet sind.â
AnschlieĂend folgt die Phase der Integration und des Testens, in der bereits eine skalierbare Plattform fĂŒr die Automatisierung erforderlich ist. Hier ist es fĂŒr DevOps-Teams wichtig, die richtige Plattform auszuwĂ€hlen, die ihren FĂ€higkeiten und den endgĂŒltigen Zielen des Projekts entspricht.
Die nĂ€chste Phase ist das Deployment in der Produktionsumgebung, das vollstĂ€ndig automatisiert mit Orchestrierungs- und Container-Tools erfolgen muss. Dabei ist es wichtig, virtualisierte Umgebungen in allen DevOps-Phasen zu haben (Simulationsumgebung, QualitĂ€tssicherung und die eigentliche Produktionsumgebung) und immer nur die aktuellsten Daten fĂŒr Tests zu verwenden, um relevante Erkenntnisse zu gewinnen. Analytik sollte intelligent sein und in der Lage, groĂe Datenmengen schnell und effektiv zu verarbeiten.
3. Nehmen Sie die Verantwortung aus der Schuldfrage.
Gordon Haff, Evangelist bei RedHat: âDie Schaffung eines Systems und einer AtmosphĂ€re, die Experimente zulassen und fördern, ermöglicht die Umsetzung sogenannter erfolgreicher FehlschlĂ€ge in der agilen Softwareentwicklung. Das bedeutet nicht, dass niemand mehr fĂŒr FehlschlĂ€ge verantwortlich ist. TatsĂ€chlich wird es sogar einfacher, Verantwortliche zu benennen, da âVerantwortung ĂŒbernehmenâ nicht mehr bedeutet, âden Schuldigen zu findenâ. Das Wesen der Verantwortung Ă€ndert sich also qualitativ. Dabei werden vier Faktoren extrem wichtig: der Umfang des Fehlschlags, die AnsĂ€tze, die Produktionsprozesse und die Anreize.â (Mehr zu diesen Faktoren finden Sie im Artikel von Gordon Huff âDevOps lessons: 4 aspects of healthy experimentsâ.)
4. RĂ€umen Sie den Weg frei
Ben Grinnell, Managing Director und Leiter des Bereichs digitale Technologien der Consultingfirma North Highland: âUm Skalierung zu erreichen, empfehle ich, zusammen mit den Pionierprojekten ein Programm zur âWegfreimachungâ zu starten. Ziel dieses Programms ist es, den Schutt zu beseitigen, der von den DevOps-Pionieren zurĂŒckgelassen wird, wie zum Beispiel ĂŒberholte Regeln und Ă€hnliches, damit der Weg nach vorne frei bleibt.â
Bieten Sie den Menschen organisatorische UnterstĂŒtzung und fördern Sie die Kommunikation, die ĂŒber die Gruppe der Pioniere hinausgeht, und feiern Sie die Erfolge neuer Arbeitsmethoden. Schulen Sie die Personen, die an der nĂ€chsten Welle von DevOps-Projekten beteiligt sind und nervös sind, weil sie DevOps zum ersten Mal verwenden. Und denken Sie daran, dass sich diese Personen stark von den Pionieren unterscheiden.
5. Machen Sie Werkzeuge zugÀnglicher
Steve Newman, GrĂŒnder und Vorstandsvorsitzender von Scalyr: Werkzeuge sollten nicht vor den Menschen verborgen werden und sie sollten relativ einfach zu erlernen sein fĂŒr jeden, der bereit ist, Zeit dafĂŒr zu investieren. Wenn die Möglichkeit, Protokolle anzufordern, nur drei Personen, die fĂŒr den Umgang mit einem bestimmten Werkzeug 'zertifiziert' sind, zur VerfĂŒgung steht, haben Sie immer nur maximal drei Personen, die in der Lage sind, das entsprechende Problem zu lösen, selbst wenn Sie ĂŒber eine sehr groĂe IT-Umgebung verfĂŒgen. Mit anderen Worten, hier entsteht ein Engpass, der ernsthafte, geschĂ€ftliche Konsequenzen haben kann.
6. Schaffen Sie optimale Bedingungen fĂŒr die Teamarbeit
Tom Clark, Leiter der Abteilung Common Platform bei ITV: âSie können alles tun, aber nicht alles auf einmal. Setzen Sie sich ehrgeizige Ziele, beginnen Sie klein und arbeiten Sie sich durch schnelle Iterationen nach vorne. Im Laufe der Zeit werden Sie sich einen Ruf als Team erarbeiten, das erfolgreich ist, und andere werden Ihre Methoden ebenfalls anwenden wollen. Streben Sie dabei nicht direkt nach einem Hochleistungsteam. Sorgen Sie stattdessen dafĂŒr, dass die Menschen optimale Arbeitsbedingungen haben, und die Effizienz wird von selbst kommen.â
7. Vergessen Sie das Conway-Gesetz und Kanban-Boards nicht
Logan Daigle, Director of Software Delivery and DevOps Strategy bei CollabNetVersionOne: âEs ist wichtig, sich der Konsequenzen des Conway-Gesetzes bewusst zu sein. In meiner freien Ăbersetzung besagt dieses Gesetz, dass die Produkte, die wir erstellen, und die Prozesse, die wir dabei verwenden, einschlieĂlich DevOps, genauso strukturiert sind wie unsere Organisation.â
Wenn in einer Organisation die Trennung groà ist und das Management wÀhrend der Planung, Erstellung und Veröffentlichung von Software hÀufig wechselt, wird der Skalierungseffekt null oder nur von kurzer Dauer sein. Bildet die Organisation jedoch cross-funktionale Teams um Produkte, die marktgerecht finanziert werden, steigen die Erfolgschancen erheblich.
Ein weiterer wichtiger Aspekt der Skalierung besteht darin, alle Arbeiten in Bearbeitung (WIP, work in progress) auf Kanban-Boards darzustellen. Wenn es in der Organisation einen Raum gibt, in dem die Menschen solche Dinge sehen können, fördert dies die Zusammenarbeit erheblich, was sich positiv auf die Skalierung auswirkt.
8. Suchen Sie nach alten Narben
Manuel Pais, DevOps-Berater und Mitautor des Buches âTeam Topologiesâ: Die Ausweitung der DevOps-Praktiken ĂŒber Dev und Ops hinaus und der Versuch, sie auf andere Funktionen anzuwenden, kann kaum als optimal betrachtet werden. Dies wird zweifellos einen gewissen Nutzen haben (zum Beispiel durch die Automatisierung manueller Aufgaben), jedoch können viel gröĂere Fortschritte erzielt werden, wenn man mit dem VerstĂ€ndnis der Liefer- und Feedbackprozesse beginnt.
«Wenn in den IT-Systemen einer Organisation alte Narben vorhanden sind â Verfahren und Managementmechanismen, die nach frĂŒheren VorfĂ€llen implementiert wurden, aber aufgrund von Ănderungen in Produkten, Technologien oder Prozessen nicht mehr relevant sind â, dann sollten diese unbedingt entfernt oder geglĂ€ttet werden, anstatt ineffektive oder unnötige Prozesse zu automatisieren.»
9. Schaffen Sie keine Varianten von DevOps
Antony Edwards, Produktionsleiter bei Eggplant: «DevOps ist ein sehr vager Begriff, weshalb jede Team seine eigene Interpretation davon hat. Es gibt nichts Schlimmeres, als wenn innerhalb einer Organisation gleich 20 Varianten von DevOps existieren, die nicht gut miteinander harmonieren. Es sollte nicht sein, dass jedes der drei Entwicklungsteams eine eigene, besondere Schnittstelle zwischen Entwicklung und Produktmanagement hat. Ebenso dĂŒrfen die Produkte keine einzigartigen Erwartungen an das Feedback-Handling beim Ăbergang in die Produktionsumgebung haben. Andernfalls wird es Ihnen nie gelingen, DevOps zu skalieren.»
10. Predigen Sie den GeschÀftswert von DevOps
Steve Newman, GrĂŒnder und Vorstandsvorsitzender von Scalyr: âArbeiten Sie daran, den Wert von DevOps anzuerkennen. Lernen Sie und zögern Sie nicht, die Vorteile dessen zu kommunizieren, was Sie tun. DevOps spart unglaublich viel Zeit und Geld (denken Sie nur: weniger Ausfallzeiten, kĂŒrzere Wiederherstellungszeiten). DevOps-Teams sollten unermĂŒdlich die Bedeutung dieser Initiativen fĂŒr den GeschĂ€ftserfolg betonen und propagieren. So können Sie die Anzahl der BefĂŒrworter erweitern und den Einfluss von DevOps in Ihrer Organisation verstĂ€rken.â
BONUS
Auf Am 13. September kommt unser eigener DevOps â ja, Red Hat hat als Softwarehersteller eigene DevOps-Teams und Praktiken.
Unser Ingenieur Mark Birger, der sich mit der Entwicklung interner Automatisierungsdienste fĂŒr andere Gruppen in der gesamten Organisation beschĂ€ftigt, wird in einwandfreiem Russisch seine eigene Geschichte erzĂ€hlen â wie das DevOps-Team von Red Hat Anwendungen von virtuellen Umgebungen von Hat Virtualization, die von Ansible verwaltet werden, in ein vollwertiges Container-Format auf der OpenShift-Plattform migriert hat.
Aber das ist noch nicht alles:
Nachdem Organisationen ihre Arbeitslasten in Container migriert haben, funktionieren traditionelle AnsĂ€tze fĂŒr das Monitoring von Anwendungen möglicherweise nicht mehr. In unserem zweiten Bericht erlĂ€utern wir unsere Motivation zur VerĂ€nderung der Protokollierungsmethoden und zeigen den fortlaufenden Weg, der uns zu modernen Methoden der Protokollierung und Ăberwachung gefĂŒhrt hat.
Quelle: habr.com
