Unser Team aus erfahrenen IT-Spezialisten bündelt Expertise aus Infrastruktur, Softwareentwicklung, Konfiguration, Build and Deployment und Betriebsprozessen. Durch das Zusammenwirken dieser Kompetenzen lösen wir Probleme ganzheitlich und schaffen nachhaltig Wert für unsere Kunden. Die gegenseitige Unterstützung und Kooperation ist dabei genauso selbstverständlich für uns wie die Weitergabe und ständige Ausbau von Wissen.
Die devops excellence AG verfolgt in Sachen Devops einen pragmatischen Ansatz. Er ist auch für gewachsene IT-Organisationen mit einer entsprechend großen Population von Legacy-Anwendungen geeignet.
CIOs, IT-Verantwortliche oder auch Projektleiter stellen sich DevOps als radikalen organisatorischen und prozessualen Umbau der IT und der angrenzenden Schnittstellen im Business vor. Sie gehen davon aus, dass DevOps mit den Themen Continuous Build, -Integration und –Deployment sowie Konzepten wie „you build it, you run it“ zwangsläufig zu einer Zusammenlegung der verschiedenen IT-Bereiche führt. Danach, so die landläufige Vorstellung, übernehmen interdisziplinäre Teams die IT-Systeme über ihren gesamten Lebenszyklus hinweg, beginnend bei der Planung, über die Entwicklung bis hin zum Betrieb.
Doch für große Unternehmen mit gewachsenen IT-Strukturen und/oder aus stark regulierten Branchen greifen solche radikalen DevOps-Ansätze nur bedingt. Nicht nur, weil sie ihre bisherigen Organisations- und Prozessstrukturen (z.B. ITIL) in Frage stellen, sondern auch, weil die Skalierung der agilen Vorgehensweisen auf große Entwicklungsbereiche (>100 Mitarbeiter) etliche Herausforderungen bereithält. Man denke nur an die Zahl der unterschiedlichen Entwicklungsumgebungen und die verschiedenen Releases, die die Testumgebungen zu jeder gegebenen Zeit durchlaufen. Auch die Automatisierung von Tests, die über die Unittests hinausgehen, ist alles andere als trivial.
Um also auch etablierte IT-Abteilungen in größeren Unternehmen in den Genuss einer kürzeren Cycle Time – die Zeit, die von einer genehmigten Anforderung bis zur Bereitstellung einer Anwendung vergeht - zu bringen, setzt devops excellence auf folgende Kernthemen:
Um der höheren Veränderungsgeschwindigkeit durch fortlaufende Optimierungen Rechnung zu tragen, müssen möglichst viele Abläufe und Ereignisse automatisiert werden. Das beginnt bei der automatisierten Qualitätsprüfung des Codes nach definierten Codemetriken. Auch die Anwendungen werden auf Basis von Komponenten-, Modul- Integrations- und End-to-End-Tests automatisch überprüft. Insgesamt spielt die Testautomatisierung im DevOps-Ansatz eine wichtige Rolle, da sie mit sicherstellt, das Qualitätsprüfung integraler Bestandteil der Prozesskette ist und zwar ohne die Beteiligten zu überfordern.
Mit dem Continuous-Build-Paradigma und damit der Abkehr von festen Release-Zyklen wächst die Komplexität des Gesamtsystems. Diese lässt sich nur mit einem durchgängigen Konfigurationsmanagement bewältigen, das sich über Software und Infrastruktur/Plattform erstreckt. Dabei berücksichtigen wir folgende Erfolgsfaktoren:
Die durchgängige, zentral organisierte Automatisierung sowie der Einsatz möglichst gleicher Tools fördern das Zusammenrücken der Bereiche Entwicklung und Betrieb. Das gilt auch für das frühe Erkennen und Berücksichtigen von Abhängigkeiten zum Beispiel zwischen Software und Plattform. Dem tragen wir zum Beispiel Rechnung, indem wir größeren Infrastrukturveränderungen immer Verbundtests mit der in Produktion befindlichen Software vorausschicken. Um Unstimmigkeiten zwischen Entwicklung und Betrieb zu vermeiden, schreiben wir darüber hinaus vor jedem umfangreichen Roll-Out Drehbücher, die mit den beiden Bereichen einer Generalprobe unterzogen werden. Last but not least achten wir darauf, dass auch Mitarbeiter eingesetzt werden, die Erfahrungen in beiden Welten gemacht haben. Auf diese Weise lässt sich schneller ein tieferes Verständnis zwischen Entwicklung und Betrieb erzeugen.
Um IT-Abteilungen mit DevOps-Projekten nicht zu überfordern, sollte ein Projektpartner immer auch die IT-Prozesse des Unternehmens im Blick behalten. Deshalb organisieren wir einen ständigen Austausch zwischen Entwicklung und IT-Betrieb, um stets jede Seite über Änderungen und ihre Auswirkungen auf dem Laufenden zu halten. Ebenfalls bewährt hat sich die Angleichung der Abläufe für Entwicklung, Test und Produktion. Insbesondere werden die gleichen Konfigurations- und Deployment-Prozesse angewendet und für gleiche Aufgaben auch gleiche Tools eingesetzt. Das macht die (gemeinsame) Fehlersuche einfacher und fördert das Verständnis füreinander.
Doch trotz definierter Prozesse und reglementierter Zeitpunkte für neue Releases müssen Wege geschaffen werden, um einzelne funktionale Anforderungen und Hotfixes schnell produktiv zu setzen, ohne Compliance-Regeln zu verletzen. Je enger sich die beiden Bereiche abstimmen, desto stärker ziehen sie an einem Strang und desto schneller lassen sich Funktionsänderungen im Produktionsbetrieb realisieren. Devops excellence unterstützt mit seinen Mitarbeitern, von denen viele bereits in bereichsübergreifenden Teams gearbeitet haben, die Abstimmungsprozesse und schlägt Formate dafür vor.
Diesen pragmatischen DevOps-Ansatz verfolgen wir, um Unternehmen einerseits den Übergang von einer streng arbeitsteiligen IT in eine Organisationsform zu erleichtern, in der die Mitarbeiter auch für die angrenzenden Bereiche im Entwicklungs- und Produktionsprozess Verantwortung übernehmen. Andererseits hilft diese Vorgehensweise auch den Unternehmen, die ihre Organisation und Prozesse nicht ändern wollen, sondern - ebenfalls ganz pragmatisch – in den Genuss von kürzeren Cycle Times kommen wollen.