Zu Abschnitt

Was ist .NET-Anwendungsmodernisierung?

URL kopieren

.NET (früher bekannt als .NET Core) ist eine Open Source-Entwicklungsplattform, mit der Entwicklungsteams plattformübergreifende Cloud- und Konsolenanwendungen erstellen können, die auf Linux und Windows ausgeführt werden.

Innerhalb von .NET gibt es drei Plattformen, mit denen .NET-Code in verschiedenen Umgebungen ausgeführt werden kann: .NET Core, .NET Framework und Xamarin/Mono. .NET Core ist die plattformübergreifende Implementierung, die standortunabhängig auf Windows, Linux und macOS ausgeführt werden kann. .NET Framework ist die ursprüngliche Implementierung von .NET, die die Ausführung von Websites, Services, Desktop-Anwendungen und mehr auf Windows unterstützt. Xamarin/Mono ist .NET für Mobilgeräte, das Anwendungen auf den wichtigsten mobilen Betriebssystemen, einschließlich iOS und Android, ausführt.

Bevor Microsoft Linux als zentrale Plattform einführte, war .NET ursprünglich Closed Source und nur für Windows verfügbar.

Obwohl .NET inzwischen quelloffen und auf mehreren Plattformen verfügbar ist, kann es zu Problemen kommen, wenn die vorhandene Lösung das .NET Framework ist, das nur in Windows-Umgebungen ausgeführt werden kann. Letztendlich wird das .NET Framework für Linux-Umgebungen modernisiert werden müssen. 

Viele Unternehmen stellen fest, dass ein großer Teil der Legacy-Workloads, der zugrunde liegenden Plattformen und Technologien sowie der traditionellen Entwicklungspraktiken die geschäftliche Agilität und Innovation behindern. Das liegt daran, dass Altsysteme vor dem Durchbruch von Cloud Computing, cloudnativen Entwicklungsverfahren, Linux-Containern und anderen neuen Technologien entwickelt wurden. Viele dieser Workloads sind jedoch nach wie vor geschäftskritisch und stellen erhebliche langfristige Investitionen dar, die nicht einfach ersetzt oder stillgelegt werden können.

Dies bringt die Unternehmen in eine schwierige Lage, da sie die Notwendigkeit der Beibehaltung dieser Systeme mit dem Wunsch nach Innovation, der Erfüllung neuer Kundenerwartungen und der Nutzung neuer Möglichkeiten in Einklang bringen müssen. Die Wartung dieser Legacy-Anwendungen kann so viel Zeit, Budget und Ressourcen in Anspruch nehmen, dass sie ein erhebliches Innovationshindernis darstellen.

Ziel der Modernisierung von Workloads ist es, die Agilität von Legacy-Workloads wiederherzustellen. Hierzu werden sie zu einer modernen Plattform migriert, Monolithen in kleinere, leichter zu verwaltende Komponenten wie Microservices zerlegt, moderne Verfahren zur Entwicklung und zum Deployment von Software angewendet und Altes in Neues integriert.

Vorteile

Die Migration bestehender .NET-Workloads zu einer moderneren Plattform hängt davon ab, wie viel Aufwand die Entwicklungsteams betreiben wollen und wie die Teams die Veränderungen im Prozess annehmen. Vor diesem Hintergrund bietet die Modernisierung der Workloads unmittelbare Vorteile wie:

  • Erhöhte Skalierbarkeit: .NET-Workloads können jetzt bedarfsgerecht skaliert werden. 
  • Verbesserte Zuverlässigkeit: .NET-Workloads werden zuverlässiger in einer wesentlich stabileren und resilienteren Umgebung ausgeführt. 
  • Mehr Sicherheit: .NET-Workloads können auf bestehende Cloud-Praktiken zurückgreifen und bieten eine zusätzliche Sicherheitsschicht.
  • Reduzierte Kosten: Durch mehr Automatisierung können Unternehmen ihre Kosten senken. 

Da Containerisierung und Kubernetes stark weiterentwickelt wurden, ist es jetzt möglich, .NET auf beliebigen Servern zu containerisieren. Je nach Geschäftsanforderungen können Unternehmen die für sie geeignete Modernisierungsstrategie wählen. Budget- und Zeitbeschränkungen erfordern möglicherweise unterschiedliche Strategien für verschiedene Workloads. Manchmal ist ein schrittweiser Ansatz besser geeignet, um Feedback von den Nutzenden einzuholen und die Modernisierungsinvestitionen zu rechtfertigen, damit der volle Nutzeffekt dieser Bemühungen erreicht wird.
Es gibt drei Möglichkeiten, bestehende .NET-Anwendungen zu modernisieren.

  1. Rehosting: Als Rehosting, in der Branche auch als „Lift-and-Shift" bekannt, wird der Prozess bezeichnet, bei dem On-Premise-Anwendungen zur Cloud migriert werden. Dabei werden die Anwendungen auf eine für die Cloud-Infrastruktur geeignete Plattform verschoben, ohne dass sie geändert werden müssen. Bei diesem Migrationsansatz werden die aktuellen On-Premise-Anwendungen zu einer IaaS-Plattform (Infrastructure-as-a-Service) migriert oder dort neu gehostet. Die Anwendungen verfügen über fast die gleiche Struktur wie vorher, werden aber jetzt auf virtuellen Maschinen (VMs) in der Cloud bereitgestellt. Diese Strategie wird meist für die Migration umfangreicher Anwendungen verwendet, um bestimmte Geschäftsziele zu erreichen, beispielsweise die beschleunigte Markteinführung eines Produkts oder das Verlassen eines On-Premise-Rechenzentrums.
  2. Replatforming: Auf dieser Ebene ergeben sich zusätzliche Vorteile, wenn eine Anwendung in der Cloud mit modernen Technologien wie Containern und zusätzlichen in der Cloud gemanagten Services ausgeführt wird, wodurch sie ohne wesentliche Änderungen am Code für die Cloud optimiert wird. Dieses Entwicklungsmodell ermöglicht die Bereitstellung von Containern auf IaaS oder PaaS (Platform-as-a-Service) bei gleichzeitiger Nutzung zusätzlicher in der Cloud gemanagter Services im Zusammenhang mit Datenbanken, Cache-as-a-Service, Monitoring und CI/CD-Pipelines (Continuous Integration/Continuous Deployment). Das Replatforming einer .NET-Anwendung als Windows-Container bietet die Vorteile von Container-Technologien, ohne die Core-Architektur einer .NET-Anwendung zu verändern.
  3. Rearchitecting: Beim Rearchitecting werden PaaS-Services verwendet, um Anwendungen auf PaaS-Computing-Plattformen zu verschieben. Cloudnative Anwendungen und Microservices-Architektur werden implementiert, damit Anwendungen mit langfristiger Agilität weiterentwickelt werden können und eine bedarfsgerechte Skalierung vereinfacht wird. Diese Art der Modernisierung erfordert in der Regel eine spezielle Architektur für die Cloud, indem neuer Code geschrieben wird. Mit diesem Ansatz lassen sich die Vorteile erzielen, die in einer monolithischen und lokalen Anwendungsumgebung nur schwer zu erreichen sind. Dank der Aufschlüsselung einer monolithischen Anwendung in kleinere Services dient jeder Service einem einzigen Zweck und wird als Container bereitgestellt. Dadurch haben Sie die Möglichkeit, einen microservices-basierten Ansatz zu verfolgen, bei dem einige Komponenten mit .NET und andere mit Java erstellt werden, aber alle auf einer gemeinsamen, unterstützten Plattform auf RHEL und OpenShift Container Platform ausgeführt werden können.

Wenn Sie normalerweise mit Windows Server für bestehende Praktiken, Tools und Prozesse arbeiten, muss Ihr Team möglicherweise Linux, Container und Kubernetes zusätzlich einsetzen. Das ist aufregend und beängstigend zugleich, denn es geht um Veränderungen, die sich möglicherweise auf Ihr bestehendes Geschäft auswirken. 

Red Hat weiß, dass Veränderungen nicht immer einfach sind. Wir unterstützen unsere Kunden bei der Bewältigung des technologischen Wandels sowie bei der Einführung von Strategien und Lösungen, mit denen sie ihre Geschäftsziele erreichen. Außerdem stellen wir sicher, dass ihre Teams mit den Veränderungen von Umgebung, Technologie und Prozessen zurechtkommen.

Red Hat bietet Produkte und Services wie Microsoft Azure Red Hat OpenShift (ARO) an, unabhängig davon, für welche Modernisierungsstrategie Sie sich entscheiden und welche Art von Vorteilen Sie aufgrund Ihrer Rahmenbedingungen suchen.

Weiterlesen

Artikel

Was sind Red Hat OpenShift Operatoren?

Red Hat OpenShift Operatoren automatisieren die Erstellung, Konfiguration und Verwaltung von Instanzen Kubernetes-nativer Anwendungen.

Artikel

Was für Red Hat OpenShift Serverless spricht

Red Hat OpenShift Serverless erweitert Kubernetes auf die Bereitstellung und Verwaltung serverloser Workloads.

Artikel

Warum Red Hat OpenShift Service Mesh?

Mit dem Red Hat OpenShift Service Mesh können Sie Anwendungen, die auf Microservices basieren, auf einheitliche Weise verbinden, verwalten und überwachen.

Mehr über OpenShift erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Anwendungen in Ihrem Unternehmen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Softwaredefinierter Storage sorgt für einen permanenten Datenspeicher, während Container in mehreren Umgebungen hoch- und heruntergefahren werden.

Eine KI-Plattform, die Tools zum schnellen Entwickeln, Trainieren, Bereitstellen und Überwachen von Modellen und KI-gestützten Anwendungen bietet.

Eine zentrale Konsole mit integrierten Sicherheitsrichtlinien, mit der Sie Kubernetes-Cluster und -Anwendungen verwalten können.

Ressourcen

Training

Kostenloser Trainingskurs

Running Containers with Red Hat Technical Overview

Kostenloser Trainingskurs

Developing Cloud-Native Applications with Microservices Architectures

Kostenloser Trainingskurs

Containers, Kubernetes and Red Hat OpenShift Technical Overview