Nachdem wir vor einer Woche mit Serverausfällen aller Art zu kämpfen hatten, haben wir uns und unseren Kunden versprochen, unsere Serverstruktur einer grundsätzlichen Verbesserung zu unterziehen. Diesen Prozess haben wir nun durchgeführt und wir freuen uns, ein verbessertes Setup zu präsentieren, welches ausgelegt ist, Ausfälle aller Art abzufangen, und dabei im Rahmen unserer Budgetmöglichkeiten zu bleiben.
Bevor wir uns zu tief in technischen Ausdrücken verlieren, hier zuerst eine Grafik, welche unser aktuelles Setup aufzeigt:

Gleichgeblieben ist das interne Setup: Auf Github liegt die verbindliche Code-Basis, ergänzt mit den Branches der aktuell laufenden Anpassungen. Jeder unserer Coder hat Zugriff auf die von ihm benötigten Daten und kann lokal auf seiner Maschine weiterentwickeln. Die verantwortlichen Personen integrieren Anpassungen in den Hauptcode und sind in der Lage, Aktualisierungen auf die Live-Server zu schicken.
Die wichtigste Änderung ist, dass wir unser Haupthosting von PHPFog zum Schweizer Anbieter Cyon gezügelt haben. Obwohl wir den Ansatz von PHPFog sehr mögen, bietet uns dieser Schritt verschiedene Vorteile. Die zwei wichtigsten:
- Die Supportdienste sind auf unsere Zeitzone ausgelegt.
- Das System läuft nun sogar schneller.
Cyon arbeitet ausserdem an einer Cloud-Lösung, mit welcher viele der Features, welche wir bei PHPFog besonders geschätzt haben (z.B. einfache Skalierung der Kapazitäten), auch wieder möglich werden.
Da aber auch der beste Hoster nicht vor Ausfällen gefeit ist, haben wir unseren Code auf Hoster-Redundanz ausgelegt. Jede Code-Veröffentlichung wird automatisch zu beiden Hoster geleitet, so dass wir jederzeit innert wenigen Minuten komplett den Anbieter wechseln können. Dazu haben wir auch unsere DNS-Server auf Amazon Route 53 entsprechend vorbereitet.
Die Achillesferse in einem solchen Prozess ist die Datenbank. Daher haben wir grossen Wert darauf gelegt, jederzeit einen möglichst aktuellsten Stand dieser Daten abgreifen zu können. Daher wird die Datenbank jede Stunde komplett auf den Speicherdienst S3 von Amazon ausgelagert. Drei dieser täglichen Backups werden für zwei Monate aufbewahrt. Zudem loggen wir zwischen den einzelnen Backups alle relevanten Datenbank-Bewegungen und spiegeln dieses Log alle 5 Minuten ebenfalls auf S3. Die Intervalle werden durch die Nacht ein bisschen verlängert, doch der Mechanismus läuft während 24 Stunden.
Somit haben wir jederzeit mehrere Möglichkeiten, sowohl auf den aktuellen Code als auch auf die aktuelle Datenbank zuzugreifen.
Können wir so eine hundertprozentige Uptime-Garantie geben? Nein, so etwas zu versprechen wäre unvernünftig. Wir werden auch nicht beim kleinsten Ausfall den Hoster wechseln – dafür haben wir bei Cyon einen tollen Support und beste Techniker. Das System ist dafür ausgelegt, grosse Ausfälle abzufangen und die Freiheit zu haben, nicht von einzelnen Drittanbietern abhängig zu sein. Wenn wir nicht bei Murphy in Ungnade gefallen sind, ist uns dies nun gelungen.
Nochmals danken wir unseren Kunden für das entgegengebrachte Vertrauen. Es ist unser Ziel, den bestmöglichsten Service zu bieten. Als nächsten Schritt unterziehen wir unser Support-System ausserhalb der Bürozeiten verschiedenen Verbesserungen. Wir werden gerne darüber informieren, sobald wir bereit sind.