Auswählen der passenden Azure-HostingoptionChoose the right Azure hosting option

Dieser Artikel enthält Informationen über und Vergleiche zwischen den verschiedenen Optionen, die Ihnen in Azure zur Verfügung stehen, wenn Sie Ihre vorhandenen .NET Framework-Anwendungen aus Ihrer lokalen Umgebung zu Azure migrieren möchten.This article provides considerations and comparisons between the multiple choices you have in Azure when migrating your existing .NET Framework applications from on-premises to Azure.

Bei der Migration vorhandener .NET-Anwendungen zu Azure sind grundsätzlich folgende Bereiche zu berücksichtigen:The fundamental areas to consider when migrating existing .NET applications to Azure are:

  1. ComputeoptionenCompute choices
  2. DatenbankoptionenDatabase choices
  3. Netzwerk- und SicherheitsaspekteNetworking and security considerations
  4. Authentifizierungs- und AutorisierungsaspekteAuthentication and authorization considerations

ComputeoptionenCompute choices

Bei der Migration vorhandener .NET Framework-Anwendungen zu Azure stehen Ihnen mehrere Optionen zur Verfügung.When migrating existing .NET Framework applications to Azure you have multiple choices. Da .NET Framework allerdings auf Windows basiert, beschränken sich die im Anschluss angegebenen Optionen auf Windows-basierte Computedienste.However, since .NET Framework depends on Windows, the following choices are limited to Windows-based compute services.

Die folgende Tabelle enthält verschiedene Gegenüberstellungen und Empfehlungen, um Sie bei der Wahl des passenden Computemigrationspfads für Ihre vorhandene .NET-Anwendung zu unterstützen:The following table shows several comparisons and recommendations to help you choose the right compute migration path for your existing .NET application.

Virtuelle Azure-ComputerAzure VMs Azure App ServiceAzure App Service Windows-ContainerWindows Containers
Empfohlene VerwendungWhen to use
  • Die Anwendung ist stark vom Server und von lokalen MSI-Installationen abhängig.Application has strong dependencies on the server and local .msi installations.
  • Sie möchten den einfachsten Migrationspfad für die Anwendung nutzen.You want the easiest application migration path
Die App ist nicht vom Server abhängig, sondern einfach eine reine ASP.NET-Web-App (MVC, WebForm) oder N-Tier-App (Web-API, WCf), die auf einen Datenbankserver zugreift.App has no dependencies on the server, it is just a clean ASP.NET web app (MVC, WebForm) or N-Tier app (Web API, WCf) accessing a database server.
  • Die Anwendung ist zwar vom Ursprungsserver abhängig, diese Abhängigkeiten können aber in das Docker-Windows-Image aufgenommen werden.Application has dependencies on the original server but those dependencies can be included in the Docker Windows image.
  • Sie möchten die App modernisieren, damit sie cloud- und DevOps-fähig ist.Want to modernize the app so it is Cloud DevOps-Ready
VorteilePros & benefits
  • Einfachster MigrationspfadEasiest migration path
  • Vertraute Umgebung.Familiar environment. Die Bereitstellungsumgebung ist ein virtueller Computer und ähnelt somit stark einem lokalen Server.Deployment environment is a VM, so it's similar to on-premises servers.
Laufende PaaS-Wartung, einfachste Methode für die Verwaltung und Skalierung von Apps in AzureOngoing PaaS maintenance, simplest way to manage and scale apps in Azure.
  • Zukunftssicher, cloud- und DevOps-fähig mit Abhängigkeiten, die in die Container der App integriert sindPrepared for the future, Cloud DevOps-Ready with dependencies included in the app's containers.
  • Nahezu keine Überarbeitung von .NET-/C#-Code erforderlichAlmost no need to refactor .NET /C# code.
NachteileCons IaaS.It is IaaS. Teure Wartung.Maintenance is costly. Sie müssen das Netzwerk, den Lastenausgleich, die horizontale Skalierung, die IIS und Ähnliches für die VM-Infrastruktur verwalten.You have to manage the VM's infrastructure about networking, load-balancer, scale-out, IIS management, and so on.
  • Nicht alle Apps werden unterstützt.Not all apps are supported
  • Der Code einiger Apps muss möglicherweise umgestaltet werden, damit diese Azure App Service unterstützen. Gegebenenfalls muss sogar die Architektur geringfügig angepasst werden.Some apps might need to be refactored and even slightly rearchitected, so they support Azure App Service.
  • Lernkurve für DockerDocker's skills learning curve
  • Änderungen am Code und an den App-KonfigurationseinstellungenSome code and app configuration settings changes
AnforderungenRequirements Virtueller Windows Server-Computer mit den gleichen Anforderungen wie bei der App für die lokale UmgebungWindows Server VM with the same requirements than the app for on-premises Anforderungen für Azure App Service, die unter Bereitschaftsprüfungen angegeben sindAzure App Service requirements specified in Readiness checks.
Vorgehensweise zum MigrierenHow to migrate Migrieren einer ASP.NET-Webanwendung zu einem virtuellen Azure-ComputerSee Migrate to Azure Virtual Machines Migrieren einer ASP.NET-Webanwendung zu Azure App ServiceSee Migrate Azure App Service Überlegungen, Szenarios und exemplarische Vorgehensweisen finden Sie im E-Book Modernisieren vorhandener .NET-Apps mit Azure und Windows-Containern.Follow considerations, scenarios, and walkthroughs explained in the Modernizing existing .NET apps with Azure and Windows Containers eBook

Im folgende Flussdiagramm wird ein Entscheidungsbaum für die Planung der Migration Ihrer vorhandenen .NET Framework-Anwendungen zu Azure dargestellt.The following flowchart diagram shows a decision tree when planning a migration to Azure for your existing .NET Framework applications. Falls möglich, probieren Sie zuerst Option A, Option B ist jedoch der einfachste Weg.If it's viable, try option A first, but option B is the easiest path to perform.

Flussdiagramm mit Hosting-Entscheidungsstruktur

DatenbankoptionenDatabase choices

Wenn Sie relationale Datenbanken zu Azure migrieren möchten, haben Sie mehrere Möglichkeiten.When migrating relational databases to Azure you have multiple choices. Hilfreiche Informationen zur Wahl des passenden Datenbankmigrationspfads für Ihre vorhandene .NET-Anwendung finden Sie unter Migrieren einer SQL Server-Datenbank zu Azure.See Migrate your SQL Server database to Azure to help you choose the right database migration path for your existing .NET application.

Netzwerk- und SicherheitsaspekteNetworking and security considerations

Wenn Sie Anwendungen in einer öffentlichen Cloud wie Microsoft Azure bereitstellen, empfiehlt es sich unter Umständen, bestimmte Netzwerke durch Erstellen von Netzwerk-DMZs zu isolieren und zu schützen – etwa durch eine DMZ zwischen Azure und Ihrem lokalen Datencenter oder durch eine DMZ zwischen Azure und dem Internet.When deploying applications to a public cloud like Microsoft Azure, you might want to isolate and secure certain networks by creating network DMZs, such as a DMZ between Azure and on-premises or a DMZ between Azure and the Internet. DMZs können mit Azure Virtual Network implementiert werden.DMZs can be implemented with Azure Virtual Network.

Virtuelle Azure-Netzwerke ermöglichen Folgendes:Azure Virtual networks enable you to:

  • Erstellen einer von Ihnen kontrollierten HybridinfrastrukturBuild a hybrid infrastructure that you control
  • Verwenden eigener IP-Adressen und DNS-ServerBring your own IP addresses and DNS servers
  • Schützen von Verbindungen mit einem IPsec-VPN oder mit ExpressRouteSecure your connections with an IPsec VPN or ExpressRoute
  • Differenzierte Kontrolle über den Datenverkehr zwischen SubnetzenGet granular control over traffic between subnets
  • Erstellen durchdachter Netzwerktopologien mit virtuellen GerätenCreate sophisticated network topologies using virtual appliances
  • Schaffen einer isolierten und hochgradig sicheren Umgebung für Ihre AnwendungenGet an isolated and highly secure environment for your applications

Informationen zu den ersten Schritten beim Erstellen eines eigenen virtuellen Netzwerks finden Sie in der Dokumentation zu Azure Virtual Network.To get started building your own virtual network, see the Azure Virtual Network documentation.

Authentifizierungs- und Autorisierungsaspekte bei der Migration zu AzureAuthentication and authorization considerations when migrating to Azure

Die Sicherheit ist eines der Hauptanliegen von Organisationen, die eine Migration in die Cloud durchführen.A top concern of any organization moving to the cloud is security. Die meisten Unternehmen haben viel Zeit, Geld und Know-how in die Gestaltung und Entwicklung eines Sicherheitsmodells investiert. Daher ist es wichtig, dass ihre Investitionen in Maßnahmen wie Identitätsspeicher und Lösungen für einmaliges Anmelden nicht umsonst waren.Most companies have invested a substantial amount of time, money, and engineering into designing and developing a security model, and it's important that they're able to leverage existing investments such as identity stores and single sign-on solutions.

Viele lokal ausgeführte B2E-.NET-Unternehmensanwendungen nutzen zur Authentifizierung und Identitätsverwaltung Active Directory.Many existing enterprise B2E .NET applications running on-premises use Active Directory for authentication and identity management. Mit Azure AD Connect können Sie Ihre lokalen Verzeichnisse in Azure Active Directory integrieren.Azure AD Connect enables you to integrate your on-premises directories with Azure Active Directory. Informationen zu den ersten Schritten finden Sie unter Integrieren Ihrer lokalen Verzeichnisse in Azure Active Directory.To get started, see Integrate your on-premises directories with Azure Active Directory.

Ausführlichere Informationen zur Azure Active Directory-Planung finden Sie unter Ermitteln der Identitätsanforderungen für Ihre Hybrid-Identitätslösung.See Identity requirements for your hybrid identity solution for further planning related to Azure Active Directory.

Als Authentifizierungsprotokolle stehen außerdem OAuth und OpenID zur Verfügung, die häufig in kundenorientierten Anwendungen zum Einsatz kommen.Other authentication protocol choices are OAuth and OpenID, which are common in consumer-facing applications. Bei Verwendung autonomer Identitätsdatenbanken (etwa eine SQL-basierte ASP.NET-Identitätsdatenbank, die unter Verwendung von OAuth in IdentityServer4 eingeschlossen ist) ist in der Regel keine Verbindung mit lokalen Datenbanken oder Verzeichnissen erforderlich.When using autonomous identity databases, such as an ASP.NET Identity SQL database wrapped by IdentityServer4 using OAuth, no connectivity to on-premises databases or directories is usually required.

Nächste SchritteNext steps