Webanwendung mit mehreren Ebenen, die für Hochverfügbarkeit und Notfallwiederherstellung in Azure konzipiert istMultitier web application built for high availability and disaster recovery on Azure

Dieses Beispielszenario ist für alle Branchen relevant, in denen robuste Anwendungen mit mehreren Ebenen bereitgestellt werden müssen, die für Hochverfügbarkeit und Notfallwiederherstellung konzipiert sind.This example scenario is applicable to any industry that needs to deploy resilient multitier applications built for high availability and disaster recovery. Die Anwendung in diesem Szenario umfasst drei Ebenen.In this scenario, the application consists of three layers.

  • Webebene: Die oberste Ebene, die auch die Benutzeroberfläche enthält.Web tier: The top layer including the user interface. Diese Ebene analysiert Benutzerinteraktionen und übergibt die Aktionen zur Verarbeitung an die nächste Ebene.This layer parses user interactions and passes the actions to next layer for processing.
  • Geschäftsebene: Verarbeitet die Benutzerinteraktionen und trifft logische Entscheidungen hinsichtlich der nächsten Schritte.Business tier: Processes the user interactions and makes logical decisions about the next steps. Diese Ebene verbindet die Webebene mit der Datenebene.This layer connects the web tier and the data tier.
  • Datenebene: Speichert die Anwendungsdaten.Data tier: Stores the application data. Hierzu wird In der Regel eine Datenbank, ein Objektspeicher oder ein Dateispeicher verwendet.Either a database, object storage, or file storage is typically used.

Zu den gängigen Anwendungsszenarien zählen unter anderem unternehmenskritische Anwendungen unter Windows oder Linux.Common application scenarios include any mission-critical application running on Windows or Linux. Hierbei kann es sich um Standardanwendungen wie SAP und SharePoint oder um eine spezielle Branchenanwendung handeln.This can be an off-the-shelf application such as SAP and SharePoint or a custom line-of-business application.

Relevante AnwendungsfälleRelevant use cases

Zu den weiteren relevanten Anwendungsfällen zählen:Other relevant use cases include:

  • Bereitstellen von Anwendungen mit hoher Resilienz wie SAP und SharePointDeploying highly resilient applications such as SAP and SharePoint
  • Entwerfen eines BCDR-Plans (Business Continuity & Disaster Recovery) für BranchenanwendungenDesigning a business continuity and disaster recovery plan for line-of-business applications
  • Konfigurieren der Notfallwiederherstellung und Ausführen entsprechender Übungen zu CompliancezweckenConfigure disaster recovery and perform related drills for compliance purposes

AufbauArchitecture

In diesem Szenario wird eine Anwendung mit mehreren Ebenen gezeigt, die ASP.NET und Microsoft SQL Server verwendet.This scenario demonstrates a multitier application that uses ASP.NET and Microsoft SQL Server. In Azure-Regionen, die Verfügbarkeitszonen unterstützen, können Sie Ihre virtuellen Computer (Virtual Machines, VMs) in einer Quellregion über Verfügbarkeitszonen hinweg bereitstellen und die virtuellen Computer in der für die Notfallwiederherstellung verwendeten Zielregion replizieren.In Azure regions that support availability zones, you can deploy your virtual machines (VMs) in a source region across availability zones and replicate the VMs to the target region used for disaster recovery. In Azure-Regionen, die keine Verfügbarkeitszonen unterstützen, können Sie Ihre virtuellen Computer innerhalb einer Verfügbarkeitsgruppe bereitstellen und die virtuellen Computer in der Zielregion replizieren.In Azure regions that don't support availability zones, you can deploy your VMs within an availability set and replicate the VMs to the target region.

Architekturübersicht für eine Webanwendung mit hoher Resilienz und mehreren Ebenen

  • Verteilen Sie in Regionen, die Zonen unterstützen, die virtuellen Computer der einzelnen Ebenen auf zwei Verfügbarkeitszonen.Distribute the VMs in each tier across two availability zones in regions that support zones. Stellen Sie in anderen Regionen die virtuellen Computer der einzelnen Ebenen in einer einzelnen Verfügbarkeitsgruppe bereit.In other regions, deploy the VMs in each tier within one availability set.
  • Die Datenbankebene kann so konfiguriert werden, dass Always On-Verfügbarkeitsgruppen konfiguriert werden.The database tier can be configured to use Always On availability groups. Mit dieser SQL Server-Konfiguration wird eine primäre Datenbank in einem Cluster mit bis zu acht sekundären Datenbanken konfiguriert.With this SQL Server configuration, one primary database within a cluster is configured with up to eight secondary databases. Im Falle eines Problems mit der primären Datenbank führt der Cluster ein Failover auf eine der sekundären Datenbanken aus, damit die Anwendung weiterhin verfügbar ist.If an issue occurs with the primary database, the cluster fails over to one of the secondary databases, allowing the application to remain available. Weitere Informationen finden Sie unter Übersicht über Always On-Verfügbarkeitsgruppen für SQL Server.For more information, see Overview of Always On availability groups for SQL Server.
  • In Notfallwiederherstellungsszenarien können Sie eine asynchrone native SQL AlwaysOn-Replikation in der für die Notfallwiederherstellung verwendeten Zielregion konfigurieren.For disaster recovery scenarios, you can configure SQL Always On asynchronous native replication to the target region used for disaster recovery. Sie können auch eine Azure Site Recovery-Replikation in der Zielregion konfigurieren, sofern die Datenänderungsrate innerhalb der unterstützten Grenzwerte von Azure Site Recovery liegt.You can also configure Azure Site Recovery replication to the target region if the data change rate is within supported limits of Azure Site Recovery.
  • Benutzer greifen über den Traffic Manager-Endpunkt auf die Front-End-ASP.NET-Webebene zu.Users access the front-end ASP.NET web tier via the traffic manager endpoint.
  • Der Traffic Manager leitet Datenverkehr an den primären öffentlichen IP-Endpunkt in der primären Quellregion weiter.The traffic manager redirects traffic to the primary public IP endpoint in the primary source region.
  • Die öffentliche IP-Adresse leitet den Aufruf über einen öffentlichen Load Balancer an eine der VM-Instanzen der Webebene weiter.The public IP redirects the call to one of the web tier VM instances through a public load balancer. Alle VM-Instanzen der Webebene befinden sich im gleichen Subnetz.All web tier VM instances are in one subnet.
  • Von dem virtuellen Computer auf der Webebene wird jeder Aufruf über einen internen Load Balancer zur Verarbeitung an eine der VM-Instanzen auf der Geschäftsebene weitergeleitet.From the web tier VM, each call is routed to one of the VM instances in the business tier through an internal load balancer for processing. Alle virtuellen Computer auf der Geschäftsebene befinden sich in einem separaten Subnetz.All business tier VMs are in a separate subnet.
  • Der Vorgang wird auf der Geschäftsebene verarbeitet, und die ASP.NET-Anwendung stellt über einen internen Azure Load Balancer eine Verbindung mit dem Microsoft SQL Server-Cluster auf einer Back-End-Ebene her.The operation is processed in the business tier and the ASP.NET application connects to Microsoft SQL Server cluster in a back-end tier via an Azure internal load balancer. Diese SQL Server-Back-End-Instanzen befinden sich in einem separaten Subnetz.These back-end SQL Server instances are in a separate subnet.
  • Der sekundäre Endpunkt des Traffic Managers wird als öffentliche IP-Adresse in der für die Notfallwiederherstellung verwendeten Zielregion konfiguriert.The traffic manager's secondary endpoint is configured as the public IP in the target region used for disaster recovery.
  • Im Falle einer Störung der primären Region rufen Sie ein Azure Site Recovery-Failover auf, und die Anwendung wird in der Zielregion aktiv.In the event of a primary region disruption, you invoke Azure Site Recovery failover and the application becomes active in the target region.
  • Der Traffic Manager-Endpunkt leitet den Clientdatenverkehr automatisch an die öffentliche IP-Adresse in der Zielregion um.The traffic manager endpoint automatically redirects the client traffic to the public IP in the target region.

KomponentenComponents

  • Verfügbarkeitsgruppen sorgen dafür, dass die von Ihnen in Azure bereitgestellten virtuellen Computer auf mehrere isolierte Hardwareknoten in einem Cluster verteilt werden.Availability sets ensure that the VMs you deploy on Azure are distributed across multiple isolated hardware nodes in a cluster. Dadurch wirken sich Hardware- oder Softwarefehler in Azure nur auf einen Teil Ihrer virtuellen Computer aus, und Ihre Lösung bleibt insgesamt verfügbar und betriebsbereit.If a hardware or software failure occurs within Azure, only a subset of your VMs are affected and your entire solution remains available and operational.
  • Verfügbarkeitszonen schützen Ihre Anwendungen und Daten vor Datencenterausfällen.Availability zones protect your applications and data from datacenter failures. Bei Verfügbarkeitszonen handelt es sich um separate physische Standorte in einer Azure-Region.Availability zones are separate physical locations within an Azure region. Jede Zone besteht aus mindestens einem Datencenter mit eigener Stromversorgung, Kühlung und Netzwerk.Each zone consists of one or more datacenters equipped with independent power, cooling, and networking.
  • Mit Azure Site Recovery können Sie virtuelle Computer in einer anderen Azure-Region replizieren, um Ihre BCDR-Anforderungen (Business Continuity & Disaster Recovery) zu erfüllen.Azure Site Recovery allows you to replicate VMs to another Azure region for business continuity and disaster recovery needs. Sie können regelmäßige Notfallwiederherstellungsübungen ausführen, um die Einhaltung von Complianceanforderungen zu gewährleisten.You can conduct periodic disaster recovery drills to ensure you meet the compliance needs. Der virtuelle Computer wird mit den angegebenen Einstellungen in der ausgewählten Region repliziert, sodass Sie Ihre Anwendungen bei Ausfällen in der Quellregion wiederherstellen können.The VM will be replicated with the specified settings to the selected region so that you can recover your applications in the event of outages in the source region.
  • Azure Traffic Manager ist ein DNS-basierter Lastenausgleich, der Datenverkehr optimal auf Dienste in den globalen Azure-Regionen verteilt und gleichzeitig für Hochverfügbarkeit und kurze Reaktionszeiten sorgt.Azure Traffic Manager is a DNS-based traffic load balancer that distributes traffic optimally to services across global Azure regions while providing high availability and responsiveness.
  • Azure Load Balancer verteilt eingehenden Datenverkehr auf der Grundlage von definierten Regeln und Integritätstests.Azure Load Balancer distributes inbound traffic according to defined rules and health probes. Ein Load Balancer sorgt für kurze Wartezeiten und hohen Durchsatz und kann auf Millionen von Flows für alle TCP- und UDP-Anwendungen skalieren.A load balancer provides low latency and high throughput, scaling up to millions of flows for all TCP and UDP applications. In diesem Szenario wird ein öffentlicher Load Balancer verwendet, um eingehenden Clientdatenverkehr auf der Webebene zu verteilen.A public load balancer is used in this scenario to distribute incoming client traffic to the web tier. Außerdem wird in diesem Szenario ein interner Lastenausgleich verwendet, um Datenverkehr von der Geschäftsebene auf den Back-End-SQL Server-Cluster zu verteilen.An internal load balancer is used in this scenario to distribute traffic from the business tier to the back-end SQL Server cluster.

AlternativenAlternatives

  • Windows kann durch verschiedene andere Betriebssysteme ersetzt werden, da die Infrastruktur nicht vom Betriebssystem abhängig ist.Windows can be replaced by other operating systems because nothing in the infrastructure is dependent on the operating system.
  • SQL Server für Linux kann den Back-End-Datenspeicher ersetzen.SQL Server for Linux can replace the back-end data store.
  • Die Datenbank kann durch eine beliebige Standard-Datenbankanwendung ersetzt werden.The database can be replaced by any standard database application available.

Weitere ÜberlegungenOther considerations

SkalierbarkeitScalability

Sie können auf jeder Ebene virtuelle Computer hinzufügen oder entfernen, um Ihre Skalierungsanforderungen zu erfüllen.You can add or remove VMs in each tier based on your scaling requirements. Da in diesem Szenario Load Balancer verwendet werden, können Sie einer Ebene weitere virtuelle Computer hinzufügen, ohne dass dies Auswirkungen auf die Anwendungsbetriebszeit hat.Because this scenario uses load balancers, you can add more VMs to a tier without affecting application uptime.

Weitere Skalierbarkeitsthemen finden Sie im Azure Architecture Center in der Prüfliste zur Leistungseffizienz.For other scalability topics, see the performance efficiency checklist in the Azure Architecture Center.

SicherheitSecurity

Der gesamte Datenverkehr des virtuellen Netzwerks an die Front-End-Anwendungsebene wird durch Netzwerksicherheitsgruppen geschützt.All the virtual network traffic into the front-end application tier is protected by network security groups. Anhand von Regeln wird der Datenverkehrsfluss eingeschränkt, sodass nur die VM-Instanzen der Front-End-Anwendungsebene auf die Back-End-Datenbankebene zugreifen können.Rules limit the flow of traffic so that only the front-end application tier VM instances can access the back-end database tier. Auf der Geschäfts- oder Datenbankebene ist kein ausgehender Internetdatenverkehr zulässig.No outbound internet traffic is allowed from the business tier or database tier. Es werden keine Ports für die direkte Remoteverwaltung geöffnet, um die Angriffsfläche zu reduzieren.To reduce the attack footprint, no direct remote management ports are open. Weitere Informationen finden Sie unter Azure-Netzwerksicherheitsgruppen.For more information, see Azure network security groups.

Allgemeine Informationen zur Entwicklung sicherer Szenarien finden Sie in der Dokumentation zur Azure-Sicherheit.For general guidance on designing secure scenarios, see the Azure Security Documentation.

PreisePricing

Wenn Sie die Notfallwiederherstellung für virtuelle Azure-Computer mit Azure Site Recovery konfigurieren, fallen regelmäßig folgende Gebühren an:Configuring disaster recovery for Azure VMs using Azure Site Recovery will incur the following charges on an ongoing basis.

  • Azure Site Recovery-Lizenzierungskosten pro virtuellem Computer.Azure Site Recovery licensing cost per VM.
  • Kosten für ausgehenden Netzwerkdatenverkehr, um Datenänderungen auf den Datenträgern virtueller Quellcomputer in einer anderen Azure-Region zu replizieren.Network egress costs to replicate data changes from the source VM disks to another Azure region. Azure Site Recovery verwendet eine integrierte Komprimierung, um den Datenübertragungsbedarf um etwa 50 Prozent zu verringern.Azure Site Recovery uses built-in compression to reduce the data transfer requirements by approximately 50%.
  • Speicherkosten am Wiederherstellungsstandort.Storage costs on the recovery site. Diese entsprechen in der Regel dem Quellregionsspeicher plus dem Speicher, der ggf. zusätzlich benötigt wird, um die Wiederherstellungspunkte als Momentaufnahmen für die Wiederherstellung zu verwalten.This is typically the same as the source region storage plus any additional storage needed to maintain the recovery points as snapshots for recovery.

Wir haben einen Beispielkostenrechner für die Konfiguration der Notfallwiederherstellung für eine Anwendung mit drei Ebenen und sechs virtuellen Computern bereitgestellt.We have provided a sample cost calculator for configuring disaster recovery for a three-tier application using six virtual machines. In dem Kostenrechner sind bereits alle Dienste vorkonfiguriert.All of the services are pre-configured in the cost calculator. Wenn Sie wissen möchten, welche Kosten für Ihren spezifischen Anwendungsfall entstehen, können Sie die entsprechenden Variablen anpassen, um eine Kostenschätzung zu erhalten.To see how the pricing would change for your particular use case, change the appropriate variables to estimate the cost.