Die Rolle von DevOps in der IT - Expertenmeinungen


    Bild der Website tricentis.com

    Bestehende Realitäten erfordern im wahrsten Sinne des Wortes Software-Entwicklung, um die Ausführungszeit des Projekts weiter zu verkürzen: von der Entstehung einer Idee bis zur Veröffentlichung eines fertigen Produkts. Mit einer beneidenswerten Häufigkeit werden Kunden gebeten, das Projekt „gestern“ umzusetzen, damit es nicht „heute“ von einem anderen kopiert wird. Und natürlich ist das Budget für das Unmögliche wie immer begrenzt.

    Den Entwicklern bleibt keine andere Wahl, als sich mit der Prozessoptimierung zu befassen, zu experimentieren und immer wieder neue Methoden auszuprobieren. In besonders „vernachlässigten“ Fällen wird in praktisch jeder Abteilung nach temporären Reserven gesucht, und Entwickler können nicht nur schneller drucken.

    Es stellt sich heraus, dass Tester, Manager und Analysten sowie die Implementierungsabteilung schneller arbeiten können. Alles, was bleibt, ist herauszufinden, wie dies erreicht werden kann.

    Die Methoden der flexiblen, schnellen und manchmal extremen Entwicklung helfen dabei. Dies ermöglicht es Ihnen, dieses Problem teilweise zu lösen.


    Bild von quora.com

    Das Agile-Modell ermöglicht die fruchtbare Interaktion der Entwicklungs- und Testabteilungen gemäß gemeinsamer Ziele, allgemeiner Regeln und allgemeiner Leistungskriterien.
    Agile ging 2001 an die Börse.
    Die agile Entwicklung besteht aus einer Reihe von kurzen Zyklen, die als Iterationen bezeichnet werden und normalerweise zwei bis drei Wochen dauern. Jede Iteration für sich sieht aus wie ein Softwareprojekt im Kleinen und enthält alle Aufgaben, die erforderlich sind, um einen minimalen Funktionszuwachs zu erzielen: Planung, Anforderungsanalyse, Design, Programmierung, Test und Dokumentation. Am Ende jeder Iteration bewertet das Team die Entwicklungsprioritäten neu.

    Es versteht sich, dass am Ende jeder Iteration ein „flexibles“ Softwareprojekt zur Veröffentlichung bereitsteht. In der Praxis geschieht dies jedoch nicht immer und nicht so schnell, wie es die Kunden jetzt wollen.

    Darüber hinaus wird die Entwicklung verlangsamt, da die verschiedenen Abteilungen, die an der Erstellung von Software beteiligt sind, nicht über gemeinsame Tools verfügen und es keine Möglichkeit gibt, das gewonnene Wissen weiterzugeben.

    Jede der Einheiten führteigene Aufgaben und verwendet verschiedene Kriterien zur Bewertung der Wirksamkeit seiner Arbeit. Für Entwickler ist dies die Schreibgeschwindigkeit und die Anzahl der im Programmcode implementierten Funktionen, für Tester die Anzahl der erkannten Fehler, für die Betriebsabteilung die Stabilität der Systeme und die Mindestanzahl der Vorfälle. Ein solches Arbeitsmodell führt häufig zu Interessenkonflikten: Die ersten versuchen, Code so schnell wie möglich zu schreiben und zur Überprüfung einzureichen, die zweiten sind bereit, so lange wie möglich zu prüfen und zu testen, um alle Fehler zu identifizieren, und die dritten akzeptieren den Code kaum, da Änderungen potenziell sind Risiken für die gesamte IT-Infrastruktur.

    Es stellte sich auch heraus, dass die Operations-Abteilung ein weiteres schwaches Glied ist, das „außerhalb des Geltungsbereichs“ des Agile-Modells liegt.



    2009 begeisterten die Entwickler von DevOps die breite Öffentlichkeit mit der Hoffnung auf eine bessere Zukunft.

    So formulieren sich die noblen Ziele von DevOps:
    DevOps (Entwicklung und Betrieb) ist eine Softwareentwicklungsmethode, die darauf abzielt, Entwicklungsspezialisten und Servicespezialisten für Informationstechnologie aktiv zu interagieren und zu integrieren. Es basiert auf der Idee einer engen Wechselbeziehung zwischen Softwareentwicklung und -betrieb und soll Unternehmen dabei helfen, Softwareprodukte und -dienste schnell zu erstellen und zu aktualisieren.

    Es ist erwähnenswert, dass Agile keine Voraussetzung für die Implementierung von DevOps ist.

    Clyde Logue, der Gründer von StreamStep, drückt es so aus: „Agile spielte eine wichtige Rolle bei der Entwicklung, um das Geschäftsvertrauen wiederherzustellen, aber er ließ versehentlich den IT-Betrieb hinter sich. Mit DevOps kann das Vertrauen in die gesamte IT-Organisation wiederhergestellt werden. “

    Das DevOps-Kochbuch und das Phoenix-Projekt: Ein Roman über IT, DevOps und das Helfen Ihres Unternehmensgewinns beschreiben die zugrunde liegenden Prinzipien, nach denen alle DevOps-Muster mithilfe des Drei-Wege-Ansatzes erhalten werden können:
    Der Erste Weg betont die Leistung des gesamten Systems im Gegensatz zur Leistung eines einzelnen Links oder einer einzelnen Abteilung.

    Der Fokus liegt auf allen Wertstromgeschäftsabläufen, die in der IT enthalten sind.

    Die zweite Möglichkeit besteht darin, eine Rückkopplungsschleife von rechts nach links zu erstellen. Ziel fast jeder Initiative zur Prozessverbesserung ist es, das Feedback zu reduzieren und zu stärken, damit notwendige Änderungen kontinuierlich umgesetzt werden können.

    Der dritte Weg besteht darin, eine Kultur zu schaffen, die zwei Dinge beeinflusst: ständiges Experimentieren, das das Eingehen von Risiken und das Lernen aus Erfolgen und Misserfolgen sowie das Verstehen, dass Wiederholung und Übung die Voraussetzungen für die Beherrschung sind.

    Vielen Kunden zufolge liegt der Wert des beschriebenen Ansatzes darin, dass Sie sich ein vollständiges Bild über das Entwicklungsmodell machen können - unter Beteiligung aller Interessenten, mit klar definierten Prozessen und Integrationsmechanismen.

    Wir haben Experten gebeten, einige Fragen zu beantworten, um herauszufinden, wie es mit DevOps im russischsprachigen Raum läuft.



    Evgeny Ogloblin, DevOps-Unternehmen aus den drei größten russischen:

    1. Welche Unternehmen eignen sich für DevOps?

    Mir scheint das von niemandem genug zu sein. Groß - weil es die Entwicklung, das Testen und die Freigabe von Produkten beschleunigt, klein - weil jeder in den Prozess involviert ist, wird es eine Art Austauschbarkeit der Mitarbeiter geben.

    2. Wie tief ist das Verständnis von DevOps in der russischsprachigen Gemeinschaft?

    Wir haben immer noch viele "klassische Admins", die sich überhaupt nicht für das Produkt interessieren. Sie haben FreeBSD 8 oder CentOS 5, alles funktioniert und fragt nicht nach Essen. Es muss also nichts erfunden werden.

    Darüber hinaus bedeutet die mit DevOps verbundene Automatisierung viel Arbeit, oft mit neuen Technologien, die manchmal nicht einmal den Menschen bekannt sind.

    Meiner Meinung nach hat noch niemand erklären können, was DevOps ist - jedes Unternehmen hat seine eigenen Feinheiten, sein Erbe und dergleichen. Im Allgemeinen sind sich alle einig, dass dies Automatisierung, Standardisierung und eine aktivere Beteiligung der Betriebsabteilung an der Entwicklung ist, aber es gibt nicht so viele von diesen „allen“, wenn Sie als Prozentsatz der Gesamtzahl der IT-Mitarbeiter zählen.

    3. Was sind die Vorteile von DevOps?

    Bei einer erfolgreichen Implementierung von DevOps können Unternehmen in Zukunft auf Folgendes zählen:

    • Automatisierung (Verringerung des Risikos menschlicher Fehler)
    • Beschleunigen und vereinfachen Sie Entwicklungs- und Freigabeprozesse
    • Schnelles Feedback von Benutzern erhalten (Metriken, Überwachung)
    • GEWINN !!!

    4. Was sind die Nachteile von DevOps?

    Es muss noch viel Arbeit geleistet werden.

    Wir dürfen die aktuellen Best Practices früherer Generationen nicht vergessen - dies ist in einem Meer neuer Technologien ganz einfach.

    Aus verschiedenen Gründen ist DevOps möglicherweise nicht für ein Team geeignet, das versucht, ein Thema umzusetzen.

    DevOps ist keine Wunderwaffe (aber schade).

    5. Wie weit verbreitet sind DevOps in der GUS / Russland?

    In den führenden Unternehmen des IT-Marktes hat es sich weit verbreitet. Obwohl es wie immer Ausnahmen gibt. Lebende Unternehmen erkennen jedoch zunehmend den Bedarf an modernen Methoden.


    Evgeny Potapov, CEO von ITSumma:

    1 Welche Unternehmen eignen sich für DevOps?

    Es gibt verschiedene Bedeutungen des Begriffs, verschiedene Ebenen des Verständnisses, was DevOps ist.

    Wenn es sich um eine Kultur der Interaktion zwischen Entwicklung und Betrieb handelt, in der Programmierer die Funktionsweise von Systemen verstehen und über die Fähigkeiten der Systemadministration verfügen, und Administratoren die Prinzipien der Entwicklung verstehen, dann ist dies zweifellos für jedes Unternehmen erforderlich, da ein derart enger Kontakt die Interaktion erleichtert und die Lösung von Problemen beschleunigt liegen oft an der Grenze dieser Gebiete.

    Wenn es sich um eine Reihe spezifischer Vorgehensweisen im Zusammenhang mit Virtualisierung, Containerisierung und Automatisierung des Infrastrukturmanagements handelt, ist das Wichtigste, dass das Unternehmen (und vor allem das Projekt selbst) eine Größe erreicht, bei der der Aufwand für die Organisation dieser Vorgehensweisen geringer ist als Overhead des Infrastrukturmanagements ohne sie.

    2 Wie tief ist das Verständnis von DevOps in der russischsprachigen Gemeinschaft?

    In unserem 21. Jahrhundert sind die Unterschiede zwischen Gemeinden in verschiedenen Ländern nicht so groß, wie Sie vielleicht denken. Ja, wir sind etwas hinter der Zeit zurück, in der neue Technologien zum Einsatz kamen, verglichen zuallererst mit den Unternehmen des Tals, aber dies ist eine Frage von Monaten, nicht von Jahren.

    3 Was sind die Vorteile von DevOps?

    Die Vereinfachung der Kommunikation zwischen Spezialisten führt zu einer schnelleren Interaktion.

    Das klassische Problem verschwindet, wenn Programmierer den Server für alles verantwortlich machen und Administratoren antworten, dass der Code das Problem verursacht.

    Sowohl die Schaffung neuer Funktionen als auch die Lösung alter Probleme werden beschleunigt.

    Durch die Automatisierung können Sie jedoch die ewige Routine und das Chaos in IT-Projekten loswerden.

    4 Was sind die Nachteile von DevOps?

    Das Hauptproblem, das wir jetzt sehen, hängt nicht so sehr mit der DevOps-Methodik selbst zusammen, als vielmehr mit der verstärkten Aufmerksamkeit und dem Hype um neue Technologien oder Praktiken, wenn diese nicht aus Notwendigkeit, sondern aus Interesse an der Technologie selbst angewendet werden.

    Häufig sind die Gemeinkosten für die Implementierung und Unterstützung von Automatisierungsverfahren so hoch, dass sie die Prozesse im Unternehmen nicht beschleunigen, sondern verlangsamen.

    Ja, es ist wirklich wichtig, den Projektcode regelmäßig aktualisieren zu können. Wie oft muss ein kleines Projekt jedoch in der Lage sein, täglich Dutzende Male Code hochzuladen?

    Gleichzeitig sind die personellen und finanziellen Kosten für die Aufrechterhaltung dieser Möglichkeit recht hoch.

    5 Wie verbreitet war DevOps in der GUS / Russland?

    Es gibt entwickelte Communities von DevOps-Spezialisten, es finden Treffen statt, es werden hervorragende Bücher veröffentlicht:



    Die Autoren von DevOps Cookbook und The Phoenix Project: Ein Roman über IT, DevOps und die Unterstützung Ihres Geschäftsgewinns heben die folgenden Geschäftsvorteile von DevOps hervor:


    • schneller Markteintritt (kürzere Zykluszeiten und höhere Einsatzraten);
    • Qualitätsverbesserung (erhöhte Verfügbarkeit, weniger Abstürze usw.);
    • Steigerung der organisatorischen Effektivität (mehr Zeit wird für Aktivitäten aufgewendet, die mit der Steigerung des Produktwerts und des Funktionsumfangs zusammenhängen).

    PS
    Der nächste Schritt zur Optimierung der Teamentwicklung ist möglicherweise die Einführung einer telepathischen Kommunikation zwischen Mitarbeitern aller Abteilungen und sogar mit Kunden.

    Jetzt auch beliebt: