Entwickler und die Administratoren einer Datenbank: Das können zwei verschiedene Welten unter einem Datendach sein, fast wie Feuer und Eis oder Sicherheit und Wagnis. Denn auch, wenn beide Seiten ein gemeinsames Ziel vor Augen haben – die Weiterentwicklung und stabile Prozessabläufe innerhalb ihrer Datenbank – so haben beide grundlegend andere Ansätze, wie sie dieses Ziel erreichen. „Es gibt Administratoren, die behaupten, Entwickler würden nicht sauber programmieren“, sagt Ferdinand Prahst. „Und es gibt Entwickler, die behaupten, Administratoren würden den Fortschritt verzögern oder sogar blockieren.“ Prahst ist Lead Consultant und Teamleiter im Bereich Operational Services bei ITGAIN und weiß, dass diese Konstellation in Unternehmen zu Spannungen führen kann. Die Ursache hierfür liegt im unterschiedlichen Verständnis von Erfolg, das in den Abteilungen vorherrscht. Datenbankadministratoren messen ihre Erfolgsquote in Stabilität. Das heißt, je weniger Fehler passieren, desto besser. Entwickler hingegen messen ihren Erfolg anhand der Anzahl von neuen Features, die sie programmieren. Und Letztere wollen neue Applikationen so schnell wie möglich „live“ sehen. Kurzfristige Planung und Umsetzung ist bei einem Datenbankbetrieb aber eigentlich nicht vorgesehen. Eigentlich. Denn genau an diesem Punkt gibt es Lösungen, mit denen sich beide Abteilungen einander annähern. ITGAIN verwendet hierfür einen Ansatz, um Kunden individuell zu helfen. Sein Name: DevOps.
Ein neues Mindset
„Die Einführung von DevOps ist eine der anspruchsvollsten Aufgaben, die ich kenne“, sagt Ferdinand Prahst. DevOps, eine Kombination aus Development (Dev) und DB-Betrieb (Ops), ist ein Ansatz, der die Zusammenarbeit der Entwickler und der Datenbankadministratoren verbessern soll. „Die Product-Owner würden gerne zügig vorankommen, weil sie die wirtschaftliche Seite einer Entwicklung im Blick haben müssen“, sagt Prahst. „Das ist für einen Mitarbeiter im Datenbankbetrieb nicht so einfach umsetzbar, weil jede Änderung erst einmal unzähligen Tests und Qualitätsprüfungen standhalten muss, bevor sie live gehen kann. Und das kostet einfach Zeit.“ Zeit, die ein Entwickler nur ungern investiert.
Ein Beispiel macht es deutlich: Wenn etwa die Banking-App mit Datenbankanbindung nicht ApplePay-fähig ist, sollte sie es schnellstmöglich werden. Monatelange Tests sind aus Wettbewerbssicht kritisch. „Unter Software-Entwicklern gibt es einen Spruch: Eine App ist wie eine Banane, sie reift beim Benutzer“, erklärt Prahst mit einem Lachen und ergänzt: „Für Entwickler ist es vollkommen in Ordnung, wenn eine App in der Beta-Version live geht und vielleicht nur zu 80 Prozent rund läuft. Die restlichen 20 Prozent werden im nächsten Sprint erledigt und Fehler direkt in der Produktion gefixt.“ Und das sei wohl der größte Unterschied zwischen beiden Abteilungen. Die einen denken in Sprints, die anderen sind eher Marathonläufer. „Wenn wir DevOps bei einem Kunden einführen, gilt es am Anfang ein neues Mindset zu etablieren. Wir müssen klarmachen, dass Entwickler und Administratoren auf einer Welle sein können“, sagt Ferdinand Prahst. „Sie arbeiten dann zusammen in einer Geschwindigkeit. Wir lassen sie praktisch Joggen und nicht sprinten oder Langlaufen.“
Die Einführung von DevOps ist eine der anspruchsvollsten Aufgaben, die ich kenne."
FERDINAND PRAHST, LEAD CONSULTANT UND TEAMLEITER BEREICH OPERATIONAL SERVICES
Schritt für Schritt
Die ITGAIN Consultants bauen dieses Mindset Schritt für Schritt in den Fachabteilungen auf. „Wir können nicht mit dem groben Hammer kommen und alles auf einmal umkrempeln“, so Prahst. „Zu unseren Kunden zählen unter anderem große traditionelle Finanzdienstleister oder Versicherer. Wenn wir dort zu viele Unternehmensstrukturen verändern, würde das den laufenden Betrieb unnötig stark beeinträchtigen. Wir reden hier ja nicht von Unternehmen wie Spotify.“ Dieser Verweis kommt nicht von ungefähr: Bei dem schwedischen Musikstreaming-Anbieter wurde nämlich von vornherein alles im DevOps-Ansatz strukturiert. Das heißt, es gibt nur kleine Teams aus Entwicklern und Administratoren, die sich um konkrete Features kümmern, wie etwa Playlists. Statt Betrieb und Entwicklung getrennt alles gleichzeitig machen zu lassen, geht es bei DevOps also eher darum, gemeinsam kleinere Teile zu managen und weiterzuentwickeln. „Und das funktioniert auch bei den traditionellen Unternehmen. Wir müssen ihnen nur erklären, wie“, sagt Prahst. Der Administrator muss daran gewöhnt werden, in Sprints zu denken und dem Entwickler muss erklärt werden, warum das im laufenden Betrieb nicht so einfach ist. Hier ist die richtige Kommunikation gefragt. „Und dabei können Open-Source-Tools sehr nützlich sein“, erklärt Prahst. „Sie sind einerseits frei verfügbar und lassen sich andererseits gut anpassen. Ihre Vielfalt ist so groß, dass sich darunter auch Tools finden, über die speziell unsere beiden Zielgruppen leichter miteinander kommunizieren können.“
Welche Tools das sind und wie ITGAIN den Unternehmen hilft, das richtige zu finden, darum geht es in Teil 2 unserer DevOps-Reihe.