Wir sprechen ĂŒber DevOps in verstĂ€ndlicher Sprache

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.

Wir sprechen ĂŒber DevOps in verstĂ€ndlicher Sprache

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.“

Wir sprechen ĂŒber DevOps in verstĂ€ndlicher Sprache

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 Red Hat Forum Russland 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

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster