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

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

Die Hochschule Karlsruhe ist für seine technischen Studiengänge überregional bekannt und beliebt. Seit kurzem gibt sich die University of Applied Science in einem neuen Look and Feel. Und das nicht nur innerhalb der Gebäude und Außenwerbung, sondern auch auf der brandneuen Website. Diese spiegelt den neu erarbeiteten Markenkern elegant wieder.

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 mitgearbeitet?

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 dem 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, dass sich die Konfigurationen von ähnlichen Servern nach längerer Laufzeit immer weiter voneinander unterscheiden.

Zusätzlich ist es 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ößenordnung einfach mit sich. Rückblickend ist es noch wichtiger, dass die Kommunikation zwischen den verschiedenen Teams und den unterschiedlichen Verantwortungsgebieten 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 rauskommt, 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 zusammengebracht werden musste. Das hat besondere Herausforderungen und viel Prüfung und Kommunikation mit sich gebracht, aber letzten Endes hat es ganz gut funktioniert. Auch haben sich teilweise während des Projekts die Anforderungen geändert, sodass 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.

Wir verabschieden uns von der Plattform X

Nach reiflicher Überlegung haben wir uns dazu entschlossen, unsere Aktivitäten auf der Plattform X (ehemals Twitter) einzustellen. Wir haben die Entwicklung der Plattform in den letzten Monaten...

Zum Beitrag

Zum zweiten Mal in Folge - TYPO3 Award Winner 2024

Eine aufregende Woche in Düsseldorf liegt hinter uns – und wir schwelgen immer noch in Erinnerungen an die T3CON 2024. Mit dabei waren unser in2code Messestand, vier Kollegen und ein spannender...

Zum Beitrag

LUX Marketing Automation: TYPO3 13, Darkmode und Livesearch

Pünktlich zur bedeutendsten TYPO3-Konferenz des Jahres präsentieren wir die neuesten Versionen unserer Marketing-Automation-Lösungen: LUX 38.0.0 und LUXenterprise 44.0.0. Diese Updates bringen nicht...

Zum Beitrag

Technical relaunch for the TUM Campus Heilbronn

At the TUM Campus Heilbronn, state-of-the-art education and research programs are established in the Heilbronn region, which are aimed in particular at students who want to work in digital...

Zum Beitrag
[Translate to English:]

Content Publisher Version 12: Schneller, moderner und benutzerfreundlicher

Mit der neuen Version des Content Publishers Version 12 (für TYPO3 11 & 12) wird die Verwaltung und Veröffentlichung von Inhalten in TYPO3 spürbar verbessert. Die neue Version bringt einige...

Zum Beitrag
Fröhlicher Mann am Laptop

Unser Qualitätsversprechen – Sicherheit und Standards auf höchstem Niveau

Jeder in der Tech-Branche weiß, dass Qualität in der Softwareentwicklung kein Zufall ist, sondern das Ergebnis sorgfältiger Planung und hartnäckiger Arbeit. Bei in2code nehmen wir das Thema Qualität...

Zum Beitrag
Teamwork