Freigeben über


Kandidaten für cloudnative Apps

Tipp

Diese Inhalte sind ein Auszug aus dem E-Book „Architecting Cloud Native .NET Applications for Azure“, verfügbar in der .NET-Dokumentation oder als kostenlos herunterladbare PDF-Datei, die offline gelesen werden kann.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Denken Sie an die Apps, die Ihr Unternehmen erstellen muss. Betrachten Sie dann die vorhandenen Apps in Ihrem Portfolio. Wie viele davon rechtfertigen eine cloudnative Architektur? Alle genannten? Vielleicht einige?

Nach einer Kosten-Nutzen-Analyse ist es gut möglich, dass einige diese Anstrengungen nicht unterstützen würden. Die Kosten für die Umstellung auf eine cloudnative Struktur würden den Geschäftswert der Anwendung bei weitem übersteigen.

Welche Art von Anwendung kann ein Kandidat für „cloudnativ“ sein?

  • Strategische Unternehmenssysteme, die ständig neue Geschäftsfunktionen/Features entwickeln müssen

  • Eine Anwendung, die ein hohes Releasetempo erfordert – mit hoher Konfidenz

  • Ein System, bei dem einzelne Features freigegeben werden müssen, ohne dass das gesamte System neu bereitgestellt werden muss

  • Eine Anwendung, die von Teams mit Fachwissen in verschiedenen Technologiebereichen entwickelt wurde

  • Eine Anwendung mit Komponenten, die unabhängig voneinander skaliert werden müssen

Kleinere, weniger bedeutsame Branchenanwendungen könnten gut mit einer einfachen monolithischen Architektur auskommen, die in einer Cloud-PaaS-Umgebung gehostet wird.

Dann gibt es noch die Legacysysteme. Auch wenn wir alle gerne neue Anwendungen erstellen würden, sind wir oft für die Modernisierung bestehender Workloads verantwortlich, die für das Unternehmen wichtig sind.

Modernisieren von Legacy-Apps

Das kostenlose Microsoft-E-Book Modernisieren vorhandener .NET-Anwendungen mit Azure Cloud und Windows-Containern bietet Anleitungen zum Migrieren lokaler Workloads in die Cloud. Abbildung 1-10 zeigt, dass es für die Modernisierung von Legacyanwendungen keine einheitliche Strategie gibt, die für alle passt.

Strategies for migrating legacy workloads

Abbildung 1-10. Strategien für die Migration von Legacyworkloads

Monolithische Apps, die nicht kritisch sind, könnten von einer schnellen Lift & Shift-Migration profitieren. Hier wird die lokale Workload ohne Änderungen auf einer cloudbasierten VM neu gehostet. Bei diesem Ansatz wird das IaaS-Modell (Infrastructure-as-a-Service) verwendet. Azure umfasst mehrere Tools wie Azure Migrate, Azure Site Recovery und Azure Database Migration Service, um die Verschiebung zu optimieren. Obwohl diese Strategie einige Kosteneinsparungen erzielen kann, waren solche Anwendungen in der Regel nicht darauf ausgelegt, die Vorteile des Cloud Computing freizusetzen und zu nutzen.

Unternehmenskritische Legacy-Apps profitieren häufig von einer verbesserten cloudoptimierten Migration. Dieser Ansatz umfasst Bereitstellungsoptimierungen, die wichtige Clouddienste aktivieren – ohne die Kernarchitektur der Anwendung zu ändern. Sie könnten z. B. die Anwendung containerisieren und in einem Containerorchestrator wie Azure Kubernetes Services bereitstellen, auf den wir später in diesem Buch eingehen. Sobald die Anwendung in der Cloud ist, kann sie cloudgestützte Dienste wie Datenbanken, Nachrichtenwarteschlangen, Überwachung und verteilte Zwischenspeicherung in Anspruch nehmen.

Monolithische Apps, die strategische Unternehmensfunktionen bereitstellen, profitieren am meisten von einem cloudnativen Ansatz, dem Thema dieses Buchs. Dieser Ansatz bietet Flexibilität und Geschwindigkeit. Aber das hat den Preis, dass Sie die Plattform umgestalten, die Architektur ändern und den Code erneut generieren müssen. Im Laufe der Zeit kann eine Legacyanwendung in Microservices zerlegt, containerisiert und schließlich in eine cloudnative Architektur umgewandelt werden.

Wenn Sie und Ihr Team der Meinung sind, dass ein cloudnativer Ansatz angemessen ist, sollten Sie die Entscheidung mit Ihrem Unternehmen besprechen. Was genau ist das Geschäftsproblem, das ein cloudnativer Ansatz lösen soll? Wie würde er den Geschäftsanforderungen entsprechen?

  • Schnelle Veröffentlichungen von Features mit erhöhter Konfidenz?

  • Differenzierte Skalierbarkeit – effizientere Ressourcennutzung?

  • Verbesserte Systemresilienz?

  • Verbesserte Systemleistung?

  • Mehr Transparenz hinsichtlich der Vorgänge?

  • Mischen Sie Entwicklungsplattformen und Datenspeicher, um das beste Tool für Ihren Auftrag zu finden?

  • Zukunftssichere Anwendungsinvestition?

Die richtige Migrationsstrategie hängt von den Prioritäten des Unternehmens und den Systemen ab, auf die Sie abzielen. Für viele mag es kostengünstiger sein, eine monolithische Anwendung in der Cloud zu optimieren oder undifferenzierte Dienste zu einer N-schichtigen App hinzuzufügen. In diesen Fällen können Sie die PaaS-Cloudfunktionen, wie sie Azure App Service bietet, weiterhin uneingeschränkt nutzen.

Zusammenfassung

In diesem Kapitel haben wir das cloudnative Computing vorgestellt. Wir haben eine Definition sowie die wichtigsten Funktionen für eine cloudnative Anwendung zusammengestellt. Wir haben uns die Arten von Anwendungen angesehen, die diese Investition und den Aufwand rechtfertigen könnten.

Nach dieser Einführung werfen wir jetzt einen genaueren Blick auf den Begriff „cloudnativ“.

Referenzen