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) geschrieben wurde. VB.NET 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 OS-based Linux-Diensten gehostet werden. Bei der Modernisierung Framework-based von.NET-Workloads können Sie for.NET verwenden,AWS Transform um Ihren Code zu scannen und einen Kompatibilitätsbewertungsbericht zu erstellen. Indem Sie herausfinden, ob es inkompatible .NET Framework-APIs gibt, auf die in Ihrem Projekt verwiesen wird, können Sie die Komplexität eines Migrationsprojekts einplanen und entscheiden, ob und wann Sie einen Faktorwechsel für Ihren Code durchführen müssen, um eine neuere Laufzeit 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-based Websites auf Internet Information Services (IIS) rehosten, die auf Amazon EC2 EC2-Instances ausgeführt werden. 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 Applications oder Amazon WorkSpaces
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 AWS Transform für.NET können verwendet werden, um Ihre Codebasis von.NET Framework nach.NET zu portieren. Indem Sie Ihre vorhandenen .NET-Workloads für die Ausführung umgestalten, 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-based Websites bedeutet Rehosting in der Regel, dass sie auf 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 Amazon EC2 EC2-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 lokale Umgebungen verwenden.
Wenn Sie IIS auf EC2-Windows-Instances hosten, ist es wichtig, das AWS Well-ArchitectedFramework
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 Server-based Windows-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 WorkSpaces Applications
— 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 WorkSpaces Applications verwenden, um Ihren Benutzern den Zugriff auf Ihre .NET-Anwendungen über das Internet zu ermöglichen. Wenn Sie bereits über bestehende RDS-CALs und aktive SA verfügen, können Sie diese Lizenzen mithilfe von License Mobility mit WorkSpaces Applications 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 Support 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-based 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-based Container oder Windows-based Container ausführen.
Weitere Informationen finden Sie in den folgenden Ressourcen:
-
Amazon EC2 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) -
Schnellstart: CI/CD für.NET-Anwendungen auf AWS Fargate(Dokumentation
)AWS
Die Containerisierung von .NET-basierten Anwendungen hängt von der verwendeten .NET-Laufzeit ab. Berücksichtigen Sie dabei Folgendes:
-
Framework-based .NET-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.
-
.NET oder .NET Core — Zusätzlich zur Ausführung neuerer Versionen. NET-based Webanwendungen auf Amazon ECS oder Amazon EKS, die Sie ebenfalls verwenden können 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.
Refactor/re-architect vorhandener Code
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 vom .NET Framework migrieren, indem Sie for.NET verwenden. Dabei werden Ihre Codedateien gescannt und ein Bericht erstellt, der Sie bei der Planung der Roadmap AWS Transform für die Migration Ihres Anwendungsportfolios unterstützt. Der Portierungsassistent für .NET kann auch Ihren Portierungsaufwand reduzieren, indem inkompatible .NET Core-APIs und -Pakete identifiziert und bekannte Ersatzprodukte gefunden werden. Durch die Migration von.NET Framework-Anwendungen zu .NET können sie ARM64-based auf Graviton-Prozessoren ausgeführt werden, was zu einem besseren Preis-Leistungs-Verhältnis führt. Weitere Informationen finden Sie unter .NET on Graviton on GitHub und Graviton
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. Durch die Identifizierung von Komponenten und Gruppierungsfunktionen können Entwicklungsteams schrittweise Funktionen aus monolithischen .NET Framework-Anwendungen in .NET-Services extrahieren.
Faktorwechsel zu Serverless-Anwendungen
AWS Lambda
Weitere Ressourcen
-
AWS Toolkit für Azure DevOps
(Dokumentation)AWS -
Über das AWS Deploy Tool für .NET
()AWS GitHub -
.NET on AWS
(AWS Dokumentation) -
aws/dotnet
(GitHub)