H-KA: Rebranding, Relaunch und Infrastructure-as-Code

H-KA: Rebranding, Relaunch und Infrastructure-as-Code

Hochschule Karlsruhe präsentiert neues Design

Hochschule Karlsruhe präsentiert neues Design

Ein fünfzehnköpfiges Team seitens in2code hat sich um die technische Umsetzung der neuen Anforderungen in TYPO3 gekümmert. Dies beinhaltete Projektmanager, Entwickler, DevOps- und Infrastruktur-Experten. Um die Projektzeit möglichst gering zu halten, haben eine Vielzahl an Redakteuren aus den unterschiedlichsten Fachbereichen die Inhalte neu aufbereitet, während parallel immer wieder neue Code-Stände auf den Servern ausgerollt wurden.

Wir glauben, dass das auch für Außenstehende ein spannendes Projekt war und wollten es uns daher nicht nehmen lassen, die beiden verantwortlichen Köpfe hinter dieser Aufgabe Martin Huber und Sandra Pohl zu ihren letzten Tagen zu interviewen.

Martin Huber, CTO + Lead of Server in2code

F: Hi Martin, was ist deine Position bei in2code und was hast du bei h-ka.de gemacht?

Als CTO bei in2code und kümmere mich hauptsächlich um die Technik im Hintergrund und um unsere eigene technische Weiterentwicklung. Hierbei ist es eine meiner Hauptaufgaben das DevOps-Prinzip in den Köpfen aller Kollegen zu fördern und zu verfestigen.

Die h-ka.de ist ein Projekt, bei dem wir komplett neue Wege gehen wollten. Vor allem im Bereich der Server im Rechenzentrum der Hochschule, die von uns installiert, konfiguriert und gewartet werden. Unser Ziel war und ist ein ganzheitlicher DevOps-Ansatz. Dazu gehörten die Bereiche Infrastructure-as-Code (IaC) und vor allem eine vollständige Automatisierung mit Gitlab CI (Continous Integration) und die Containerisierung des kompletten Software-Stacks auf Basis von Docker. Mein Job ist das gemeinsam mit den Kollegen zu konzipieren und natürlich auch umzusetzen.

F: Wer hat alles an dem Infrastruktur-Projekt mit gearbeitet?

Sehr viele! Durch den DevOps-Ansatz ist es zwingend notwendig, das sich Entwickler und Systemadministratoren eng abstimmen. Somit war initial das komplette Administratorenteam und ein Entwickler von Anfang an mit der Konzeption und Umsetzung beschäftigt. Nachdem die Grundzüge der Infrastruktur definiert und zum Teil auch umgesetzt waren, kamen der Reihe nach immer mehr Entwickler hinzu.

F: Was hat dieses Projekt so besonders gemacht?

Ziel war ein ganzheitlicher Ansatz der alle Beteiligten, auch über die verschiedenen Zuständigkeitsbereiche wie Serverbetriebssysteme und Anwendungsentwicklung hinaus, gemeinsam am selben Code arbeiten lässt. Das haben wir letztlich dann auch geschafft.

F: Welche Vorteile ergeben sich aus dem Konstrukt?

Der größte Vorteil ist die Gesamtheit des Projekts an einer Stelle. Damit sind wir in der Lage, Änderungen welche etwa übergreifend zwischen Serverkonfiguration und Anwendung sind, zeitgleich auf die Server auszurollen und auszuführen. Ein Beispiel wäre etwa die Anpassung einer PHP-Version, die wir nun zentral an einem einzigen Punkt einstellen können. Wenn wir das Projekt nun bauen, testen und deployen lassen, wird vollautomatisiert der Server vorbereitet und die Anwendung mit dieser geänderten PHP-Version ausgerollt. Da wir natürlich mit verschiedenen Instanzen arbeiten, wie etwa einer Develop-. Release- und Liveinstanz, können wir solche Anpassungen auch nur über eine einzige Instanz ausrollen und testen. Konkret heißt das auch, dass Entwickler lokal, Product Owner auf einem Release-System und die Redakteure auf den Live-System alle mit der exakt gleichen Serverkonfiguration arbeiten. Spezifische Fehler können so nun auch schon früh erkannt und beseitigt werden.

Ein weiterer Vorteil durch den Infrastructure-as-Code ist die immer aktuelle Dokumentation. Da keine Einstellungen etwa auf dem Server über einen Befehl auf der Kommandozeile von einer Person angepasst werden, sondern immer über die automatische Provisionierung erfolgt, sind diese immer von allen Beteiligten nachvollziehbar. Auch der sogenannte Schneeflocken-Effekt wird dadurch vermieden. Dieser beschreibt, das sich die Konfigurationen von ähnlichen Servern nach längerer Laufzeit immer weiter von einander unterscheiden.

Zusätzlich ist durch die Verwendung von Docker als Container-Engine möglich, einzelne Instanzen auf unterschiedlichen Software-Versionen laufen zu lassen. Die Instanzen sind somit nicht davon abhängig, welche Version einer Software direkt auf dem Server installiert ist sondern bringt die jeweils benötigte Version abgekapselt in einem eigenen Container mit.

F: Du klingst ja richtig begeistert. Welche Hürden gab es denn bei der Umsetzung?

Es gab zwar keine größeren Schwierigkeiten, dafür aber eine Menge kleinerer Probleme (lacht). Aber das bringt ein Projekt in dieser Größenordung einfach mit sich. Rückblickend ist es noch wichtiger, dass die Kommunikation zwischen den verschiedenen Teams und der unterschiedlichen Verantwortungsgebiete gut funktioniert.

Übrigens: Ich bekomme immer wieder die Frage gestellt, warum wir uns für diesen Weg entschieden haben. Da lautet meine Antwort dann einfach: "Es ist auch komplex wenn wir es anders machen. Aber jetzt machen wir die Komplexität sichtbar."

F: Hast du noch einen Tipp für ähnliche Projekte?

Ich würde genau so einen Weg wieder gehen: Infrastructure-as-Code und die damit verbundene Containerisierung und Vollautomatisierung. Je nach Frequentierung würde ich bei großen Seiten aber zu einem Kubernetes-Cluster raten, um Lasten besser verteilen zu können und um mögliche Ausfallzeiten zu verringern.

Martin Huber

Unterstützung bei der Server-Infrastruktur?

Benötigen Sie Unterstützung bei der Verwaltung Ihrer Web-Infrastruktur?

Unser Spezialist für komplexe Infrastrukturen Martin Huber hilft Ihnen gerne weiter.

Martin Huber |  Leitung Serverteam & CTO

Sandra Pohl, Projektmanagement in2code

F: Hi Sandra, dürfen wir dich kurz stören? Was machst du bei in2code und insbesondere in diesem Projekt?

Seit 2014 - also inzwischen über 7 Jahre - bin ich nun bei in2code. Als Product Owner bzw. Projektmanagerin kümmere ich mich ganz grob gesagt um alle :)
Angefangen bei der Bedarfsanalyse zusammen mit dem Kunden über die Konzeption bis hin zur Betreuung komplexer Programmierungen bin ich bei allen Schritten mit dabei und der zentrale Ansprechpartner und Organisationspunkt. Hier ist es mir besonders wichtig, dass alle Stakeholder die gleiche "Sprache" sprechen und am Schluss auch das raus kommt, was sich der Kunde vorgestellt hat. Das schaffen wir mit agilen Projektmanagement-Methoden, die aber immer auch individuell auf den einzelnen Kunden abgestimmt sind. In diesem Projekt gab es zum Beispiel ein fest definiertes Feature-Set, das aber auch in der laufenden Entwicklung angepasst und ergänzt wurde.

F: Wie viele Leute waren denn insgesamt an diesem Projekt beteiligt?

Von unserer Seite? Da es ein wirklich großes Projekt war, waren 2 komplette Scrum-Teams aus unserer Firma involviert. Das sind 8 Entwickler (Frontend und Backend), 3 Server-Verantwortliche, 1 Qualitätssicherung und 2 unterstützende Redakteure. Und ich natürlich. Man kann also rückblickend sagen, 30 Hände hatten viel zu tun und uns ist nicht langweilig geworden.

F: Wenn du an das Projekt zurückdenkst, was war die größte Herausforderung aus deiner Sicht?

In diesem Projekt gab es noch eine weitere Partei, die CD-Agentur, die mit den technischen Anforderungen und Funktionen zusammen gebracht werden musste. Das hat besondere Herausforderungen und viel Prüfung und Kommunikation mit sich gebracht, aber letzten Endes ganz gut funktioniert. Auch haben sich teilweise während des Projekts die Anforderungen geändert, so das Features umgebaut oder erweitert wurden, aber genau dafür arbeiten wir ja agil. Und zuletzt hat das Projekt ja auf einer komplett grünen Wiese gestartet, das heißt, es musste wirklich alles neu angelegt werden: zentrale Datensätze für Einrichtungen, Backend User Gruppen, Content und Files und das alles parallel zur Entwicklung. Martin hat bestimmt auch schon ein paar Worte über die Herausforderungen mit der neuen "Dockerisierung" verloren.

F: Stimmt, hat er. Auf was bist du besonders stolz?

Auf das Miteinander. Die Hochschule Karlsruhe ist einer unserer ältesten Kunden und das ist bereits der dritte Launch, den wir zusammen durchmachen. Jedes Mal gibt es wieder neue Herausforderungen, aber auch jedes mal schaffen wir es wieder auf ein erfolgreiches Projekt zurückzublicken. Über die Jahre durften wir immer wieder technische Schulden kontinuierlich abbauen. So ist das eines der saubersten und redaktionell übersichtlichsten TYPO3-Systeme, das wir als Supportkunden betreuen dürfen. Ich bin stolz, dass wir da so eine gute Zusammenarbeit und so großes Vertrauen zueinander haben.

F: Und zuletzt: Was hast du aus diesem Projekt für dich mitgenommen?

Gelernt habe ich, dass ein neues Corporate Design auch immer neue Funktionen mit sich bringen kann. Anfangs war der Gedanke, dass die bestehenden Funktionen übernommen werden sollten und "nur" ein neues Layout bekommen. Aber durch das neue Design haben sich einfach komplett neue Anforderungen ergeben, so dass wir jetzt ganz neu unseren Studiengangsfinder eingebunden und das Personenverzeichnis mit vielen neuen Features und LDAP Importfunktionen bestückt haben. Aber genau das ist es auch, was mir besonders Spaß macht: Zusammen mit dem Kunden Wünsche entwickeln und erfüllen.

Sandra Pohl

Hochschul- oder Universitätsprojekte im TYPO3-Bereich?

Haben Sie Fragen zu diesem oder anderen Hochschul- oder Universitätsprojekten im TYPO3-Bereich?

Unser Professional Scrum-Master und Product-Owner Sandra Pohl hilft Ihnen gerne weiter.

Sandra Pohl |  Product Owner & Project Manager

Danke Martin und Sandra für den kurzen Einblick.

Alles über das neue Corporate Design der H-KA findet sich auf der offiziellen Pressmitteilung der Hochschule.

Zurück