Selfhosted Server as a Service - das sollten Sie wissen!

Selfhosted Server as a Service - das sollten Sie wissen!

Bereits seit einigen Jahren betreuen wir eine Vielzahl an verschiedenen Servern für verschiedene Firmen und Institutionen wie z.B. der Firma Dräxlmaier, Mitsubishi Chemical Advanced Materials, der Hochschule Karlsruhe oder des Bayerischen Landes-Sportverbandes. In dieser Zusammenarbeit stoßen wir regelmäßig auf Herausforderungen verschiedenster Arten im Bereich Web und wollen hierbei auf ein paar Tools und Begrifflichkeiten näher eingehen.

High availability

Ein System ist dann hochverfügbar, wenn es trotz Ausfalls einer oder mehreren Komponenten weiterhin erreichbar ist und ohne sofortigen Eingriff genutzt werden kann. Um das zu realisieren, müssen folgende Gegebenheiten beachtet werden: 

Single Point of Failure

Man spricht vom Single Point of Failure, wenn ein Ausfall oder eine Fehlfunktion einer einzelnen Komponente das komplette System betriebsunfähig macht. Einen möglichen Single Point of Failure gilt es grundsätzlich zu vermeiden.

Redundanz

Identische oder miteinander vergleichbare Systeme sind mindestens zweimal vorhanden. In der Technik lässt sich dadurch sicherstellen, dass die Bereitstellung dieser Dienste auch im Fehlerfall eines Teilbereiches verfügbar bleibt.

Lösungen für einzelne Dienste

Multi-Webserver

Um die Verfügbarkeit Ihrer Webseiten auch beim Ausfall eines Webservers sicherzustellen, müssen mehr als ein Webserver vorhanden sein. Apache oder NGINX als Webserver können dies hinter einem Loadbalancer, welcher auf die Verfügbarkeit und Funktion der einzelnen Webserver prüft, ermöglichen.

Datenbankcluster

Ein Datenbankcluster ist ein Verbund von mehreren Datenbankservern, die alle denselben Datenstand vorhalten. Aufgrund der Redundanz zwischen allen Servern im Datenbankcluster, wird es ermöglicht, dass beim Ausfall eines Datenbankservers die anderen Teilnehmer dessen Aufgabe mit übernehmen. Als Datenbanksoftware eignet sich etwa MariaDB-Galera und PerconaXtraDB. Eine Anbindung der Webserver an diesen Cluster ist mit ProxySQL oder HAproxy umsetzbar. 

Filesystemcluster

Ein Filesystemcluster ist ein Dateisystem, das in einem Serververbund Zugriff auf freigegebene Verzeichnisse erlaubt. Durch das Vorhalten von Dateien auf mehreren Servern bleiben diese auch beim Ausfall eines Servers im Cluster verfügbar. Auf ein Dateisystem-Cluster greifen alle Server zu, welche Dateien aus diesen Datei-Freigaben benötigen. Zu Filesystemclustern gehören zum Beispiel GlusterFS oder CephFS

High performance

Mit einer schnellen Website können Sie nur gewinnen! Ihre Besucher werden sich wohlfühlen und Suchmaschinen wie etwa Google danken Ihnen hierfür mit einer besseren Suchmaschinenplatzierung. Hierbei gibt es ein paar Punkte zu beachten, um Höchstleistung aus der verfügbaren Hardware zu kitzeln.

Load balancing

Load balancing bedeutet Lastverteilung. So werden etwa große Mengen von Anfragen auf mehrere parallel arbeitende Systeme verteilt. Somit können Anfragen zeitgleich bearbeitet werden und die Auslastung der einzelnen Komponenten hinter dem Loadbalancer ist steuerbar. Dazu gehören zum Beispiel der HA-ProxyGoogle Seesaw oder F5-Load-Balancer.

Profiling

Als Profiler werden Programmierwerkzeuge bezeichnet, die dem Entwickler helfen, laufende Programme zu analysieren und zu vergleichen. Somit können Performance- und Ressourcenbedarf geprüft und Problembereiche aufgedeckt werden. Ein Profiling sollte immer der erste Schritt in Richtung High Performance sein. Wenn diese Analyse und Optimierung fehlt, kann das nur mit Hardware erschlagen werden. Auf Dauer ist das sehr teuer. Ein solches Profiling-Werkzeug ist zum Beispiel Blackfire.

Caching

Mit Caching kann man wiederkehrende Ereignisse von Aufgaben und Anfragen zwischenspeichern. Bei zukünftigen Anfragen kann auf die bereits vorliegenden Daten zugegriffen werden. Abgerufene oder bereits berechnete Daten können somit um ein Vielfaches schneller ausgeliefert und weiterverarbeitet werden. Solche Caches sind zum Beispiel MemCache, QueryCache, Redis oder Varnish. Für TYPO3 empfiehlt sich die Erweiterung staticfilecache. Caching ist eine Grundvoraussetzung für Geschwindigkeit!

Security

Mit am wichtigsten in der Serverwartung ist die Sicherheit. Man will sich rund um die Uhr vor Hacks, unerkannten Cryptominern oder Verlust von persönlichen Daten schützen. Dabei braucht man aber auch gewisse Abläufe und Tools.

Provisionierung

Ein großes Problem sind sogenannte "Schneeflockenserver". Der Begriff beschreibt den Zustand, dass eigentlich alle Server gleich sind, bei genauerer Betrachtung aber Unterschiede auffallen. In der Wartung oder auch weiteren Entwicklung kann ein solcher Zustand zu Problemen führen. Die Lösung hierfür ist eine Provisionierung. Hierbei wird die Konfiguration eines Servers als Code in Textform hinterlegt. Von einem Programm wie z.B. Ansible, Puppet, Chef oder Saltstack wird die Konfiguration dann auf die gewünschten Server ausgerollt. Dieses Vorgehen stellt sicher, dass Services und Tools auf allen Servern gleich konfiguriert sind. Ebenso erhält man mit diesem Code eine komplette technische Dokumentation der Server. Eine Neuinstallation. z.B. auf neuer Hardware, dauert mit Hilfe einer vorhandenen Provisionierung auch nur einen Bruchteil der sonst nötigen Zeit. 

Personalisiertes Monitoring

Um Server vorausschauend betreuen zu können, ist eine Überwachung mit personalisierten Tests eine gute Lösung. Durch sinnvolle Testszenarien können im Optimalfall schon zukünftig mögliche Probleme vorab identifiziert werden. Außerdem ist es unser Anspruch, Probleme vor unseren Kunden zu erkennen! Dazu bieten sich Tools wie Nagios oder Icinga sowie Zabbix an. 

Backup

Als Backup bezeichnet man eine Sicherheitskopie, die alle benötigten Daten für den Fall eines Systemausfalls oder eines Datenverlustes vorhält. Diese Daten können jederzeit zurückkopiert oder wiederhergestellt werden. Auch ein sogenannter Restore von Daten eines älteren Zeitpunktes ist somit möglich. Dabei gibt es verschiedene Backupmethoden wie ein Fullbackup mit allen Dateien oder ein Incremential-/Differential-Backup welches nur Teilbackups enthält. Besonders wichtig ist auch das Testen eines Backups, damit man im Ernstfall keine Überraschung erlebt. Ein ungetestetes Backup ist im schlimmsten Fall einfach nur Datenmüll.

Disaster Recovery

Disaster Recovery bedeutet eine Wiederherstellung im Katastrophenfall. Als Katastrophenfall wird zum Beispiel ein Komplettausfall von Hardware bezeichnet. Ein kritischer Punkt ist hierbei das Wiederherstellen von nicht mehr benutzbarer Infrastruktur oder Hardware in möglichst kurzer Zeit. Hierfür dient etwa das Tool REAR (Relax and Recover).

Haben Sie noch Fragen zu diesem Thema oder konkreten Bedarf an einer Infrastrukturanalyse? Martin Huber steht Ihnen gerne persönlich zur Verfügung.

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

Commend International: Security-Audit, AI-Integration & TYPO3 v13 Launch

So könnte ein eigentlich ein Witz anfangen: Treffen sich ein Pentest, eine AI-Integration und ein TYPO3-Launch in einer Bar. Was es jedoch wirklich damit auf sich hat, erklären wir in unserer Case...

Zum Beitrag
Commend Kommunikationslösugen - beispielsweise für Büros

Helmholtz Munich Konsolidierung 2025: 6 Launches in 7 Monaten, massive Einsparung im Budget und Performance-Boost um Faktor 15

Im Jahr 2025 stand Helmholtz Munich vor einer Mammutaufgabe: Eine historisch gewachsene, fragmentierte Web-Landschaft sollte bei laufendem Betrieb in ein zentrales TYPO3 v13 System überführt werden....

Zum Beitrag
Forschung im Medizinbereich

Kein Chaos mehr bei vollem Büro - so organisieren wir unsere Teamwochen

Mittlerweile arbeitet ein Großteil unseres Teams ortsunabhängig und wir sind stolz, dass diese Arbeitsweise bei in2code so gut klappt. Trotzdem ist es wichtig, die Kollegen und Mitarbeiter auch...

Zum Beitrag

Hinter den Kulissen: Ein Gespräch mit Peter, Teamlead des TYPO3 Localization Teams

Das TYPO3 Localization Team sorgt dafür, dass TYPO3 weltweit verständlich und zugänglich ist – aber nicht auf die Weise, wie viele denken. Wir haben mit Peter gesprochen, Teamlead des Localization...

Zum Beitrag

Die Zukunft von Websites im Zeitalter der generativen KI

“Das Internet stirbt – nicht langsam, sondern jetzt.” titelt letzte Woche die FAZ. Bis vor vier Wochen hätte ich dem noch widersprochen. Bis ich die letzten Monate die Trafficdaten unserer...

Zum Beitrag
Ein humanoider Roboter zeichnet mit einem digitalen Stift auf eine leuchtende, transparente Oberfläche und symbolisiert damit die Gestaltung und Entwicklung von Websites durch Künstliche Intelligenz.

in2code wird Teil des Partnernetzwerks für den Government Site Builder 11

in2code ist Implementierungspartner für den Government Site Builder 11. Gemeinsam mit Materna und weiteren Spezialisten bringen wir TYPO3-Expertise in die Bundesverwaltung.

Zum Beitrag
Gruppenfoto der Partner des Government Site Builder 11 (GSB 11) bei einem Treffen. Zahlreiche Personen stehen und knien lächelnd für die Kamera auf einer Terrasse mit Blick auf eine begrünte Umgebung und ein Stadion im Hintergrund. Die Stimmung wirkt kooperativ und professionell