VERTRIEB: 1-800-867-1380

Anwendungsmuster und Entwicklungsstrategien für SQL Server in Azure Virtual Machines

Letzte Aktualisierung: Februar 2015

Technischer Artikel zu SQL Server und Azure

Zusammenfassung: Die Festlegung, welche Anwendungsmuster für auf SQL Server basierende Anwendungen in der Azure-Umgebung verwendet werden sollen, ist eine wichtige Entwurfsentscheidung und setzt ein profundes Wissen darüber voraus, wie SQL Server und die einzelnen Infrastrukturkomponenten von Azure zusammenarbeiten. Mit SQL Server in den Azure-Infrastrukturdiensten können Sie Ihre vorhandenen, unter Windows Server erstellten SQL Server-Anwendungen einfach zu virtuellen Computern in Azure migrieren sowie dort warten und überwachen.

Ziel dieses Artikels ist es, Lösungsarchitekten und -entwicklern eine Grundlage für eine gute Anwendungsarchitektur und deren Design zu verschaffen, an der sie sich orientieren können, wenn sie vorhandene Anwendungen zu Azure migrieren bzw. neue Anwendungen in Azure entwickeln.

Sie finden für jedes Anwendungsmuster ein lokales Szenario, die dazugehörige Cloud-aktivierte Lösung sowie die entsprechenden technischen Empfehlungen. Darüber hinaus behandelt der Artikel die spezifischen Azure-Entwicklungsstrategien, die einen erfolgreichen Entwurf der Anwendungen gewährleisten. Aufgrund der unbegrenzten Zahl verschiedener Anwendungsmuster empfehlen wir Architekten und Entwicklern, das für Ihre Anwendungen und Benutzer geeignetste Muster auszuwählen.

Autor: Selcin Turkarslan

Technische Mitwirkende: Luis Carlos Vargas Herring, Madhan Arumugam Ramakrishnan

Technische Bearbeiter: Corey Sanders, Drew McDaniel, Narayan Annamalai, Nir Mashkowski, Sanjay Mishra, Silvano Coriani, Stefan Schackow, Tim Hickey, Tim Wieman, Xin Jin

Sie können eine Vielzahl von n-schichtigen Anwendungen entwickeln, indem Sie die Komponenten der unterschiedlichen Anwendungsebenen auf verschiedenen Computern und in verschiedenen Komponenten anlegen. Beispielsweise können Sie die Clientanwendungs- und Geschäftsregelkomponenten auf einem Computer, und die Front-End-Webschicht- und Datenzugriffsschicht-Komponenten auf einem anderen Computer und eine Back-End-Datenbankschicht wiederum auf einem anderen Computer platzieren. Diese Art der Strukturierung hilft Ihnen dabei, die einzelnen Schichten voneinander zu isolieren. Wenn Sie die Quelle ändern, aus der Ihre Daten stammen, müssen Sie nicht die Client- oder Webanwendung ändern, sondern nur noch die Datenzugriffsschicht-Komponenten

Eine typische n-schichtige Anwendung umfasst die Präsentationsschicht, die Geschäftsschicht und die Datenschicht:

  • Die Präsentationsschicht (Webschicht, Front-End-Schicht) ist die Schicht, in der Benutzer mit einer Anwendung interagieren.

  • Die Geschäftsschicht (Mittelschicht) ist die Schicht, die von der Präsentations- und Datenschicht verwendet wird, um miteinander zu kommunizieren, und sie enthält die Hauptfunktionalität des Systems.

  • Die Datenschicht ist grundsätzlich der Server, auf dem die Daten einer Anwendung gespeichert werden (z. B. ein Server, auf dem SQL Server ausgeführt wird).

Anwendungsschichten beschreiben die logischen Gruppierungen der Funktionalität und Komponenten in einer Anwendung, während Schichten die physische Verteilung der Funktionalität und Komponenten auf getrennten physischen Servern, Computern, Netzwerken oder Remotestandorten beschreiben. Die Ebenen einer Anwendung können sich auf demselben physischen Computer befinden (in derselben Schicht) oder können auf getrennte Computer verteilt sein (n-schichtig), und die Komponenten in jeder Ebene kommunizieren mit Komponenten in anderen Ebenen durch wohldefinierte Schnittstellen. Sie können sich den Begriff Schicht so vorstellen, dass er sich auf physische Verteilungsmuster bezieht wie zweischichtig, dreischichtig und n-schichtig. Ein 2-stufiges Anwendungsmuster enthält zwei Anwendungsebenen: Anwendungsserver und Datenbankserver. Die direkte Kommunikation erfolgt zwischen dem Anwendungs- und dem Datenbankserver. Der Anwendungsserver enthält sowohl Webschicht- als auch Geschäftsschichtkomponenten. In einem 3-stufigen Anwendungsmuster gibt es drei Anwendungsebenen: Webserver, Anwendungsserver, der die Stufe der Geschäftslogik und/oder die Datenzugriffskomponenten der Geschäftsstufe enthält, und den Datenbankserver. Die Kommunikation zwischen dem Webserver und dem Datenbankserver erfolgt über den Anwendungsserver. Detaillierte Informationen zu Anwendungsebenen und -schichten finden Sie unter Microsoft-Leitfaden zur Anwendungsarchitektur.

Bevor Sie diesen Artikel lesen, sollten Sie mit den grundlegenden Konzepten von SQL Server und Azure vertraut sein. Informationen finden Sie in der SQL Server-Onlinedokumentation, unter SQL Server auf Azure Virtual Machines und auf WindowsAzure.com.

Dieser Artikel beschreibt mehrere Anwendungsmuster, die sich für Ihre einfachen Anwendungen sowie für hochkomplexe Unternehmensanwendungen eignen können. Bevor wir jedes Muster im Detail behandeln, empfehlen wir Ihnen, sich mit den verfügbaren Datenspeicherdiensten in Azure vertraut zu machen, beispielsweise Azure-Speicher, Azure SQL-Datenbank und SQL Server auf einem virtuellen Computer in Azure. Um optimale Designentscheidungen für Ihre Anwendungen treffen zu können, müssen Sie genau wissen, wann welcher Speicherdienst am besten verwendet wird.

Zusammengefasst lässt sich sagen: Verwenden Sie SQL Server auf einem virtuellen Computer in Azure unter folgenden Voraussetzungen:

  • Sie benötigen vollständige Kompatibilität mit lokalem SQL Server und möchten vorhandene Anwendungen unverändert in Azure verschieben.

  • Sie möchten die Funktionen der Azure-Umgebung nutzen, aber Azure SQL-Datenbank (SQL-Datenbank) unterstützt nicht alle Features, die Ihre Anwendung oder Datenbank benötigen, beispielsweise:

    • Hochverfügbarkeit und Notfallwiederherstellung: Sie möchten die herkömmlichen Features von SQL Server betreffend hoher Verfügbarkeit und Notfallwiederherstellung wie AlwaysOn-Verfügbarkeitsgruppen oder Datenbankspiegelung verwenden. Mit SQL Server auf einem virtuellen Computer in Azure haben Sie vollständige Kontrolle über das Einrichten und Ausführen der SQL Server-basierten Hochverfügbarkeits- und Notfallwiederherstellungslösungen für Ihre Anwendungen. Diese Funktion verhindert jegliche Ausfallzeiten Ihrer Datenbanken aufgrund von Software- oder Hardwarefehlern bzw. nach Betriebssystemupgrades in Azure. Andererseits bietet Azure SQL-Datenbank integrierte Stabilität bei Fehlern auf Knotenebene in Azure. Im Falle eines Knotenfehlers führt die Datenbank automatisch ein Failover auf eines der sekundären Replikate aus. Da Sie gar keinen Einfluss darauf haben, wie ein Failover auftritt, müssen Sie die Verbindungsunterbrechungen für Clientanwendungen abfangen, die mit der SQL-Datenbank ausgeführt werden.

    • Datenbankgröße: Zum Zeitpunkt der Aktualisierung dieses Artikels unterstützt SQL Database eine Datenbank mit bis zu 500 GB Daten. Wenn Ihre Anwendung mehr als 500 GB Daten benötigt und Sie keine benutzerdefinierten Shardinglösungen implementieren möchten, empfiehlt es sich, dass Sie SQL Server auf einem virtuellen Computer in Azure verwenden. Die aktuellsten Informationen finden Sie unter Horizontales Skalieren von Azure SQL-Datenbanken und Dienstebenen und Leistungsstufen der Azure SQL-Datenbank.

    • HIPAA-Konformität: Kunden aus dem Bereich Gesundheitsvorsorge und unabhängige Softwareanbieter (Independent Software Vendors, ISVs) können sich für SQL Server in Azure Virtual Machines anstelle von Azure SQL-Datenbank entscheiden, da SQL Server in Azure Virtual Machine vom HIPAA Business Associate Agreement (BAA) abgedeckt wird. Informationen zur Konformität finden Sie im Azure Trust Center.

    • Funktionalitätslücken: Einige Kunden entscheiden sich aufgrund der Funktionslücken in der Azure SQL-Datenbank wie Datenkomprimierung und Flexibilität bei der Datensicherung und Wiederherstellung möglicherweise für SQL Server in Azure Virtual Machines anstelle von Azure SQL-Datenbank. Weitere Informationen finden Sie unter Richtlinien für und Einschränkungen von Azure SQL-Datenbanken.

Bei diesem Anwendungsmuster stellen Sie Ihre SQL Server-Anwendung und -Datenbank auf einem eigenständigen virtuellen Computer in Azure bereit. Derselbe virtuelle Computer enthält Ihre Client-/Webanwendung, Geschäftskomponenten, Datenzugriffsebene und den Datenbankserver. Der Präsentations-, Geschäfts- und Datenzugriffscode ist logisch getrennt, befindet sich aber physisch auf einem einzigen Servercomputer. Die meisten Kunden beginnen mit diesem Anwendungsmuster und beginnen dann, horizontal zu skalieren, indem sie weitere Webrollen oder virtuellen Computer zu Ihrem System hinzufügen.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten eine einfache Migration zur Azure-Plattform durchführen, um zu bewerten, ob die Plattform die Anforderungen Ihrer Anwendung erfüllt oder nicht.

  • Sie möchten alle Anwendungsschichten auf demselben virtuellen Computer im selben Azure-Rechenzentrum halten, um Latenzen zwischen den Schichten zu verringern.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

Das folgende Diagramm zeigt ein einfaches lokales Szenario und wie Sie dessen Cloud-aktivierte Lösung auf einem einzelnen virtuellen Computer in Azure bereitstellen können.

1-Ebenen-Anwendungsmuster

Das Bereitstellen der Geschäftsebene (Geschäftslogik- und Datenzugriffskomponenten) in derselben physischen Schicht wie die Präsentationsebene kann die Anwendungsleistung maximieren, wenn Sie nicht aufgrund von Skalierbarkeit oder Sicherheitsbedenken eine Schicht trennen müssen.

Da es sich hier um ein sehr gängiges Muster für den Anfang handelt, finden Sie vielleicht die folgenden Links hilfreich beim Migrieren von lokalen Daten- und Anwendungsdateien zu virtuellen Computern in Azure: Bereit für die Migration zu SQL Server auf Azure-Virtuellen Computern und Migrieren zu SQL Server auf einem virtuellen Azure-Computer. Zusätzlich können Sie Den Import-/Export-Dienst von Azure zum Übertragen von Daten in den BLOB-Speicher verwenden. Wenn Sie den Import-/Exportdienst verwenden, erstellen Sie einen Importauftrag, um Datendateien in Azure-Speicher zu verschieben. Microsoft lädt die auf dem Datenträger befindlichen Daten in Azure-Speicher hoch. Nachdem Microsoft den Upload der Daten in den BLOB-Speicher im selben Rechenzentrum wie Ihr virtueller Computer abgeschlossen hat, können Sie über Remotedesktop eine Verbindung mit dem virtuellen Computer herstellen und die Datei aus dem BLOB-Speicher herunterladen. Sie können außerdem auf die Dateien im BLOB-Speicher zugreifen, indem Sie die BLOB-Speicher-SDKs verwenden.

Bei diesem Anwendungsmuster stellen Sie eine 3-schichtige Anwendung in Azure bereit, indem Sie jede Anwendungsschicht auf einem anderen virtuellen Computer bereitstellen. Dies bietet eine flexible Umgebung, in der sich einfach vertikale und horizontale Skalierungsszenarios realisieren lassen. Wenn sich Ihre Client-/Webanwendung auf demselben virtuellen Computer befindet, hostet ein anderer Ihre Geschäftskomponenten, während wiederum ein anderer den Datenbankserver aufnimmt.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten eine Migration komplexer Datenbankanwendungen zu virtuellen Computern in Azure durchführen.

  • Sie möchten verschiedene Anwendungsschichten in unterschiedlichen Regionen hosten. Beispielsweise können Sie gemeinsam genutzte Datenbanken haben, die zu Berichterstellungszwecken in mehreren Regionen bereitgestellt werden.

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen auf virtuelle Computer in Azure verschieben. Eine detaillierte Diskussion von Unternehmensanwendungen finden Sie unter Was ist eine Unternehmensanwendung?

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

Das folgende Diagramm zeigt, wie Sie eine einfache 3-schichtige Anwendung in Azure platzieren können, indem Sie jede Anwendungsschicht auf einem anderen virtuellen Computer bereitstellen.

3-Ebenen-Anwendungsmuster

Bei diesem Anwendungsmuster gibt es pro Schicht nur einen virtuellen Computer. Wenn Sie mehrere virtuelle Computer in Azure haben, empfehlen wir Ihnen, ein virtuelles Netzwerk einzurichten. Azure Virtual Network erstellt eine vertrauenswürdige Sicherheitsbegrenzung und erlaubt virtuellen Computern die Kommunikation miteinander über die private IP-Adresse. Sie sollten außerdem immer sicherstellen, dass alle Internetverbindungen nur durch die Präsentationsschicht gehen. Dies bedeutet, dass Sie einen öffentlichen Endpunkt in der Präsentationsschicht öffnen sollten, aber in keiner der anderen Schichten. Wenn Sie dieses Anwendungsmuster verwenden, müssen Sie außerdem die Netzwerk-Zugriffssteuerungsliste (ACL) für diesen öffentlichen Port einrichten, damit der Zugriff auf bestimmte IP-Adressen gewährt wird. Weitere Informationen finden Sie unter Informationen zu Netzwerk-Zugriffssteuerungslisten.

In dem Diagramm können die Internetprotokolle TCP, UDP, HTTP oder HTTPS sein.

Wichtig: Die Einrichtung eines virtuellen Netzwerks in Azure ist gebührenfrei. Es fallen jedoch Kosten für das VPN-Gateway an, das die lokale Verbindung herstellt. Diese Kosten hängen von der Dauer ab, über die diese Verbindung bereitgestellt wird und verfügbar ist.

Bei diesem Anwendungsmuster stellen Sie eine 2- oder 3-schichtige Datenbankanwendung auf virtuellen Computern in Azure bereit, indem Sie jede Anwendungsschicht auf einem anderen virtuellen Computer bereitstellen. Zusätzlich skalieren Sie die Präsentationsschicht horizontal aufgrund erhöhter Volumen eingehender Clientanforderungen.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen auf virtuelle Computer in Azure verschieben.

  • Sie möchten die Präsentationsschicht aufgrund erhöhter Volumen eingehender Clientanforderungen horizontal skalieren.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

  • Sie möchten eine Infrastrukturumgebung besitzen, in der bedarfsabhängige vertikale Skalierung in beide Richtungen möglich ist.

Das folgende Diagramm zeigt, wie Sie die Anwendungsschichten auf mehreren virtuellen Computern in Azure platzieren können, indem Sie die Präsentationsschicht aufgrund erhöhter Volumen eingehender Clientanforderungen horizontal skalieren. Wie Sie im Diagramm sehen können, ist der Azure-Lastenausgleich für die Verteilung des Datenverkehrs auf mehrere virtuelle Computer verantwortlich sowie für die Bestimmung, mit welchem Webserver eine Verbindung hergestellt werden soll. Durch mehrere Instanzen des Webservers hinter einem Lastenausgleich wird die Hochverfügbarkeit der Präsentationsschicht sichergestellt. Weitere Informationen finden Sie unter Bewährte Methoden für 2-, 3-, oder n-schichtige Anwendungsmuster mit mehreren virtuellen Computern in einer Schicht.

Anwendungsmuster - horizontales Skalieren auf Präsentationsebene

Es empfiehlt sich, die virtuellen Computer, die zur selben Schicht gehören, im selben Cloud-Dienst und in derselben Verfügbarkeitsgruppe zu platzieren. Platzieren Sie beispielsweise eine Gruppe von Webservern in CloudService1 und AvailabilitySet1 sowie eine Gruppe von Datenbankservern in CloudService2 und AvailabilitySet2. Eine Verfügbarkeitsgruppe in Azure bietet Ihnen die Möglichkeit, die Hochverfügbarkeitsknoten in separaten Fehler- und Upgradedomänen zu platzieren. Weitere Informationen finden Sie unter Verwalten der Verfügbarkeit virtueller Computer und Verbinden von virtuellen Computern in einem Cloud-Dienst.

Um mehrere virtuelle Computerinstanzen einer Schicht zu nutzen, müssen Sie den Azure-Lastenausgleich zwischen den Anwendungsschichten konfigurieren. Um den Lastenausgleich in jeder Schicht zu konfigurieren, erstellen Sie gesondert einen Endpunkt mit Lastenausgleich auf jedem virtuellen Computer in allen Schichten. Für eine bestimmte Schicht erstellen Sie zuerst virtuelle Computer im selben Cloud-Dienst. Hierdurch ist sichergestellt, dass sie alle öffentliche virtuelle IP-Adresse aufweisen. Erstellen Sie als Nächstes einen Endpunkt auf einem der virtuellen Computer in dieser Schicht. Weisen Sie dann denselben Endpunkt den anderen virtuellen Computern in dieser Schicht für den Lastenausgleich zu. Indem Sie eine Gruppe mit Lastenausgleich erstellen, verteilen Sie den Datenverkehr auf mehrere virtuelle Computer und gestatten außerdem dem Lastenausgleich zu bestimmen, mit welchem Knoten eine Verbindung hergestellt werden sollte, wenn ein Knoten eines virtuellen Back-End-Computers ausfällt. Beispielsweise wird durch mehrere Instanzen des Webservers hinter einem Lastenausgleich die Hochverfügbarkeit der Präsentationsschicht sichergestellt.

Als bewährte Methode sollten Sie außerdem immer sicherstellen, dass alle Internetverbindungen zuerst durch die Präsentationsschicht gehen. Die Präsentationsschicht greift auf die Geschäftsschicht zu und dann die Geschäftsschicht auf die Datenschicht. Öffnen Sie beispielsweise einen Endpunkt in der Präsentationsschicht. Jeder Endpunkt hat einen öffentlichen Port und einen privaten Port. Der private Port wird intern von dem virtuellen Computer verwendet, um am Endpunkt auf Datenverkehr zu lauschen. Der öffentliche Port ist der Einstiegspunkt für die Kommunikation von außerhalb von Azure und wird vom Azure-Lastenausgleich verwendet. Es wird empfohlen, die Netzwerk-Zugriffssteuerungsliste (ACL) so einzurichten, dass Regeln definiert werden, die dabei helfen, den eingehenden Datenverkehr an jedem öffentlichen Port und öffentlichen Endpunkt in jeder Anwendungsschicht zu isolieren und zu kontrollieren. Weitere Informationen finden Sie unter Informationen zu Netzwerk-Zugriffssteuerungslisten.

Beachten Sie, dass der Lastenausgleich in Azure ähnlich wie der Lastenausgleich in einer lokalen Umgebung funktioniert. Weitere Informationen finden Sie unter Lastenausgleich bei virtuellen Computern.

Außerdem empfiehlt es sich, dass Sie ein privates Netzwerk für Ihre virtuellen Computer unter Verwendung von Azure Virtual Network einrichten. Dies erlaubt den virtuellen Computern die Kommunikation miteinander über die private IP-Adresse. Weitere Informationen finden Sie unter Azure Virtual Network.

Bei diesem Anwendungsmuster stellen Sie eine 2- oder 3-schichtige Datenbankanwendung auf virtuellen Computern in Azure bereit, indem Sie jede Anwendungsschicht auf einem anderen virtuellen Computer bereitstellen. Zusätzlich können Sie die Anwendungsserverkomponenten aufgrund der Komplexität Ihrer Anwendung auf mehrere virtuelle Computer verteilen.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen auf virtuelle Computer in Azure verschieben.

  • Sie möchten die Anwendungsserverkomponenten aufgrund der Komplexität Ihrer Anwendung auf mehrere virtuelle Computer verteilen.

  • Sie möchten lokale Branchenanwendungen (Line-of-Business, LOB) mit umfangreicher Unternehmenslogik auf virtuelle Computer in Azure verschieben. Branchenanwendungen sind eine Gruppe kritischer Computeranwendungen, die für die Führung eines Unternehmens lebensnotwendig sind, beispielsweise Anwendungen für Buchhaltung, Personalplanung und -verwaltung, Lohnbuchhaltung, Supply Chain Management und Ressourcenplanung.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

  • Sie möchten eine Infrastrukturumgebung besitzen, in der bedarfsabhängige vertikale Skalierung in beide Richtungen möglich ist.

Das folgende Diagramm zeigt ein lokales Szenario und dessen Cloud-aktivierte Lösungen. In diesem Szenario platzieren Sie die Anwendungsschichten auf mehreren virtuellen Computern in Azure, indem Sie die Geschäftsschicht, die die Geschäftslogikschicht- und Datenzugriffskomponenten enthält, horizontal skalieren. Wie Sie im Diagramm sehen können, ist der Azure-Lastenausgleich für die Verteilung des Datenverkehrs auf mehrere virtuelle Computer verantwortlich sowie für die Bestimmung, mit welchem Webserver eine Verbindung hergestellt werden soll. Durch mehrere Instanzen der Anwendungsserver hinter einem Lastenausgleich wird die Hochverfügbarkeit der Geschäftsschicht sichergestellt. Weitere Informationen finden Sie unter Bewährte Methoden für 2-, 3-, oder n-schichtige Anwendungsmuster mit mehreren virtuellen Computern in einer Schicht.

Anwendungsmuster mit horizontalem Skalieren auf Unternehmensebene

Bei diesem Anwendungsmuster stellen Sie eine 2- oder 3-schichtige Datenbankanwendung auf virtuellen Computern in Azure bereit, indem Sie die Präsentationsschicht- (Webserver) und Geschäftsschichtkomponenten (Anwendungsserver) auf mehreren virtuellen Computer bereitstellen. Zusätzlich implementieren Sie Hochverfügbarkeits- und Notfallwiederherstellungslösungen für Ihre Datenbank auf virtuellen Computern in Azure.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen in Azure verschieben, indem Sie Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen von SQL Server implementieren.

  • Sie möchten die Präsentations- und Geschäftsschicht aufgrund erhöhter Volumen eingehender Clientanforderungen und wegen der Komplexität Ihrer Anwendung horizontal skalieren.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

  • Sie möchten eine Infrastrukturumgebung besitzen, in der bedarfsabhängige vertikale Skalierung in beide Richtungen möglich ist.

Das folgende Diagramm zeigt ein lokales Szenario und dessen Cloud-aktivierte Lösungen. In diesem Szenario skalieren Sie die Präsentationsschicht- und Geschäftsschichtkomponenten horizontal auf mehreren virtuellen Computern in Azure. Zusätzlich implementieren Sie Hochverfügbarkeits- und Notfallwiederherstellungsmethoden (HADR) für SQL Server-Datenbanken in Azure.

Das Ausführen mehrerer Kopien einer Anwendung auf verschiedenen virtuellen Computern stellt sicher, dass für Anforderungen ein Lastenausgleich zwischen diesen Kopien erfolgt. Wenn Sie mehrere virtuelle Computer haben, müssen Sie sicherstellen, dass alle Ihre virtuellen Computer zu einem Zeitpunkt ausgeführt werden und erreichbar sind. Wenn Sie Lastenausgleich konfigurieren, verfolgt der Azure-Lastenausgleich den Status der virtuellen Computer und leitet eingehende Aufrufe ordnungsgemäß an die einwandfrei funktionierenden virtuellen Computerknoten weiter. Informationen zum Einrichten von Lastenausgleich für die virtuellen Computer finden Sie unter Lastenausgleich zwischen virtuellen Computern. Durch mehrere Instanzen von Web- und Anwendungsservern hinter einem Lastenausgleich wird die Hochverfügbarkeit der Präsentations- und Geschäftsschichten sichergestellt. Weitere Informationen finden Sie unter Bewährte Methoden für Anwendungsmuster, die Hochverfügbarkeits- und Notfallwiederherstellungslösungen von SQL Server erfordern.

Horizontale Skalierung und hohe Verfügbarkeit

Wenn Sie Hochverfügbarkeits- und Notfallwiederherstellungslösungen von SQL Server auf virtuellen Computern in Azure einrichten, ist das Einrichten eines virtuellen Netzwerks für Ihre virtuellen Computer mithilfe von Azure Virtual Network obligatorisch. Virtuelle Computer in einem virtuellen Netzwerk haben auch noch nach einem Dienstausfall eine stabile private IP-Adresse, sodass Sie somit die Aktualisierungszeiten vermeiden können, die für die DNS-Namenauflösung erforderlich sind. Darüber hinaus erlaubt es Ihnen das virtuelle Netzwerk, Ihr lokales Netzwerk auf Azure zu erweitern, und es erstellt eine vertrauenswürdige Sicherheitsabgrenzung. Wenn Ihre Anwendung beispielsweise Unternehmensdomäneneinschränkungen unterliegt (z. B. Windows-Authentifizierung, Active Directory), ist das Einrichten von Azure Virtual Network notwendig.

Die meisten Kunden, die Produktionscode in Azure ausführen, halten sowohl die primären als auch die sekundären Replikate in Azure.

Umfassende Informationen und Lernprogramme zu Hochverfügbarkeits- und Notfallwiederherstellungsmethoden finden Sie unter Hochverfügbarkeit und Notfallwiederherstellung für SQL Server auf virtuellen Azure-Computern.

Bei diesem Anwendungsmuster stellen Sie 2- oder 3-schichtige Anwendungen in Azure bereit, indem Sie sowohl Azure Cloud Services (Web- und Workerrollen – PaaS (Platform as a Service, Plattform als Dienst)) als auch Azure Virtual Machines (IaaS (Infrastructure as a Service, Infrastruktur als Dienst)) verwenden. Die Verwendung von Azure Cloud Services für die Präsentationsschicht/Geschäftsschicht und SQL Server auf Azure Virtual Machines für die Datenschicht bietet Vorteile für die meisten Anwendungen, die in Azure ausgeführt werden. Der Grund hierfür ist, dass das Vorhandensein einer Serverinstanz, die auf den Cloud Services ausgeführt wird, eine einfache Möglichkeit zum Verwalten, Bereitstellen, Überwachen und horizontalen Skalieren bietet.

Mit Cloud Services wartet Azure die Infrastruktur für Sie, führt Routinewartungen durch, installiert Betriebssystempatches und versucht, nach Dienst- und Hardwareausfällen eine Wiederherstellung durchzuführen. Wenn Ihre Anwendung eine horizontale Skalierung benötigt, sind automatische und manuelle Optionen für die horizontale Skalierung Ihres Cloud-Dienstprojekts verfügbar, indem die Anzahl der Instanzen oder virtuellen Computer, die von Ihrer Anwendung verwendet werden, erhöht oder verringert wird. Zusätzlich können Sie lokales Visual Studio verwenden, um Ihre Anwendung in einem Cloud-Dienstprojekt in Azure bereitzustellen.

Zusammengefasst heißt dies also, wenn Sie nicht für umfangreiche administrative Aufgaben für die Präsentations-/Geschäftsschicht verantwortlich sein wollen und Ihre Anwendung keine komplexe Konfiguration von Software oder des Betriebssystems erfordert, verwenden Sie Azure Cloud Services. Wenn Azure SQL-Datenbank nicht alle von Ihnen benötigten Features unterstützt, verwenden Sie SQL Server auf einem virtuellen Computer in Azure für die Datenschicht. Durch die Ausführung einer Anwendung auf Azure Cloud Services und die Speicherung von Daten auf Azure Virtual Machines kombinieren Sie die Vorteile beider Dienste. Einen detaillierten Vergleich finden Sie unter Entwicklungsstrategien in Azure: Vergleich der traditionellen Webentwicklung mit Azure Cloud Services und Azure-Websites.

Bei diesem Anwendungsmuster enthält die Präsentationsebene eine Webrolle, die eine Cloud Services-Komponente ist, die in der Azure-Ausführungsumgebung ausgeführt wird und für die Webanwendungsprogrammierung angepasst ist, die von IIS und ASP.NET unterstützt wird. Die Geschäfts- oder Back-End-Ebene enthält eine Workerrolle, die eine Cloud Services-Komponente ist, die in der Azure-Ausführungsumgebung ausgeführt wird und sich für allgemeine Entwicklung eignet. Sie kann Hintergrundverarbeitung für eine Webrolle ausführen. Die Datenbankschicht befindet sich auf einem virtuellen SQL Server-Computer in Azure. Die Kommunikation zwischen der Präsentationsschicht und der Datenbankschicht erfolgt direkt oder über die Geschäftsschicht – Workerrollenkomponenten.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen in Azure verschieben, indem Sie Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen von SQL Server implementieren.

  • Sie möchten eine Infrastrukturumgebung besitzen, in der bedarfsabhängige vertikale Skalierung in beide Richtungen möglich ist.

  • Azure SQL-Datenbank unterstützt nicht alle Features, die für Ihre Anwendung oder Datenbank erforderlich sind.

  • Sie möchten Belastungstests mit variablen Arbeitsauslastungsniveaus durchführen, gleichzeitig aber nicht viele physische Computer für den gesamten Zeitraum besitzen und warten müssen.

Das folgende Diagramm zeigt ein lokales Szenario und dessen Cloud-aktivierte Lösungen. In diesem Szenario platzieren Sie die Präsentationsschicht in Webrollen, die Geschäftsschicht in Workerrollen, aber die Datenschicht auf virtuellen Computern in Azure. Das Ausführen mehrerer Kopien der Präsentationsschicht in verschiedenen Webrollen stellt sicher, dass für Anforderungen ein Lastenausgleich zwischen diesen Kopien erfolgt. Wenn Sie Azure Cloud Services mit Azure Virtual Machines kombinieren, empfehlen wir, dass Sie auch Azure Virtual Network einrichten. Mit Azure Virtual Network können Sie über stabile und beständige private IP-Adressen innerhalb desselben Cloud-Diensts in der Cloud verfügen. Nachdem Sie ein virtuelles Netzwerk für Ihre virtuellen Computer und Cloud Services definiert haben, können diese die Kommunikation miteinander über die private IP-Adresse aufnehmen. Darüber hinaus führt dies, wenn sich die virtuellen Computer und Azure-Web-/Workerrollen im selben Azure Virtual Network befinden, zu niedrigerer Latenz und höherer Verbindungssicherheit. Weitere Informationen finden Sie unter Was ist ein Cloud-Dienst?, Azure-Ausführungsmodelle und Azure Virtual Network.

Wie Sie im Diagramm sehen können, verteilt der Azure-Lastenausgleich den Datenverkehr auf mehrere virtuelle Computer und bestimmt, mit welchem Web- oder Anwendungsserver eine Verbindung hergestellt werden soll. Durch mehrere Instanzen der Web- und Anwendungsserver hinter einem Lastenausgleich wird die Hochverfügbarkeit der Präsentations- und Geschäftsschicht sichergestellt. Weitere Informationen finden Sie unter Bewährte Methoden für Anwendungsmuster, die Hochverfügbarkeits- und Notfallwiederherstellungslösungen von SQL Server erfordern.

Anwendungsmuster mit Cloud-Diensten

Ein anderer Ansatz für die Implementierung dieses Anwendungsmusters besteht darin, ein konsolidierte Webrolle zu verwenden, die sowohl Präsentationsschicht- als auch Geschäftsschichtkomponenten enthält, wie im folgenden Diagramm zu sehen ist. Dieses Anwendungsmuster ist für Anwendungen nützlich, die ein zustandsbehaftetes Design erfordern. Da Azure zustandslose Serverknoten auf Web- und Workerrollen bereitstellt, empfehlen wir Ihnen die Implementierung einer Logik für die Speicherung von Sitzungszuständen mithilfe einer der folgenden Technologien: Azure Caching, Azure-Tabellenspeicher oder Azure SQL-Datenbank.

Anwendungsmuster mit Cloud-Diensten

Das primäre Ziel dieses Anwendungsmusters ist es, Ihnen zu zeigen, wie Sie Azure-IaaS-Komponenten (Infrastructure as a Service) mit Azure-PaaS-Komponenten (Platform as a Service) in Ihrer Lösung kombinieren können. Dieses Muster konzentriert sich auf Azure SQL-Datenbank bei der Speicherung relationaler Daten. Es enthält kein SQL Server auf einem virtuellen Computer in Azure, was Bestandteil des Azure-Infrastruktur als Dienst-Angebots ist.

Bei diesem Anwendungsmuster stellen Sie eine Datenbankanwendung in Azure bereit, indem Sie die Präsentations- und Geschäftsschichten auf demselben virtuellen Computer bereitstellen und auf eine Datenbank auf Azure SQL-Datenbankservern (SQL-Datenbank) zugreifen. Sie können die Präsentationsschicht implementieren, indem Sie traditionelle, IIS-basierte Weblösungen verwenden. Oder Sie können eine kombinierte Präsentations- und Geschäftsschicht implementieren, indem Sie Azure-Websites verwenden.

Dieses Anwendungsmuster ist in folgenden Fällen nützlich:

  • Sie haben bereits einen vorhandenen SQL-Datenbankserver in Azure konfiguriert und möchten Ihre Anwendung schnell testen.

  • Sie möchten die Funktionen der Azure-Umgebung testen.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Ihre Geschäftslogik- und Datenzugriffskomponenten können eigenständig in einer Webanwendung sein.

Das folgende Diagramm zeigt ein lokales Szenario und dessen Cloud-aktivierte Lösungen. In diesem Szenario platzieren Sie die Anwendungsschichten auf einem einzigen virtuellen Computer in Azure und greifen auf Daten in Azure SQL-Datenbank zu.

Gemischtes Anwendungsmuster

Wenn Sie sich entschließen, eine kombinierte Web- und Anwendungsschicht zu implementieren, indem Sie Azure-Websites verwenden, empfehlen wir Ihnen, die Mittelschicht oder die Anwendungsschicht als DLLs (Dynamic-Link Libraries) im Kontext einer Webanwendung zu halten.

Weitere Informationen zu Programmiermethoden finden Sie außerdem in den Empfehlungen, die am Ende dieses Artikels im Abschnitt Entwicklungsstrategien in Azure: Vergleich der traditionellen Webentwicklung mit Azure Cloud Services und Azure-Websites gegeben werden.

Bei dem n-schichtigen Hybridanwendungsmuster implementieren Sie Ihre Anwendung in mehreren Schichten, die zwischen lokalen und Azure-Standorten verteilt werden. Deshalb erstellen Sie ein flexibles und wiederverwendbares Hybridsystem, das Sie ändern oder dem Sie eine bestimmte Schicht hinzufügen können, ohne dabei die anderen Schichten zu ändern. Um Ihr Unternehmensnetzwerk in die Cloud auszuweiten, verwenden Sie den Azure Virtual Network-Dienst.

Dieses Hybridanwendungsmuster ist in folgenden Fällen nützlich:

  • Sie möchten Anwendungen erstellen, die teilweise in der Cloud und teilweise lokal ausgeführt werden.

  • Sie möchten einige oder alle Elemente einer vorhandenen lokalen Anwendung in die Cloud migrieren.

  • Sie möchten Unternehmensanwendungen von lokalen virtualisierten Plattformen in Azure verschieben.

  • Sie möchten eine Infrastrukturumgebung besitzen, in der bedarfsabhängige vertikale Skalierung in beide Richtungen möglich ist.

  • Sie möchten Entwicklungs- und Testumgebungen für kurze Zeiträume schnell bereitstellen.

  • Sie wünschen eine kostengünstige Möglichkeit, um Sicherungen von Unternehmensdatenbankanwendungen zu erstellen.

Das folgende Diagramm zeigt ein n-schichtiges Hybridanwendungsmuster, das sich über lokale und Azure-Standorte erstreckt. Wie in dem Diagramm dargestellt, umfasst die lokale Infrastruktur den Domänencontroller der Active Directory-Domänendienste, um die Benutzerauthentifizierung und -autorisierung zu unterstützen. Beachten Sie, dass das Diagramm ein Szenario darstellt, in dem sich Teile der Datenschicht in einem lokalen Rechenzentrum und einige Teile der Datenschicht in Azure befinden. Abhängig von den Anforderungen Ihrer Anwendung können Sie mehrere andrere Hybridszenarios implementieren. Beispielsweise können Sie die Präsentations- und Geschäftsschicht in einer lokalen Umgebung halten, die Datenschicht dagegen in Azure.

Haben Sie Probleme bei der Anzeige dieses Themas in der Azure-Bibliothek? Versuchen Sie, das Thema in der MSDN-Bibliothek anzuzeigen.

n-Ebenen-Anwendungsmuster

In Azure können Sie Active Directory als eigenständiges Cloud-Verzeichnis für Ihre Organisation verwenden, Sie können aber auch ein vorhandenes, lokales Active Directory in Azure Active Directory integrieren. Wie Sie im Diagramm sehen können, können die Geschäftsschichtkomponenten auf mehrere Datenquellen zugreifen, beispielsweise über eine private interne IP-Adresse auf SQL Server in Azure, über ein virtuelles Netzwerk auf einen lokalen SQL Server oder mithilfe der .NET Framework-Datenanbietertechnologien auf eine SQL-Datenbank. In diesem Diagramm ist Azure SQL-Datenbank (SQL-Datenbank) ein optionaler Datenspeicherdienst.

Bei dem n-schichtigen Hybridanwendungsmuster können Sie folgenden Arbeitsablauf in der angegebenen Reihenfolge implementieren:

  1. Identifizieren von Unternehmensdatenbankanwendungen, die in die Cloud verschoben werden müssen unter Verwendung des Microsoft Assessment and Planning (MAP) Toolkits. Das MAP Toolkit erfasst Bestands- und Leistungsdaten von Computern, die Sie für die Virtualisierung in Betracht ziehen, und gibt Empfehlungen für die Kapazitäts- und Bewertungsplanung.

  2. Planen der in der Azure-Plattform benötigten Ressourcen und Konfiguration wie Speicherkonten und virtuelle Computer. Einen detaillierten Migrationsplan finden Sie unter Bereit für die Migration zu SQL Server auf Azure-Virtuellen Computern.

  3. Einrichten von Netzwerkverbindungen zwischen dem lokalen Unternehmensnetzwerk und Azure Virtual Network. Um die Verbindung zwischen dem lokalen Unternehmensnetzwerk und einem virtuellen Computer in Azure herzustellen, können Sie eine der folgenden zwei Methoden verwenden:

    1. Erstellen einer Verbindung zwischen lokalen und Azure-Standorten über öffentliche Endpunkte auf einem virtuellen Computer in Azure. Diese Methode bietet eine einfache Einrichtung und ermöglicht Ihnen die Verwendung der SQL Server-Authentifizierung auf Ihrem virtuellen Computer. Richten Sie zusätzlich die Netzwerk-Zugriffssteuerungsliste (ACL) für die öffentlichen Ports ein, damit der Zugriff auf bestimmte IP-Adressen gewährt wird. Weitere Informationen finden Sie unter Informationen zu Netzwerk-Zugriffssteuerungslisten

    2. Erstellen einer Verbindung zwischen lokalen und Azure-Standorten über einen Azure-VPN-Tunnel (Virtual Private Network). Diese Methode ermöglicht Ihnen das Erweitern von Domänenrichtlinien auf einen virtuellen Computer in Azure. Zusätzlich können Sie Firewallregeln einrichten und die Windows-Authentifizierung auf Ihrem virtuellen Computer verwenden. Zurzeit unterstützt Azure sichere Site-to-Site-VPN- und Punkt-zu-Site VPN-Verbindungen:

      • Mit einer sicheren Site-to-Site-Verbindung können Sie Netzwerkverbindungen zwischen Ihrem lokalen Netzwerk und dem virtuellen Netzwerk in Azure herstellen. Dies wird für das Verbinden Ihrer lokalen Rechenzentrumsumgebung mit Azure empfohlen.

      • Mit einer sicheren Punkt-zu-Site-Verbindung können Sie Netzwerkverbindungen zwischen Ihrem virtuellen Netzwerk in Azure und Ihren einzelnen Computern herstellen, die an einem beliebigen Ort ausgeführt werden. Dies wird vorwiegend für Entwicklungs- und Testzwecke empfohlen.

      Informationen zum Herstellen einer Verbindung mit SQL Server in Azure finden Sie unter Konnektivitätsüberlegungen für SQL Server auf virtuellen Azure-Computern.

  4. Einrichten von geplanten Aufträgen und Benachrichtigungen, die lokale Daten auf dem Datenträger eines virtuellen Computers in Azure sichern. Weitere Informationen finden Sie unter SQL Server-Sicherung und -Wiederherstellung mit Azure-BLOB-Speicherdienst und Sicherung und Wiederherstellung für SQL Server auf virtuellen Azure-Computern.

  5. Abhängig von den Anforderungen Ihrer Anwendung können Sie eins der folgenden drei gängigen Szenarios implementieren:

    1. Sie können Ihren Webserver, Anwendungsserver und nicht vertrauliche Daten in einem Datenbankserver in Azure halten, während Sie die sensiblen Daten lokal vorhalten.

    2. Sie können Ihren Webserver und Anwendungsserver lokal halten, während sich der Datenbankserver auf einem virtuellen Computer in Azure befindet.

    3. Sie können Ihren Datenbankserver, Webserver und Anwendungsserver lokal halten, während sich die Datenbankreplikate auf virtuellen Computern in Azure befinden. Die Einstellungen ermöglichen den lokalen Webservern bzw. Berichterstellungsanwendungen den Zugriff auf die Datenbankreplikate in Azure. Sie können daher die Arbeitsauslastung in einer lokalen Datenbank senken. Wir empfehlen, dass Sie dieses Szenario bei hohen Arbeitsauslastungen durch Lesevorgänge und zu Entwicklungszwecken implementieren. Informationen zum Erstellen von Datenbankreplikaten in Azure finden Sie unter „AlwaysOn-Verfügbarkeitsgruppen“ unter Hochverfügbarkeit und Notfallwiederherstellung für SQL Server auf virtuellen Azure-Computern.

Um eine mehrschichtige, SQL Server-basierte Anwendung in Azure zu implementieren, können Sie eine der zwei folgenden Programmiermethoden verwenden:

  • Richten Sie einen traditionellen Webserver (Internetinformationsdienste, IIS) in Azure und Zugriff auf Datenbanken in SQL Server auf virtuellen Computern in Azure ein.

  • Implementieren Sie einen Cloud-Dienst in Azure, und stellen Sie diesen bereit. Stellen Sie dann sicher, dass dieser Cloud-Dienst auf Datenbanken in SQL Server auf virtuellen Computern in Azure zugreifen kann. Ein Cloud-Dienst kann mehrere Web- und Workerrollen enthalten.

Die folgende Tabelle bietet einen Vergleich der traditionellen Webentwicklung mit Azure Cloud Services und Azure-Websites hinsichtlich SQL Server auf virtuellen Computern in Azure. Die Tabelle umfasst Azure-Websites, da es möglich ist, SQL Server auf virtuellen Computern in Azure als Datenquelle für Azure-Websites über seine öffentliche virtuelle IP-Adresse oder den DNS-Namen zu verwenden.

Haben Sie Probleme bei der Anzeige dieses Themas in der Azure-Bibliothek? Versuchen Sie, das Thema in der MSDN-Bibliothek anzuzeigen.

 

Traditionelle Webentwicklung in Azure Virtual Machines

Cloud Services in Azure

Webhosting mit Azure-Websites

Anwendungsmigration von lokalen Standorten

  • Vorhandene, unveränderte Anwendungen

  • Anwendungen benötigen Web- und Workerrollen.

  • Vorhandene, unveränderte Anwendungen, aber geeignet für eigenständige Webanwendungen und Webdienste, die schnelle Skalierbarkeit benötigen.

Entwicklung und Bereitstellung

  • Visual Studio, WebMatrix, Visual Web Developer, WebDeploy, FTP, TFS, IIS Manager, PowerShell.

  • Visual Studio, Azure SDK, TFS, PowerShell. In jedem Cloud-Dienst gibt es zwei Umgebungen, in denen Sie Ihr Dienstpaket und die Konfiguration bereitstellen können: Staging und Produktion. Sie können einen Cloud-Dienst zu Testzwecken in der Stagingumgebung bereitstellen, bevor Sie in für die Produktion freigeben.

  • Visual Studio, WebMatrix, Visual Web Developer, FTP, GIT, BitBucket, CodePlex, DropBox, GitHub, Mercurial, TFS, Web Deploy, PowerShell.

Administration und Einrichtung

  • Sie sind für administrative Aufgaben folgender Elemente verantwortlich: Anwendung, Daten, Firewallregeln, virtuelles Netzwerk und Betriebssystem.

  • Sie sind für administrative Aufgaben folgender Elemente verantwortlich: Anwendung, Daten, Firewallregeln und virtuelles Netzwerk.

  • Sie sind für administrative Aufgaben folgender Elemente verantwortlich: nur Anwendung und Daten.

Hochverfügbarkeit und Notfallwiederherstellung (HADR)

  • Wir empfehlen, dass Sie virtuelle Computer in derselben Verfügbarkeitsgruppe und im selben Cloud-Dienst platzieren. Wenn Sie Ihre virtuellen Computer in derselben Verfügbarkeitsgruppe halten, kann Azure die Hochverfügbarkeitsknoten in separaten Fehler- und Upgradedomänen platzieren. Ähnlich ermöglicht das Behalten Ihrer virtuellen Computer im selben Cloud-Dienst, dass der Lastenausgleich und die virtuellen Computer direkt miteinander über das lokale Netzwerk innerhalb eines Azure-Rechenzentrums kommunizieren können.

  • Sie sind für die Implementierung einer Hochverfügbarkeits- und Notfallwiederherstellungslösung für SQL Server auf virtuellen Computern in Azure verantwortlich, um Ausfallzeiten zur vermeiden. Unterstützte HADR-Technologien finden Sie unter Hochverfügbarkeit und Notfallwiederherstellung für SQL Server auf virtuellen Azure-Computern.

  • Sie sind für das Sichern Ihrer eigenen Daten und Ihrer Anwendung verantwortlich.

  • Azure kann Ihre virtuellen Computer verschieben, wenn der Hostcomputer im Rechenzentrum aufgrund von Hardwareproblemen ausfällt. Außerdem kann es zu geplanten Ausfallzeiten Ihres virtuellen Computers kommen, wenn der Hostcomputer mit Sicherheits- oder Softwareupdates aktualisiert wird. Daher empfehlen wir, dass Sie mindestens zwei virtuelle Computer in jeder Anwendungsschicht ausführen, um die kontinuierliche Verfügbarkeit zu gewährleisten. Azure bietet keine Vereinbarung zum Servicelevel (SLA) für einen einzelnen virtuellen Computer. Weitere Informationen finden Sie unter Technische Dokumentation zur Geschäftskontinuität mit Azure.

  • Azure verwaltet die aus der zugrunde liegenden Hardware oder Betriebssystemsoftware resultierenden Fehler. Wir empfehlen, dass Sie mehrere Instanzen einer Web- oder Workerrolle implementieren, um die Hochverfügbarkeit Ihrer Anwendung sicherzustellen. Informationen finden Sie unter Vereinbarung zum Servicelevel für Cloud Services, Virtual Machines und Virtual Network und Notfallwiederherstellung und Hochverfügbarkeit für Azure-Anwendungen.

  • Sie sind für das Sichern Ihrer eigenen Daten und Ihrer Anwendung verantwortlich.

  • Bei Datenbanken, die sich in einer SQL Server-Datenbank auf einem virtuellen Computer in Azure befinden, sind Sie verantwortlich für die Implementierung einer Hochverfügbarkeits- und Notfallwiederherstellungslösung zur Vermeidung jeglicher Ausfallzeiten. Unterstützte HADR-Technologien finden Sie unter Hochverfügbarkeit und Notfallwiederherstellung für SQL Server auf virtuellen Azure-Computern.

  • SQL Server-Datenbankspiegelung: Sie wird unterstützt, wenn sie zusammen mit Azure Cloud Services (Web-/Workerrollen) verwendet wird. Virtuelle SQL Server-Computer und ein Cloud-Dienstprojekt können sich im selben Azure Virtual Network befinden. Wenn sich der virtuelle SQL Server-Computer nicht im selben virtuellen Netzwerk befindet, müssen Sie einen SQL Server-Alias erstellen, um die Kommunikation an die Instanz von SQL Server umzuleiten. Außerdem muss der Aliasname mit dem SQL Server-Namen übereinstimmen.

  • Hochverfügbarkeit wird von Azure-Workerrollen, vom Azure-BLOB-Speicher und von Azure SQL-Datenbank geerbt. Beispielsweise behält Azure-Speicher drei Replikate für alle BLOB-, Tabellen- und Warteschlangendaten bei. Azure SQL-Datenbank hält jederzeit drei aktive Replikate der Daten bereit – ein primäres Replikat und zwei sekundäre Replikate. Weitere Informationen finden Sie unter Speicher und SQL-Datenbank.

  • Wenn Sie SQL Server auf virtuelle Computern in Azure als Datenquelle für Azure-Websites verwenden, bedenken Sie dabei, dass Azure-Websites Azure Virtual Network nicht unterstützt. Mit anderen Worten, alle Verbindungen von Azure-Websites mit virtuellen SQL Server-Computern in Azure müssen durch öffentliche Endpunkte von virtuellen Computern geleitet werden. Dies kann zu einigen Einschränkungen bei Hochverfügbarkeits- und Notfallwiederherstellungsszenarios führen. Beispielsweise könnte die Clientanwendung auf Azure-Websites, die eine Verbindung mit einem virtuellen SQL Server-Computer mit Datenbankspiegelung herstellt, keine Verbindung mit dem neuen primären Server herstellen, weil die Datenbankspiegelung erfordert, dass Sie zwischen den virtuellen SQL Server-Hostcomputern in Azure ein Azure Virtual Network einrichten. Daher wird die Verwendung von SQL Server-Datenbankspiegelung zusammen mit Azure-Websites zurzeit nicht unterstützt.

  • SQL Server AlwaysOn-Verfügbarkeitsgruppen: Sie können AlwaysOn-Verfügbarkeitsgruppen einrichten, wenn Sie Azure-Websites mit virtuellen SQL Server-Computern in Azure verwenden. Sie müssen aber einen AlwaysOn-Verfügbarkeitsgruppenlistener konfigurieren, um die Kommunikation über öffentliche Endpunkte mit Lastenausgleich an das primäre Replikat weiterzuleiten.

Lokale, standortübergreifende Verbindungen

  • Sie können Azure Virtual Network verwenden, um eine Verbindung mit lokalen Standorten herzustellen.

  • Sie können Azure Virtual Network verwenden, um eine Verbindung mit lokalen Standorten herzustellen.

Skalierbarkeit

  • Vertikale Skalierung ist verfügbar durch Erhöhen der Größe virtueller Computer oder durch Hinzufügen weiterer Datenträger. Weitere Informationen zu Größen virtueller Computer finden Sie unter Größen virtueller Computer und Cloud-Dienste in Azure.

  • Für Datenbankserver: Die horizontale Skalierung ist mit Datenbankpartitionierungstechniken und SQL Server-AlwaysOn-Verfügbarkeitsgruppen möglich.

    Für hohe Arbeitsauslastungen durch Lesevorgänge können Sie AlwaysOn-Verfügbarkeitsgruppen auf mehreren sekundären Knoten verwenden sowie SQL Server-Replikation.

    Bei schreibintensiven Arbeitslasten können Sie Daten horizontal partitionieren und auf mehrere physische Server verteilen, um die Anwendung horizontal zu skalieren.

    Darüber hinaus können Sie die horizontale Skalierung über SQL Server mit datenabhängiger Weiterleitung implementieren. Bei datenabhängigem Routing (Data Dependant Routing, DDR) müssen Sie den Partitionierungsmechanismus in der Clientanwendung implementieren, normalerweise in der Geschäftsschichtebene, um die Datenbankanforderungen an mehrere SQL Server-Knoten weiterzuleiten. Die Geschäftsschicht enthält Zuordnungen dafür, wie die Daten partitioniert sind und auf welchem Knoten sich die Daten befinden.


  • Sie können Anwendungen skalieren, die virtuelle Computer ausführen. Weitere Informationen finden Sie unter Skalieren einer Anwendung.

    Wichtiger Hinweis: Die Funktion Automatisch skalieren von Azure gestattet es Ihnen, die Anzahl der virtuellen Computer automatisch zu erhöhen oder zu verringern, die von Ihrer Anwendung verwendet werden. Diese Funktion garantiert, dass Endbenutzer in Phasen mit hohen Auslastungen nicht negativ betroffen sind, während bei geringerer Auslastung virtuelle Computer heruntergefahren werden. Es wird empfohlen, dass Sie die Option "Automatisch skalieren" nicht für Ihren Clouddienst festlegen, wenn dieser virtuelle Computer mit SQL Server einbezieht. Der Grund hierfür ist, dass es die Funktion "Automatisch skalieren" Azure gestattet, einen virtuellen Computer zu aktivieren, wenn die CPU-Auslastung auf diesem virtuellen Computer höher als ein bestimmter Schwellenwert ist. Wenn die CPU-Auslastung unter diesem Schwellenwert liegt, kann der virtuelle Computer von Azure deaktiviert werden. Die Funktion "Automatisch skalieren" ist für zustandslose Anwendungen (z. B. Webserver) hilfreich, bei denen ein virtueller Computer die Arbeitsauslastung ohne Verweise auf vorherige Zustände verwalten kann. Für zustandsbehaftete Anwendungen (z. B. SQL Server), bei denen nur eine Instanz das Schreiben in die Datenbank gestattet, ist die Funktion "Automatisch skalieren" jedoch nicht hilfreich.

  • Vertikale Skalierung ist verfügbar durch Verwendung mehrerer Web- und Workerrollen. Weitere Informationen zu den Größen virtueller Computer für Webrollen und Workerrollen finden Sie unter Konfigurieren von Größen für Cloud-Dienste.

  • Wenn Sie Cloud Services verwenden, können Sie mehrere Rollen definieren, um die Verarbeitung zu verteilen und außerdem eine flexible Skalierung Ihrer Anwendung zu erzielen. Jeder Cloud-Dienst enthält mindestens eine Web- und/oder Workerrolle, von denen jede über eigene Anwendungsdateien und eine eigene Konfiguration verfügt. Sie können einen Cloud-Dienst hochskalieren, indem Sie die Anzahl der Rolleninstanzen (virtuellen Computer) erhöhen, die für eine Rolle bereitgestellt ist, und einen Cloud-Dienst herunterskalieren, indem Sie die Anzahl der Rolleninstanzen verringern. Detaillierte Informationen hierzu finden Sie unter Azure-Ausführungsmodelle.

  • Horizontale Skalierung ist verfügbar durch die in Azure integrierte Hochverfügbarkeitsunterstützung mittels der Vereinbarung zum Servicelevel für Cloud Services, Virtual Machines und Virtual Network sowie mithilfe von Lastenausgleich.

  • Für eine mehrschichtige Anwendung empfehlen wir, dass Sie Web-/Workerrollenanwendungen über ein Azure Virtual Network mit virtuellen Datenbankservercomputern verbinden. Zusätzlich bietet Azure Lastenausgleich für virtuelle Computer im selben Cloud-Dienst, indem Benutzeranforderungen unter diesen verteilt werden. Auf diese Weise verbundene virtuelle Computer können direkt miteinander über das lokale Netzwerk innerhalb eines Azure-Rechenzentrums kommunizieren.

  • Sie können im Verwaltungsportal Automatische Skalierung einrichten sowie die Zeiten im Zeitplan. Weitere Informationen finden Sie unter Skalieren einer Anwendung.

  • Auf- und Abskalierung: Sie können die Größe der Instanz (virtueller Computer) erhöhen oder verringern, die für Ihre Website reserviert ist.

  • Horizontale Skalierung: Sie können weitere reservierte Instanzen (virtuelle Computer) für Ihre Website hinzufügen.

  • Sie können im Verwaltungsportal Automatische Skalierung einrichten sowie die Zeiten im Zeitplan. Weitere Informationen finden Sie unter Skalieren von Websites.

Weitere Informationen zum Auswählen zwischen diesen Programmiermethoden finden Sie unter Azure-Websites, Cloud Services und virtuelle Computer: Wann soll welche Technologie eingesetzt werden?.

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2015 Microsoft