Ich versuche zu bewerten, ob es eine gute Idee ist, von einem Workflow im Devops-Stil zu den traditionellen Dev-Then-Ops überzugehen (nicht sicher, wie Sie das nennen).
Wir sind eine kleine 5-Personen-Abteilung, die in einem traditionellen Medienunternehmen (z. B. ohne Software) mit 4000 Mitarbeitern versteckt ist. Vor zwei Jahren haben wir begonnen, Software zu entwickeln, damit unsere Abteilung unsere Produktion erheblich steigern kann. Wir waren ziemlich erfolgreich und das größere Unternehmen beginnt, auf sich aufmerksam zu machen. Bisher waren wir allein verantwortlich für das Design, die Entwicklung und die Bereitstellung einer AWS-Microservice-Plattform mit ~ 10 Diensten. Unser Team identifiziert sich nicht als DevOps, aber ohne Frage leben wir das DevOps-Leben, wobei jeder Entwickler sowohl mit dem Code als auch mit dem System, auf dem er ausgeführt wird, bestens vertraut ist.
Eine der Fragen, mit denen wir in Kürze konfrontiert werden, ist, welche "Effizienz" zwischen uns und der IT-Abteilung unserer Muttergesellschaft geteilt werden. Unser Projektverantwortlicher bevorzugt normalerweise das Outsourcing gegenüber dem internen Lernen. In unserem Fall bedeutet diese Effizienz wahrscheinlich, dass so viel IT-Arbeit wie möglich von unserem Teller kommt. Derzeit würde ich sagen, dass unser Team eine 70/30% ige Aufteilung zwischen Erfahrung im Codieren und Infrastruktur hat. Die IT-Abteilung befindet sich fest im IT-Bereich, ohne sichtbaren Übergang zur Softwareentwicklung.
Unser Projektbesitzer (eine nicht technische Person) hofft, dass wir durch die Übergabe so viel Arbeit wie möglich an das IT-Team eine Produktivitätssteigerung von ~ 1: 1 für jede Stunde Betriebsarbeit erzielen, die wir verlieren. Ich bin allerdings skeptisch. Unser Produkt befindet sich noch in der Vor-Beta-Phase (obwohl es bereits ein bedeutendes Geschäftsgut ist). Aufgrund unserer begrenzten Erfahrung mit der IT-Abteilung kommt es normalerweise zu erheblichen Verzögerungen bei einfachen Änderungen der Berechtigungen für das Dateisystem.
Im Moment wäre meine ideale Lösung, dass die IT-Abteilung uns "adoptiert" und es uns ermöglicht, unsere eigene Arbeit weiter zu implementieren und gleichzeitig sicherzustellen, dass wir die Standards und Anforderungen des IT-Büros erfüllen. Ich bin mir nicht sicher, wie realistisch das ist. Außerdem ist es fast der umgekehrte Ansatz, den unser Projektbesitzer befürwortet, da kurzfristig zusätzliche Betriebsarbeiten hinzukommen würden.
Was sind in unserer Situation die wahrscheinlichen Vor- und Nachteile eines Verbleibs beim DevOps-Ansatz im Vergleich zur Übergabe der IT?
quelle
Antworten:
Das ist keine gute Idee.
Nach meiner Erfahrung werden Sie die Nachteile von beiden gewinnen, während projizierte Vorteile irgendwie nicht eintreten werden.
Aufgeschlüsselt:
Die IT entspricht ihrem eigenen Standard. Die neue Aufgabe (für sie) folgt der gleichen "trägen" Vorlage, die ihre gesamte Arbeit jetzt hat. Seien Sie darauf vorbereitet, dass sie es herausfordernd finden - also noch weniger Geschwindigkeit als einfache Standardaktionen.
Die IT wird sich bei jeder einzelnen Anomalie auf euch stützen. Sie werden sich bemühen, einen Mann auf den neuesten Stand zu bringen - und als nächstes werden Sie sich wiederholen, weil bei der folgenden Aufgabe / dem folgenden Problem / dem folgenden Tag wieder ein neuer Mann anwesend sein wird.
Das Verhalten der Vorlagen besteht wiederum darin, dass kurze Handbücher nicht jede Anomalie erkennen und gründliche Texte nicht zu lang gelesen werden. Jede Investition hier ist also ein Verlust, ebenso wie der enorme Aufwand, der erforderlich ist, um Verbesserungen zu implementieren, damit Ihre Tools in Schrumpffolie verpackt werden.
Last but not least werden sich alle Probleme auf euch auswirken. Teer, Tarbrush-Prinzip.
Wenn das oben Genannte zynisch klingt, fürchte ich, ich war dort. Wiederholt.
Was ist stattdessen zu tun?
Gehen Sie in der IT-Abteilung einkaufen, suchen Sie sich einen nützlichen Kandidaten und lassen Sie diesen Kerl "ausgeliehen", um Ihre Arbeitsbelastung zu verringern.
quelle
Viele der Antworten finden Sie im Ergebnis der DevOps-Umfrage, die Sie vom Produktbesitzer lesen lassen sollten. Dies ist ein Dokument, das speziell für Geschäftsleute mit wenig technischem Wissen geschrieben wurde, die in den Begriffen sprechen, die er verstehen sollte.
Im Durchschnitt benötigen Sie 1 zusätzlichen Entwickler pro 4 Personen, um den gleichen Grad an Funktionsentwicklung beizubehalten (38% gegenüber 49% der für neue Arbeiten aufgewendeten Zeit). Ihre durchschnittliche Zeit, um sich von einem Fehler zu erholen, sinkt bis zu 25 Mal. Ihre Arbeit wird 20% weniger Spaß machen und Sie werden Ihre Arbeit mit 40% Wahrscheinlichkeit einem Freund empfehlen. Nur diese drei Tatsachen sollten ausreichen.
quelle
Was Sie verlieren, wenn Sie sich in die IT-Organisation einfügen, ist der "Dev" -Teil Ihres kleinen DevOps-Teams. Wenn Teams in künstliche Rollen von NetOps, SysOps und Dev unterteilt werden, treten die folgenden Probleme auf:
Kurz gesagt, Sie sollten Ihrem Projektbesitzer vorschlagen, sich die Zeit zu nehmen, um The Mythical Man-Month zu lesen, um ihn von der Vorstellung abzubringen, dass Sie eine 1: 1-Beziehung in Bezug auf Produktivität und The Phoenix Project sehen werden, das ein guter Roman ist (und unterhaltsame) Darstellung dessen, was durch die Verwendung von DevOps in nichttechnischer Sprache für nichttechnische Personen gewonnen und verloren wird. Wenn der Projektbesitzer irgendeine Art von Pendelverkehr hat, ist ein Hörbuch von The Phoenix Project verfügbar.
quelle
Ich würde vorschlagen, dass Sie einen Teil des IT-Teams übernehmen und es gründlich in das neue System schulen.
Sobald sie das System vollständig verstanden haben, ist es sinnvoll, es an sie auszulagern.
Andernfalls werden Sie zu einem Support-Center für IT - und verbringen viel Zeit mit der Brandbekämpfung, um die Feinheiten des neuen Systems kennenzulernen.
quelle