Paweł Szczepaniak, Principal System Engineer für General Marketplaces bei SMG, sprach über sein bisher grösstes Legacy-zu-Cloud-Migrationsprojekt und wie alles grossartig verlief!
Die Cloud ist die Grenze
tutti.ch mietete einen Serverrack im Züricher Rechenzentrum, doch die Hardware war veraltet. Ihre Konfiguration erreichte zudem Grenzen. Während Spitzenverkehr das interne Netzwerk auslastete, war klar: eine neue Lösung musste her. Das Ziel war die Verlagerung von tutti.ch in die Cloud, um die Infrastruktur vollständig zu automatisieren. Diese Migration würde Hardware-Ausfallrisiken mindern und durch Dokumentation und Automatisierung potenzielle Probleme reduzieren. Dank AWS-Skalierbarkeit wären Sorgen um zukünftiges Wachstum gemindert, da erhöhter Verkehr und Last flexibel bewältigt werden könnten. Wie geht man solch ein intensives Migrationsprojekt an?
Legacy Verstehen
Um dieses Projekt anzugehen, musste das Team die Altinfrastruktur verstehen. Aber was bedeutet „Altinfrastruktur“ eigentlich?
By legacy, we mean outdated computing soft- and/or hardware that is still being used. The system still works and fulfils the function it was designed for however, it limits or disables growth.
Da der Code vor mehr als 10 Jahren geschrieben wurde, gab es viele Unbekannte. Die genaue Funktionsweise und verwaltete Einstellungen waren entscheidend. Noch wichtiger war die Anpassung für die Cloud-Migration, da diese Dynamiken zuvor nicht berücksichtigt wurden. Damals fehlten Konzepte wie Cloud oder Microservices, was die erforderliche Flexibilität für Cloud-Betrieb einschränkte. Dieser Unterschied in den Technologien machte auch das Testen unglaublich wichtig und äusserst anspruchsvoll. Die gleichzeitige Bewältigung der Erstellung einer neuen Einrichtung, der Wartung der bestehenden Infrastruktur und der Cloud-Migration in kurzer Zeit stellte erhebliche Herausforderungen dar. Die Automatisierung zu Beginn erleichterte diese Aufgabe erheblich.
Der Grosse Umzug
Test, Test…Test
Das ist vermutlich selbstverständlich, aber Tests sind bei jeder neuen Funktion, besonders bei einer neuen Infrastruktur, unerlässlich. Wenn du denkst, du hast ausreichend getestet, teste erneut. Es mag langweilig klingen, aber es werden immer wieder Fehler auftreten, und es ist besser, sie zu finden und zu beheben, bevor Veröffentlichungen erfolgen. Die meisten Setups sind so komplex, dass selbst Experten Details übersehen können, aber zumindest hast du so viele wie möglich im Voraus erkannt.
Test. Then test it again. Then again.
Paweł Szczepaniak