Mit DevOps die Entwicklung beschleunigen

Mit DevOps die Entwicklung beschleunigen

scanplus Redaktion
06. März 2019

DevOps ist ein Kunstwort, in dem die Begriffe „Development" und „Operations" stecken und das noch weitere Inhalte zu bieten hat. Mit DevOps werden Entwicklern Ressourcen sehr schnell und unkompliziert per Self-Service und Automatisierung bereitgestellt. Außerdem verbessert sich das Zusammenspiel von Entwickler- und Operations-Teams. Wie bei scanplus mit Open Shift entwickelt wird und welche Ziele damit vor allem intern verfolgt werden, erklärt Tobias Genannt vom Service Design-Team der Ulmer Cloud Factory im folgenden Tech Blog.

Bereits die agile Softwareentwicklung sorgte in den vergangenen Jahren dafür, dass deutlich mehr im Teamwork programmiert und entwickelt wurde. Mit DevOps wurde dieser Ansatz der bereichsübergreifenden Zusammenarbeit weiter fortgeschrieben. Neben den automatisierten Test- und Review-Zyklen sorgen auch standardisierte Tools und Prozesse dafür, dass in der Entwicklung die Produktivität gesteigert werden kann. Schneller, hochwertiger, stabiler – DevOps sorgt für dynamische Prozesse und oftmals sogar für eine weitere positive Veränderung der Unternehmenskultur.
 
Das Ulmer IT-Unternehmen scanplus setzt in seinem Entwickler-Pool auf OpenShift, eine von Red Hat entwickelte Container-Anwendungsplattform. „Die Software unterstützt uns dabei, unsere Prozesse zu automatisieren. Mit Red Hat als Linux-Betriebssystem arbeiten wir bereits länger sehr erfolgreich. Die OpenShift-Produkte haben wir dann vor knapp drei Jahren ins Portfolio aufgenommen“, sagt Tobias Genannt, der auch von einer zunächst noch vorsichtigen Annäherung zu berichten weiß. Als man bei scanplus begann, intern mit OpenShift zu entwickeln und zu testen, um die Automation weiter voranzutreiben, war das nicht bei allen Kollegen Liebe auf den ersten Blick.
 
„Man muss dieses DevOps-Konzept erst einmal kennenlernen und sich mit seiner Art zu denken anpassen“, erklärt Genannt. „Es ist eine andere Art und Weise zu entwickeln. Um ein Beispiel zu nennen: Man muss darauf achten, dass die Anwendung stateless ist. Das heißt, es werden keine Daten innerhalb der Anwendung gespeichert, sondern in einer externen Speichermedium. Die Logik der Anwendung kann jederzeit neu deployed werden, ohne dass dabei Informationen verloren gehen. Weil damit aber ein Umdenken verbunden ist, hat es schon eine gewisse Zeit gedauert, bis OpenShift voll akzeptiert wurde. Seitdem man sich allerdings daran gewöhnt hat, ist die Begeisterung über die Möglichkeiten sehr groß.“
 
Im Rahmen einer kontinuierlichen Verbesserung wurden interne Abläufe automatisiert. Unter anderem durch das kollaborative Review-Tool Gerrit, das die Möglichkeit bietet, alle Änderungen in einem Projekt-Rahmen von einem oder mehreren Benutzern bestätigen zu lassen, bevor sie in den Source Code integriert werden. „Jeder Entwickler hier bei scanplus muss seine Änderung einreichen und erst wenn diese von den Kollegen als gut befunden wurde – und das gilt für jeden von uns – wird sie im Rahmen des Build-Managements in den aktiven Zweig des Quelltextes eingepflegt“, erklärt Tobias Genannt.
 
Um zuverlässig und sicher entwickeln zu können benötigen Unternehmen Staging-Umgebungen für die Entwicklung, Abnahme und schließlich Produktion. Eine Herausforderung dabei ist es, diese Umgebungen soweit möglich gleich zu halten, ohne dabei von der darunterliegenden Infrastruktur abhängig zu sein. Container eigenen sich hierbei besonders gut da sie über alle notwendigen Informationen verfügen, um schnell und einfach in den verschiedenen Umgebungen betrieben werden zu können. Zudem ist die Qualitätssicherung in der Testumgebung immer auf dem aktuellen Stand.
 
Doch zurück zu OpenShift. Ein entscheidender Faktor in der Entwicklung ist, dass Testphasen sehr schnell starten können. „Wir haben beispielsweise Templates gebaut, mit denen wir eine Instanz unserer Automatisierungsumgebung, mit allem was dazugehört, mit wenigen Klicks aufstellen können. Wenn also ein Kollege an einem neuen Feature arbeitet, welches die andere Entwicklungsarbeit nicht beeinflussen soll, dann kann er sich im OpenShift seine eigene Umgebung bereitstellen und in dieser entwickeln und testen. Diese Instanz kommuniziert mit den oder konfiguriert die Test-Umgebungen des vCenter und der ACI. Das Aufstellen einer solchen Testumgebung dauert ungefähr 10 Minuten. Wenn er sich diese ganzen Komponenten nativ auf VMs oder anderen Systemen bereitstellen lassen müsste, würde das deutlich länger dauern“, weiß Tobias Genannt. Heute können unsere Entwickler selbstständig eine Testumgebung erstellen, verwenden und auch wieder löschen.
 
OpenShift eignet sich nicht allein für Test-Zwecke oder die Entwicklung. So wird schon bald das kundenfreundliche Service Center von scanplus, das bereits viele Nutzer der Managed IT-Services der Deutschen Telekom nutzen können, im OpenShift laufen. Alternative Plattformen wurden übrigens auch getestet, doch es zeigte sich sehr schnell, dass OpenShift deutlich angenehmer zu administrieren ist. Mit Red Hat arbeitete man bereits. Als das Unternehmen dann neben den ganz Großen wie Amazon, Microsoft oder Google auch bei Platform as a Service (PaaS) mitmischte, entschied man sich auch wegen der grundsätzlichen Philosophie, die ihren Nährboden in Open Source hat, für OpenShift. „Wenn ich meine Anwendungen entsprechend schreibe, funktionieren sie auch in anderen Systemen. Letztendlich baut OpenShift Docker-Container (eine Art Industriestandard), und ich kann meine Anwendung überall laufen lassen, wo Container betrieben werden. Hier ist also auch die Abhängigkeit vom Produkt nicht so stark.“
 
Ein weiterer Vorteil:  Da diverse Software-Entwickler ihre Systeme mittlerweile auch als Docker-Container bereitstellen, kann man auch Third-Party-Komponenten integrieren und in der Entwicklung nutzen und beispielsweise bei Docker Hub bezüglich der Neuheiten auf dem Laufenden bleiben. OpenShift ist also ein Beschleuniger in den Entwicklungsabteilungen von scanplus und hat für das schnelle und effiziente Arbeiten enorme Fortschritte gebracht. Mit sogenannten Rolling Releases lassen sich neue Software-Versionen fließend einspielen, da durch das neue Container Image beim Start des Releases die alten Versionen nach und nach abgeschaltet und durch Container in der neuen Version ersetzt werden. Alles einfach via Mausklick. „In der alten Welt hätte man sich nacheinander auf alle VMs einloggen, das Release installieren und diese dann prüfen müssen“, sagt Tobias Genannt. „Das war natürlich deutlich aufwändiger und auch fehlerträchtiger, denn wenn man manuell installiert, kann man sich zum Beispiel bei der Versionsnummer vertippen oder einen anderen Fehler machen. Mit einem vorgefertigten Container existiert diese Fehlerquelle nicht mehr.“

 

Wir verwenden Cookies, um Inhalte zu personalisieren und die Zugriffe auf unsere Website zu analysieren. Details ansehen