DevOps – relevant oder überbewertet?
IT-Buzzwords kommen und gehen. Allzu oft steckt auch einfach nur alter Wein in neuen Schläuchen und sie gehen ähnlich schnell vergessen wie Namen von Casting-Show-Siegern. Für DevOps, die Verbindung von Development (Software-Entwicklung) und Operations (Systemadministration), existieren etliche Definitionen und Interpretationen.
Der Grundgedanke von DevOps liegt in einem verbesserten Zusammenspiel von Entwicklung und Betrieb.
Ist DevOps relevant? Und für wen? DevOps als Begriff existiert ja auch bereits seit einigen Jahren. Zumindest für unsere Teams hat das Thema stetig an Bedeutung gewonnen. Werden wir konkreter anhand zwei unserer Geschäftseinheiten: die Web-Agentur, welche Webs-Anwendungen entfwirft und umsetzt sowie unserem Datacenter, welches diese betreibt und pflegt:
Web-Agentur
Unsere Designer und Entwickler arbeiten agil und möchten unseren Kunden möglichst schnell neue Versionen bereit stellen. Das kann schon mal zu Spannungen mit den Systemadministratoren führen, welche in jeder Veränderung (Change) einen potentielle Bedrohung des stabilen Betriebs sehen. DevOps bedeutet für unsere Teams:
- Kultur: Abteilungs-übergreifendes Verständnis, Teamwork und Vertrauen, kurze Wege durch gemeinsame/angrenzende Räumlichkeiten.
- Wissen: Entwickler können auf das Wissen der Spezialisten zu Betriebssystem, Webserver, Datenbank, Sicherheit zählen (und umgekehrt!)
- Richtlinien und Prozeduren: z.B. Benennungskonventionen, Best Practices; 3-stufige Website-Entwicklung (Lokal, Abnahme, Produktiv)
- Werkzeuge: Nutzung professioneller Werkzeuge, u.a. Visual Studio (IDE), Team Foundation Server (ALM), TFSVC/Git (Versionskontrolle)
Datacenter
Praktisch alle Systeme in unserem Datacenter sind virtualisiert. Neue Server und Dienste müssen schnell und kostengünstig bereitgestellt werden. Ob Netzwerk, Webserver, Mailserver, neue Benutzerkonten: der Systemadministrator führt dies deshalb unter Linux und inzwischen auch unter Windows nicht mit Mausklicks, sondern mit vorbereiteten Skripts aus. Dies minimiert zudem Flüchtigkeitsfehler, welche bei manuellen Arbeiten durchaus auftreten können. Der DevOps-Ansatz ist damit auch für Systemadministratoren, welche sich mehr und mehr mit agilen Methoden der Software-Entwicklung konfrontiert sehen, sehr relevant.
Lohnt sich der Einsatz von DevOps?
Je nach Ausgangslage sollte der erstmalige Aufwand nicht unterschätzt werden; auch anschliessend lebt DevOps nur durch stetes Hinterfragen und Optimieren. Als Entwickler wie auch Unternehmer empfehle ich sehr, DevOps zu thematisieren.
Ausser Du bist professioneller Designer, Entwickler und Systemadministrator in Personalunion – aber dann würdest Du DevOps mit grösster Wahrscheinlichkeit bereits stillschweigend umsetzen.
Sind Prozesse und Infrastruktur mal etabliert, überwiegt der Nutzen bei weitem; es profitieren bereits kleine Web-Projekte. Altlasten und quick&dirty fixes holen Dich meistens ein – oder zumindest Deinen Nachfolger!
Eine andere, informelle aber treffende Beschreibung von DevOps (Quelle: unbekannt):
DevOps – taking the SH out of IT!
Uns interessiert Deine Meinung: Was bedeutet DevOps für Deine Welt?