Ich habe viele SCM-bezogene Präsentationen erstellt und jetzt versuche ich, auf einen DevOps-Nachfolger zu "upgraden".
Was ich in meinen Präsentationen immer versuche, ist, eine Einführungsfolie zu erstellen, die irgendwie die Botschaft enthält, die ich übermitteln möchte (und die ich dann im Rest meiner Präsentation erläutere). Dabei versuche ich, meine eigene Frage zu beantworten: "Was wären 1 bis 3 Sätze, die ich verwenden möchte, wenn ich (nur!) 10 bis 20 Sekunden Zeit hätte, um sie jemandem zu erklären, der neu darin ist? * ".
Ich dachte, ich wüsste, was DevOps eigentlich bedeutet und worum es geht. Aber ich habe einige bizarre Verwendungen / Kontexte von DevOps gesehen (sogar auf DevOps.SE ...). Ich frage mich, ob DevOps meiner Meinung nach völlig falsch ist.
Was ist also allgemein als die Definition von DevOps vereinbart?
quelle
Antworten:
DevOps auf den Punkt gebracht
Aus Wikipedia :
Aus der Übersicht :
Es gibt zwar kein einzelnes "Tool" für DevOps, aber eine Reihe von Tools, auch als DevOps-Toolchain bezeichnet :
Illustrationen von DevOps
Im Folgenden finden Sie einige Zitate aus einigen Fragen zu DevOps.SE , die alle einen Teil der obigen DevOps-Beschreibung zu erfüllen bzw. zu bestätigen scheinen:
Aus ' Was ist der Unterschied zwischen SRE und DevOps? ':
Von (eine Antwort auf) ' Wie stelle ich einen guten DevOps ein, der zu meiner Firma passt? ':
Aus " Muss meine Organisation Agile Soft übernehmen?" Dev. vor der Übernahme von DevOps? ':
DevOps ist KEINE Rolle
Im Folgenden finden Sie einige Zitate aus einigen Fragen zu DevOps.SE , die alle zu veranschaulichen scheinen, dass DevOps KEINE Rolle spielt:
Von (eine Antwort auf) ' Was ist der Unterschied zwischen Sysadmin und DevOps Engineer? ':
Von (eine Antwort auf) ' Wie stelle ich einen guten DevOps ein, der zu meiner Firma passt? ':
quelle
Ich übe und berate DevOps seit fast fünf Jahren als Berater bei verschiedenen Kunden. Vor meiner derzeitigen Position war ich in den Bereichen Softwareentwicklung, Web-Betrieb und Systemadministration tätig. Meiner persönlichen Erfahrung nach gibt es DevOps in vielen Varianten.
Organisationsmuster
DevOps-Antimuster:
NoOps und NoDevs - nicht unbedingt DevOps im engeren Sinne. Diese Teams erstellen und betreiben jedoch Software, ohne dass eine Trennlinie zwischen Entwicklung und Betrieb besteht. Die Herausforderungen bei diesen Teams werden immer größer. Entwicklungsteams sind möglicherweise erfahrene Softwareentwickler, aber Anfänger und umgekehrt.
Die DevOps-Brücke - hier wird einem oder mehreren Teams die Verantwortung übertragen, die Arbeit von den Entwicklungsteams zu übernehmen und sie zu " produzieren ", um sie betriebsbereit zu machen. Die Herausforderung besteht darin, dass es zwei Übergaben gibt: Entwicklung → DevOps und DevOps → Betrieb.
Das DevOps-Team - Dies kann möglicherweise funktionieren, wenn das Team für die Erstellung von Tools verantwortlich ist, die das DevOps-fähige Betriebsmodell unterstützen. Es sollte jedoch wahrscheinlich als "Tools-Team" oder "Plattform-Team" bezeichnet werden.
DevOps Patterns:
Embedded DevOps - allgemein als Platform Engineering bezeichnet - ist in meinem Kopf jemand im Team, der verantwortlich ist, aber nicht für die Bereitstellung von Automatisierung, Tools und Infrastruktur für die Bereitstellung und Bereitstellung der Lösung verantwortlich ist, manchmal auch für den Betrieb der Software Letzteres ist eigentlich repräsentativ für DevOps.
Institutionalisierte DevOps - wo ein Projektteam gemeinsam für die Entwicklung und den Betrieb eines Softwarepakets verantwortlich ist, das gemeinsame Eigentümerschaft und positive Rückkopplungsschleifen aufbaut.
Praktiken Methoden Ausübungen
Die tatsächliche Praxis von DevOps baut auf mehreren anderen Praktiken auf, nämlich:
Jede der oben genannten Praktiken baut auf der anderen auf. Es ist jedoch möglich, dass keine Praktiken befolgt werden. Dies bedeutet, dass ein wichtiger Feedback-Zyklus fehlt, der möglicherweise auf eine "verpasste Gelegenheit" hindeutet. Das Hauptunterscheidungsmerkmal zwischen der Befolgung anderer Praktiken und DevOps ist der Betrieb von Software in der Produktion .
Die drei Wege
In The Phoenix Project beschreiben Gene Kim und seine Co-Autoren die drei Möglichkeiten von DevOps :
Systemdenken
Meiner Erfahrung nach erreicht es dieses Ziel, Entwickler dazu zu bringen, betriebliche Belange und nicht-funktionale Anforderungen zu berücksichtigen. Dies ist ein wesentlicher Bestandteil der kulturellen Aspekte von DevOps.
Verstärkung von Rückkopplungsschleifen
Ich erreiche dies im Allgemeinen durch kontinuierliche Integration / Bereitstellung / Bereitstellung und gemeinsame Überwachung und Alarmierung. Daher passt es sehr gut zur Tool- Komponente von DevOps.
Kultur des kontinuierlichen Experimentierens und Lernens
Dies passt sehr gut in den Kulturraum , obwohl es stark von Werkzeugen und Prozessen abhängt, damit die Kultur wachsen kann.
quelle
Ich habe viele, viele verschiedene Definitionen von DevOps gehört. Sie beinhalten:
Es gibt keinen öffentlichen Konsens darüber, was DevOps tatsächlich ist . Vor ein paar Jahren hatten wir ähnliche Probleme mit "Agile", und das hat eine schriftliche Definition .
Wenn ich Ihre Konzepte einem Neuling vorstelle, konzentriere ich mich darauf, die Konzepte vorzustellen, anstatt ein Etikett anzubringen, sonst hören sie widersprüchliche Definitionen und werden verwirrt. Wenn Sie beispielsweise versuchen, über Infrastruktur als Code zu sprechen , teilen Sie ihnen mit, dass Sie über Infrastruktur als Code sprechen. Je spezifischer Sie sein können, desto besser, da sich die meisten Unternehmen trotz vereinbarter Definitionen mehr auf bestimmte Teile einer Philosophie konzentrieren.
quelle
Die Definition, die ich in dieser Situation immer verwende, ist die folgende:
„Eine Software-Erstellungskultur, die die Kommunikation und Zusammenarbeit zwischen Softwareentwicklungs- und Betriebsteams bei gleichzeitiger Automatisierung des Software-Bereitstellungsprozesses und der Infrastrukturänderungen in den Vordergrund stellt. Das Ziel von DevOps ist es, den Softwareerstellungs-, Test- und Bereitstellungsprozess so häufig, schnell und wie möglich zu gestalten. “
Zusammen mit der Definition ist es jedoch auch wichtig, dass sie verstehen, WARUM wir DevOps brauchen . Stellen Sie sicher, dass DevOps Software-Fehler schneller behebt, ein besseres Ressourcenmanagement, weniger menschliche Fehler, eine bessere Versionskontrolle, eine stabile Betriebsumgebung usw. ermöglicht.
quelle
In der folgenden wissenschaftlichen Arbeit zur Erforschung genau dieser Frage, "Was ist DevOps?", Lautet die vorgeschlagene abgeleitete Definition von DevOps:
[Jabbari et al.] "Was ist DevOps ?: Eine systematische Mapping-Studie zu Definitionen und Praktiken" (2016)
quelle
Devops ist die Entwicklungspraxis des Schreibens von Anwendungen, deren Geschäftsbereich der Betrieb ist. Während sich die meisten Anwendungsentwicklungen auf die Erstellung von Anwendungen konzentrieren, die sich mit Finanzen, Gesundheitswesen, Logistik oder Katzenvideos befassen, konzentrieren sich Entwickler auf Anwendungen, die das Erstellen, Bereitstellen, Überwachen und Erfassen von Metriken ermöglichen.
Das übergeordnete Ziel sollte immer sein, Entscheidungsträger zu Entscheidungsträgern zu machen . Stellen Sie sich die mobile Anwendung Ihrer Bank vor. Wenn Sie eine Übertragung anfordern, geschieht dies, wenn Sie auf die Schaltfläche klicken. Sie machte eine Entscheidung, dann nahm die Entscheidung. Das Gleiche gilt für Ihre Operationen. Wenn die zuständige Person entscheidet, dass einige Arbeiten für die Produktion bereitstehen, sollte sie in der Lage sein, auf einen Knopf zu drücken und die "richtigen Dinge passieren". Ebenso sollten sie über alle notwendigen Informationen verfügen, um korrekte Geschäftsentscheidungen treffen zu können.
Es geht nicht darum, Geschäftsleuten Shell-Zugriff auf Server zu gewähren - das ist ein verwirrender Zweck bei der Implementierung. Es geht darum, die richtigen Knöpfe und Hebel mit den richtigen Informationen und den richtigen Leitplanken für die richtigen Leute zu versehen, damit Entscheidungsträger zu Entscheidungsträgern werden.
quelle
whose business domain is operations
: Kann man das erweitern oder einige Beispiele nennen?