Überblick
.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.
Warum .NET-Anwendungen modernisieren?
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.
Red Hat Ressourcen
Wie werden .NET-Anwendungen modernisiert?
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.
- 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.
- 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.
- 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.
Warum Red Hat?
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.
Der offizielle Red Hat Blog
Lernen Sie mehr über unser Ökosystem von Kunden, Partnern und Communities und erfahren Sie das Neueste zu Themen wie Automatisierung, Hybrid Cloud, KI und mehr.