Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren von .NET-Anwendungen
AWS Durch die Migration Ihrer .NET-Anwendungen auf können Sie hochverfügbare Workloads mit elastischen Skalierungsfunktionen erstellen, den Betriebsaufwand reduzieren und Ihre geschäftliche Flexibilität erhöhen, indem Sie sich auf Ihr Alleinstellungsmerkmal konzentrieren.
Dieser Abschnitt konzentriert sich auf die verschiedenen Optionen für das Hosten Ihrer .NET-Anwendungen. AWS Sie können wählen, ob Sie eine virtuelle Maschine, eine verwaltete Lösung wie AWS Elastic Beanstalk
Bewerten
Die Auswahl eines Migrationspfads für Ihre .NET-Workload hängt von den folgenden Schlüsselfaktoren ab:
-
Ermitteln der verwendeten .NET-Version – es gibt zwei verschiedene .NET-Implementierungen, die von Microsoft unterstützt werden: .NET Framework (1.0–4.8) und.NET (.NET Core 1.0–3.1 sowie .NET 5 und höher). Beide verwenden viele der gleichen Komponenten und können Anwendungscode ausführen, der in den verschiedenen .NET-Programmiersprachen (wie C#, F# und VB.NET) geschrieben wurde. Die Wahl einer Migrationsstrategie und eines Hosting-Dienstes hängt von der verwendeten Laufzeit ab, da .NET Framework unter Windows ausgeführt wird, wohingegen das neuere.NET plattformübergreifend ist. Für das.NET Framework können Sie entweder auf einem Windows-Betriebssystem hosten oder Ihren Code so umgestalten, dass er das neuere.NET verwendet. Das neuere.NET kann auch auf Diensten gehostet werden, die auf dem Betriebssystem Linux basieren. Bei der Modernisierung von .NET-Framework-basierten Workloads können Sie den Porting Assistant für .NET
oder das AWS Toolkit für .NET-Faktorwechsel verwenden, um Ihren Code zu scannen und einen Kompatibilitätsbewertungsbericht zu erstellen. Indem Sie herausfinden, ob Ihr Projekt inkompatibles .NET Framework APIs referenziert, können Sie die Komplexität eines Migrationsprojekts einplanen und entscheiden, ob und wann Sie Ihren Code umgestalten möchten, um eine neuere Runtime zu verwenden. -
Überprüfen Sie Ihre aktuelle Bereitstellung — Prüfen Sie, ob der aktuell migrierte Workload über bestehende CI/CD Pipelines verfügt, die aktualisiert werden können, um dieselben Workloads in der Cloud bereitzustellen. Durch die Verwendung einer vorhandenen Build- und Deploy-Pipeline kann der Zeitaufwand für die Bereitstellung Ihrer Anwendung in der Cloud reduziert werden, da die für die Erstellung, Konfiguration und Bereitstellung Ihrer Workloads erforderlichen Schritte automatisiert werden.
-
Überprüfen Ihrer Roadmap – je nach aktuellem Stand des Projekts planen Sie möglicherweise bereits, einen Architekturwechsel oder eine Neugestaltung Ihrer Anwendungen. Bei jeder durchgeführten Modernisierung sollte die Produkt-Roadmap berücksichtigt werden. Beispielsweise ist die Entscheidung, vorhandenen Code zu containerisieren oder eine monolithische Architektur in Microservices umzuwandeln, idealerweise Teil der Produkt-Roadmap und wird mit anderen Entwicklungsbemühungen abgestimmt.
Mobilisieren
Es gibt drei verschiedene Migrationspfade, die Sie bei der Migration Ihrer .NET-Workloads in Betracht ziehen sollten. AWS Sie können je nach Komplexität Ihrer vorhandenen Codebasis, der für die Migration vorgesehenen Zeit und der Größe des Teams, das für die Unterstützung der Migration zuständig ist, zwischen den verschiedenen Optionen wählen. Wenn Sie die Modernisierung als Teil Ihrer Migration in Betracht ziehen, ist es eine bewährte Methode, sich an der Roadmap des Produkts zu orientieren.
-
Rehost (Lift & Shift) — Sie können diesen Ansatz wählen, wenn Ihre Priorität eine schnellere Migration AWS mit wenigen bis gar keinen Änderungen ist. Sie können ASP.NET-basierte Websites auf Internet Information Services (IIS) rehosten, die auf Amazon-Instances ausgeführt werden. EC2 Sie können Ihre Desktop-basierten Anwendungen (wie Windows Presentation Foundation, Web Forms und .NET MAUI) auf einer der Computerplattformen für Endbenutzer wie Amazon 2.0 oder Amazon AppStream
rehosten. WorkSpaces -
Plattformwechsel – ein Plattformwechsel eignet sich am besten, wenn Sie Ihre Anwendung mithilfe eines verwalteten Dienstes hosten möchten, ohne Codeänderungen vorzunehmen, aber Ihren betrieblichen Aufwand reduzieren möchten, indem Sie undifferenzierte Aufgaben wie Installation, Patching, Upgrades und Instance-Verwaltung auslagern. Diese Strategie eignet sich auch für Teams, die auf containerbasierte Workloads umsteigen möchten. Sie können Ihre vorhandenen Anwendungen auf Elastic Beanstalk
umstellen oder Docker-Container verwenden, die auf Amazon ECS, Amazon EKS oder gehostet werden. AWS App Runner -
Refactor — Wählen Sie diesen Ansatz, wenn Sie Zeit und Mühe in Code- und Architekturänderungen investieren können, die den betrieblichen Aufwand reduzieren und mithilfe Cloud-nativer Dienste eine bessere Skalierung, Hochverfügbarkeit und Notfallwiederherstellung erreichen. AWS Beim Faktorwechsel müssen Sie Ihre Codebasis modernisieren, indem Sie vorhandene.NET-Framework-Anwendungen auf .NET (vormals .NET Core) portieren oder eine bestehende Codebasis modernisieren, um sie in der Cloud besser laufen zu lassen. Sie können den verwenden AWS SDK für .NET
, um viele AWS Cloud-Dienste aus Ihrem .NET-Code heraus aufzurufen. Tools wie Porting Assistant for .NET AWS Microservice Extractor for .NET können verwendet werden, um Ihre Codebasis von .NET Framework nach.NET zu portieren und Ihre monolithische Anwendung in Mikroservices aufzuteilen. Indem Sie Ihre vorhandenen.NET-Workloads so umgestalten, dass sie darauf ausgeführt werden können, können Sie serverloses Computing einsetzen AWS Lambda , um die Bereitstellung und Verwaltung der Infrastruktur zu vermeiden.
Migrieren
Die Schritte Ihrer Migration von .NET-Workloads hängen von dem Migrationspfad ab, den Sie in der Bewertungsphase gewählt haben, und von Ihrem Anwendungstyp.
Hostwechsel von .NET-Anwendungen
Wählen Sie diesen Migrationspfad, wenn Sie Ihre Anwendung ohne Codeänderungen migrieren möchten, aber von der automatischen Skalierung, Load Balancer und der Elastizität in der Cloud profitieren möchten. Bei Windows-basierten Websites bedeutet Rehosting in der Regel, dass sie unter Internetinformationsdiensten (IIS) ausgeführt werden. AWS Bei Desktop-basierten Anwendungen müssen Sie die Anwendung installieren und es Benutzern ermöglichen, von außerhalb eine Verbindung mit der Anwendung herzustellen.
Internetinformationsdienste auf AWS
Internet Information Services (IIS) ist ein Microsoft-Webserver, der auf einem Windows-Betriebssystem läuft und zum Hosten von Websites und Webdiensten verwendet wird. IIS kann auf jeder EC2 Amazon-Instance installiert werden, auf der Windows Server ausgeführt wird. Nachdem IIS aktiviert und konfiguriert wurde, können Sie Ihre ASP.NET-Websites und -Dienste mithilfe desselben Bereitstellungsmechanismus bereitstellen, den Sie für On-Premises-Umgebungen verwenden.
Wenn Sie IIS auf EC2 Windows-Instances hosten, ist es wichtig, das AWS Well-Architected Framework
Hosten von Desktop-Anwendungen auf AWS
Viele Kunden müssen auf Windows-basierte Thick Client-Anwendungen zugreifen. Sie haben die Wahl zwischen drei verschiedenen Plattformen:
-
Amazon EC2
— Wählen Sie diese Option, wenn Sie möchten, dass Ihre Benutzer mithilfe von Microsoft Remote Desktop eine Verbindung zu einer Windows Server-basierten Umgebung herstellen. Bei dieser Option sind Sie für das Patchen und die Wartung Ihres Betriebssystems verantwortlich. Sie müssen außerdem zusätzliche Remote Desktop Services-Clientzugriffslizenzen (RDS CALs) für Ihre Benutzer und aktive Software Assurance (SA) erwerben. Weitere Informationen finden Sie AWS in der AWS Dokumentation unter Microsoft-Lizenzierung . -
Amazon WorkSpaces
— Wählen Sie diese Option, wenn Sie eine vollständig verwaltete virtuelle Desktop-Infrastruktur (VDI) für Ihre Benutzer benötigen. Sie können sie verwenden WorkSpaces , um Ihren Benutzern ein beständiges Windows Desktop-Erlebnis zu bieten. Sie können Ihre WorkSpaces Umgebung auch anpassen und .NET-Anwendungen mithilfe eines benutzerdefinierten Images installieren oder Ihre .NET-Anwendungen in Ihren WorkSpaces Umgebungen bereitstellen. AWS Systems Manager Benutzer können entweder über ihren Browser oder den WorkSpacesAmazon-Client eine Verbindung herstellen. -
Amazon AppStream 2.0
— Wählen Sie diese Option, um sicheren, zuverlässigen und skalierbaren Zugriff auf Anwendungen und nicht persistente Desktops von jedem Standort aus zu ermöglichen. Sie können AppStream 2.0 verwenden, um Ihren Benutzern den Zugriff auf Ihre .NET-Anwendungen über das Internet zu ermöglichen. Wenn Sie bereits über RDS CALs und Active SA verfügen, können Sie diese Lizenzen mithilfe von License Mobility mit AppStream 2.0 verwenden.
Plattformwechsel
Beim Plattformwechsel müssen Sie Ihre Hosting-Umgebung mit nur wenigen bis gar keinen Codeänderungen ändern. Wählen Sie diese Strategie, um Ihren Betriebsaufwand zu reduzieren und die Vorteile von Cloud-Funktionen und -Services zu nutzen.
AWS Elastic Beanstalk
Sie können es verwenden AWS Elastic Beanstalk
Weitere Informationen finden Sie in den folgenden Ressourcen:
-
.NET-Anwendungen auf Elastic Beanstalk erstellen und bereitstellen (Elastic Beanstalk Beanstalk-Dokumentation)
-
Arbeiten mit.NET Core unter Linux (Elastic Beanstalk Beanstalk-Dokumentation)
-
Multi-App-Unterstützung mit benutzerdefinierten Domains für.NET und AWS Elastic Beanstalk
(AWS Developer Tools Blog)
Containerisieren vorhandener Anwendungen
Sie können Amazon ECS oder Amazon EKS verwenden, um Ihre Docker-basierten containerisierten Anwendungen zu hosten. AWS verwaltet beide Dienste. Die Wahl zwischen den beiden hängt von den vorhandenen Kenntnissen und Vorlieben ab. Beide Optionen können entweder Linux-basierte oder Windows-basierte Container ausführen.
Weitere Informationen finden Sie in den folgenden Ressourcen:
-
Amazon EC2 Windows-Container (Amazon ECS-Dokumentation)
-
Windows-Unterstützung für Ihren Amazon EKS-Cluster aktivieren (Amazon EKS-Dokumentation)
-
Ausführung von Windows-Containern mit Amazon ECS auf AWS Fargate
(AWS-Blog) -
Verkürzung der Startzeiten von Windows-Containern mit EC2 Image Builder und Image-Cache-Strategie
(AWS Blog) -
Schnellstart: CI/CD für.NET-Anwendungen auf AWS Fargate
(AWS Dokumentation)
Die Containerisierung von .NET-basierten Anwendungen hängt von der verwendeten .NET-Laufzeit ab. Berücksichtigen Sie dabei Folgendes:
-
.NET Framework-basierte Anwendungen werden auf Windows-Containern ausgeführt – das Hinzufügen von Docker-Unterstützung zu vorhandenen Anwendungen erfolgt durch die Erstellung einer Docker-Datei, in der beschrieben wird, wie die Anwendung containerisiert werden muss. Sie können AWS App2Container
es verwenden, um bestehende .NET Framework-basierte Anwendungen einfach zu containerisieren und zu migrieren. AWS App2Container scannt Ihren IIS-Server, um die erforderlichen Dateien zu ermitteln, und extrahiert die Zielanwendung, um ein Docker-Image zu erstellen. Sie können App2Container auch verwenden, um die Bereitstellungsartefakte zu erstellen, die zum Hosten Ihrer Anwendung in der erforderlich sind. AWS Cloud -
.NET oder .NET Core — Sie können nicht nur neuere .NET-basierte Webanwendungen auf Amazon ECS oder Amazon EKS ausführen, sondern auch verwenden. AWS App Runner
App Runner ist eine vollständig verwaltete Serverless-Lösung, die Ihren Code oder Ihr Container-Image ausführt und Load Balancing, Auto Scaling, Protokollierung, Zertifikate und Netzwerke verwaltet.
Faktorwechsel/Neugestaltung des bestehenden Codes
Wählen Sie diese Option, wenn Sie aus geschäftlichen Gründen dringend Funktionen, Skalierbarkeit oder Leistung hinzufügen müssen, die in der aktuellen Anwendungsumgebung sonst nur schwer zu erreichen sind. Abhängig von Ihrer Anwendungs-Roadmap können Sie wählen, ob Sie Ihren Code ändern möchten, um das neueste Framework oder cloudnative Dienste zu verwenden, oder ob Sie ihn so umgestalten möchten, dass er besser in der Cloud ausgeführt werden kann.
Die erste verfügbare Option zum Faktorwechsel besteht darin, Ihre vorhandene.NET Framework-Anwendung zu .NET zu migrieren. Die Umstellung auf .NET bietet Ihnen den Vorteil, dass Sie es auf Linux statt auf Windows ausführen können. Dies reduziert Ihre Gesamtlizenzkosten, bietet Ihnen die neuesten Frameworks und bietet die neuesten Versionen der .NET-Programmiersprachen.
AWS SDK für .NET
AWS SDK für .NET
Modernisieren von .NET Framework-Anwendungen
Sie können aus dem.NET Framework migrieren, indem Sie den Porting Assistant für .NET
Von Monolith zu Microservices
Viele Entwicklungsteams möchten ihre bestehenden monolithischen Anwendungen in Microservices umstrukturieren. Durch die Umstellung auf Microservice-basierte Architekturen können Ihre Entwicklungsteams die Entwicklungsflexibilität erhöhen, die Rechenkosten senken, Services individuell skalieren und ihre Bereitstellungszeiten verkürzen. AWS Microservice Extractor for .NET
Faktorwechsel zu Serverless-Anwendungen
AWS Lambda
Weitere Ressourcen
-
Amazon CodeCatalyst
(CodeCatalystDokumentation) -
AWS Toolkit for Azure DevOps
(AWS Dokumentation) -
Über das AWS Deploy Tool für .NET
()AWS GitHub -
.NET on AWS
(AWS Dokumentation) -
aws/dotnet
() GitHub