DevOps: Miteinander statt gegeneinander

Was in der Theorie einfach und klar erscheint - nämlich die Selbstverständlichkeit, dass alle Mitarbeiter an einem Strang ziehen und ein gemeinsames Interesse haben, Projekte schnell und reibungslos umzusetzen, sieht in der Praxis oft anders aus. Zu groß sind die Unterschiede in den Denk- und Handlungsweisen der einzelnen Bereiche, zu konträr die Interessen.


Softwareentwicklung und IT-Betrieb Hand in Hand

 
Ein Ansatz, Entwickler, Tester, Administratoren und eventuell auch Kunden an einen Tisch zu bringen und eine bereichsübergreifende Zusammenarbeit sicherstellen, verbirgt sich hinter DevOps. Der Begriff setzt sich aus Development und IT-Operations zusammen und hat zum Ziel, Umsetzungsprozesse durch ein effizientes Miteinander zu beschleunigen. Bei DevOps geht es aber nicht nur um die Geschwindigkeit, sondern vor allem auch um die Reduzierung von Fehlern durch die Verringerung der Komplexität. Es soll die Voraussetzung geschaffen werden, um eine agile Softwareentwicklung nicht nur technisch, sondern auch menschlich zu ermöglichen.
 
Der Ansatz geht weit über Software-Unternehmen hinaus und ist für alle Branchen relevant. Denn es gibt heute kaum ein Unternehmen, dessen Abwicklung des Kerngeschäftes nicht mit Software unterstützt wird oder komplett darauf basiert.

 

Tools für mehr Transparenz

 
Entscheidend für eine Prozess-Optimierung ist die Automatisierung von Vorgängen unter anderem durch die gemeinsame Nutzung von Tools zwischen Entwicklung und Betrieb. Das schafft mehr Transparenz, sorgt für eine höhere Qualität und hilft, Konflikte zwischen den Abteilungen und den verwendeten Infrastrukturen zu vermeiden.
 
DevOps ist kein Selbstläufer, sondern setzt die Akzeptanz und das Mitmachen aller Beteiligten voraus. Sowohl die Software-Entwicklung als auch der IT-Betrieb sind gefragt. Folgende "gute Vorsätze" können ein erster Schritt in eine kooperative Zukunft sein.
 
Anforderungen an Entwicklung:

  • Auseinandersetzung mit Aspekten aus dem Betrieb (wie zum Beispiel Planung und Durchführung von Deployments)
  • Einsatz von gemeinsamen Tools
  • Infrastructure as Code (Während der Entwicklung werden im Quellcode der Anwendung bereits Daten hinterlegt, die die Installation, Konfiguration und Nutzung des Codes in der IT-Infrastruktur näher bestimmen.)

 

Anforderungen an IT-Betrieb:

  • Einsatz von mehr Automatisierung (Versionskontrolle, Tests...)
  • Einstellung auf häufige Releases
  • Einsatz von gemeinsamen Tools
  • Infrastructure as Code
 
Auf diese Weise können Prozesse abgekürzt werden. Denn anders als bei der klassischen Vorgehensweise, wo eine Software erst entwickelt, getestet und qualitativ überprüft wird, bevor sie in eine Produktivumgebung migriert wird, verläuft der Übergang fließend und dadurch schneller.