- Funktionen
- Pricing

Die Entscheidung, eine Produktionsanwendung zu migrieren, hängt selten vom Zielort ab. Es geht vielmehr um die Reibungsverluste während des Transports.
Für die meisten technischen Führungskräfte ist das Wort „Migration” ein Synonym für „Refactoring”.
Die Branche hat uns darauf konditioniert, anzunehmen, dass die Umstellung auf eine moderne cloud-Plattform bedeutet, jahrelange stabile Konfigurationen über Bord zu werfen, eine neue proprietäre DSL zu erlernen und die Kernlogik der Anwendung neu zu schreiben, um sie an ein bestimmtes Container- oder serverloses Modell anzupassen.
Diese „Migrationssteuer” ist der wichtigste Grund für die Anhäufung technischer Schulden. Teams bleiben bei veralteten, unsicheren oder teuren Infrastrukturen, weil die Kosten für einen Umzug höher erscheinen als die Kosten für den Verbleib.
Wenn man jedoch analysiert, warum Migrationen Termine oder Budgets nicht einhalten, ist es selten der Anwendungscode, der die Ursache für die Überschreitung ist. Es sind die Infrastruktur-Primitive.
Eine Migrationsstrategie (die wir als „Migrationsplan“ bezeichnen) konzentriert sich darauf, Ihre Anwendung von diesen Primitiven zu entkoppeln. Durch die Verwendung standardisierter Umgebungen können Sie die Anwendung unverändert migrieren, während die Plattform die Komplexität der zugrunde liegenden Verkabelung übernimmt.
Dieser Migrationsplan richtet sich an Unternehmen, die langlebige, komplexe Anwendungsumgebungen verwalten, bei denen Stabilität unverzichtbar ist.
Dieser Blueprint gilt, wenn Sie Folgendes migrieren:
Wenn Sie zu einem Raw-Cloud-Anbieter migrieren, müssen Sie „primitive Schulden” bezahlen, noch bevor die erste Zeile Code ausgeführt wird.
Diese Schulden sind die Hauptursache für die kognitive Überlastung von leitenden Ingenieuren. Dazu gehören die manuelle Bereitstellung virtueller Maschinen, das Schreiben Tausender Zeilen Terraform zur Definition von VPCs und Subnetzen sowie die manuelle Konfiguration von IAM-Rollen für jede Dienstverbindung.
Für ein mittelständisches Unternehmen nimmt dieser manuelle Aufwand oft den Großteil der Zeit der leitenden Ingenieure in Anspruch und verzögert die Lieferung um Quartale statt um Wochen.
Das Ziel ist es, diese Arbeit zu eliminieren. Sie bewerten eine Plattform danach, wie viel von dieser „langweiligen” Infrastruktur sie automatisieren kann.
Der erste Schritt bei einer Migration ohne Neuprogrammierung ist der Übergang von einer imperativen Infrastruktur zu einer deklarativen Servicezuordnung.
Bei einer herkömmlichen Migration geben Sie dem Anbieter vor, wie eine Datenbank aufgebaut werden soll: „Erstellen Sie eine t3.medium-Instanz, fügen Sie 50 GB Speicher hinzu und öffnen Sie Port 5432.”
In diesem Entwurf ist Ihr primäres Migrationsartefakt eine einzige, versionskontrollierte Konfigurationsdatei (.upsun/config.yaml). Diese Datei definiert:
Da Upsun standardisierte Umgebungen verwendet, weiß die Plattform bereits, wie diese Dienste bereitgestellt und gesichert werden müssen.
Sie müssen die Verbindungslogik Ihrer Anwendung nicht neu schreiben; die Plattform sorgt für eine konsistente Beziehung zwischen Ihrer App und ihren Diensten.
Dadurch wird die Migration zu einem Akt der Bereitstellung und nicht zu einem Akt der manuellen Technik.
Ein Hauptgrund für das Neuschreiben von Programmcode während der Migration ist eine „Umgebungsinkongruenz”.
Eine Anwendung, die auf dem Laptop eines Entwicklers läuft, kann in einer älteren Staging-Umgebung aufgrund einer geringfügigen Abweichung in der Bibliotheksversion oder eines anderen Dateisystem-Berechtigungsmodells fehlschlagen.
Um eine Neuprogrammierung zu vermeiden, benötigen Sie eine einheitliche Umgebung.
Die standardisierten Umgebungen von Upsun stellen sicher, dass Build und Laufzeit in jeder Phase des Lebenszyklus identisch sind. Dies ist besonders wichtig für zustandsbehaftete Workloads und Monolithen, die eine spezifische, vorhersehbare Umgebung erfordern.
Wenn Sie Ihre Anwendungsabhängigkeiten in Ihrer Konfiguration definieren, erstellt die Plattform eine containerisierte Umgebung, die vom ersten Branch bis zur endgültigen Produktion konsistent bleibt.
Sie müssen Ihre Programme nicht „korrigieren”, damit sie in der cloud funktionieren; die Plattform bietet die Vorhersagbarkeit, die die Programme erwarten. Für erfahrene Architekten ist diese Konsistenz das ultimative Sicherheitsnetz gegen das „Auf meinem Rechner hat es funktioniert”-Syndrom.
Der gefährlichste Moment jeder Migration ist der „Cutover”. Traditionell geht diesem ein Test in einer Staging-Umgebung voraus, die eine „nahe Annäherung” an die Produktivumgebung darstellt.
In diesem Entwurf ist „nahe genug“ keine Option.
Mit Upsun können Sie für jeden Zweig produktionsperfekte Klone erstellen. Wenn Sie Ihre Migration auf einem Feature-Zweig testen, testen Sie anhand einer perfekten Replik Ihres Ziel-Produktionsstacks. Dazu gehören Ihre Serviceversionen, Ihre Infrastrukturkonfiguration und ein bereinigter Klon Ihrer Produktionsdaten.
Auf diese Weise können Sie die Migration der tatsächlichen Anwendungslogik unter realen Bedingungen validieren.
Diese Fähigkeit verwandelt die Migration von einem „Sprung ins Ungewisse“ in einen verifizierten Bereitstellungsprozess. Wenn die Migration auf dem Zweig funktioniert, haben Sie den erforderlichen Nachweis, um mit der Produktionsumstellung fortzufahren.
Eine häufige Falle bei der Modernisierung ist es, im Rahmen der Migration an die proprietären Dienste eines Anbieters „gebunden” zu sein.
Diese Dienste bieten zwar leistungsstarke Funktionen, erfordern jedoch oft, dass Sie wesentliche Teile Ihrer Anwendung umschreiben müssen, um sie an die spezifischen APIs anzupassen.
Der Ansatz von Upsun basiert auf Portabilität.
Während Sie bei der Projekterstellung Ihren cloud-Anbieter (AWS, Azure, GCP, IBM oder OVHcloud) auswählen, bleibt die Plattformebene identisch.
Das bedeutet, dass Sie Ihre Anwendung von einem Anbieter zu einem anderen verschieben können, indem Sie das Projekt beim neuen Anbieter neu bereitstellen, ohne Ihr Programmieren oder Ihre Infrastrukturkonfiguration neu zu schreiben.
Dies gibt Ihnen strategische Flexibilität. Sie können Datenhoheitsanforderungen erfüllen oder eine Vorgabe der Geschäftsleitung zur cloud-basierten Diversität umsetzen, ohne dass dabei die üblichen zusätzlichen Betriebskosten anfallen.
Aus Sicht der Unternehmensleitung geht es bei einer Migration ohne Neuprogrammierung um die Zuweisung von Ressourcen.
Bei den meisten Migrationen nimmt die Infrastrukturarbeit den größten Teil der Zeit der leitenden Ingenieure in Anspruch. Jede Stunde, die ein leitender Entwickler mit dem Debuggen eines Terraform-Skripts oder der Umgestaltung eines Legacy-Moduls für einen neuen Anbieter verbringt, ist eine Stunde, die er nicht für Ihre Produkt-Roadmap aufwenden kann.
Indem Sie die Plattform die „mühsame Arbeit” der Infrastruktur verwalten lassen, können Sie eine Migration mit einem kleineren Team in einem Bruchteil der Zeit durchführen. Das ist der Unterschied zwischen einer Migration, die das Unternehmen Monate an Innovationskraft kostet, und einer, die als Sprungbrett für eine schnellere Bereitstellung dient.
Das Ziel dieses Entwurfs ist es nicht, nie wieder zu migrieren. Es geht darum, Migrationen zu wiederholbaren, risikoarmen Vorgängen zu machen, anstatt zu Krisen, die nur einmal in zehn Jahren auftreten.
Durch die Einführung eines Modells, das auf standardisierten Umgebungen basiert, beseitigen Sie die Reibungsverluste einer „vollständigen Umgestaltung” und eliminieren die kognitive Belastung durch die Verwaltung von cloud-Primitiven. Sie geben Ihrem Team die Leitplanken, die es benötigt, um sich sicher zu bewegen, zu skalieren und zu iterieren.
Eine Migration muss keine Neuprogrammierung sein. Sie benötigt lediglich eine bessere Plattform.
Join our monthly newsletter
Compliant and validated