Grundlagen der Azure-Anwendungsarchitektur

In dieser Inhaltsbibliothek wird eine strukturierte Vorgehensweise zum Entwerfen von Anwendungen in Azure beschrieben, die skalierbar, sicher, resilient und hochverfügbar sind. Der Leitfaden basiert auf bewährten Methoden, die wir im Rahmen von Kundeninteraktionen erarbeitet haben.

Einführung

Die Cloud verändert die Art und Weise, wie Anwendungen entworfen und geschützt werden. Anwendungen werden nicht mehr als Monolithen entwickelt, sondern in kleinere, dezentralisierte Dienste zerlegt. Diese Dienste kommunizieren über APIs oder durch asynchrone Nachrichten bzw. Ereignisse. Anwendungen lassen sich durch bedarfsgesteuertes Hinzufügen neuer Instanzen horizontal skalieren.

Diese Trends bringen neue Herausforderung mit sich. Anwendungszustände sind verteilt. Vorgänge werden parallel und asynchron ausgeführt. Bei Ausfällen müssen Anwendungen resilient sein. Böswillige Akteure nehmen kontinuierlich Anwendungen ins Visier. Bereitstellungen müssen automatisiert und vorhersagbar sein. Überwachung und Telemetriedaten spielen eine entscheidend Rolle, um Einblick in das System zu erhalten. Dieser Leitfaden soll Sie auf folgende Änderungen vorbereiten.

Konventionelle lokale SystemeModerne Cloud
Monolithisch
Entworfen mit Blick auf vorhersagbare Skalierbarkeit
Relationale Datenbank
Synchronisierte Verarbeitung
Entwurf mit Blick auf Vermeidung von Ausfällen (MTBF)
Gelegentliche große Updates
Manuelle Verwaltung
Snowflake-Server
Zerlegt
Entworfen mit Blick auf elastische Skalierung
Polyglot Persistence (Kombination aus Speichertechnologien)
Asynchrone Verarbeitung
Entwurf mit Blick auf Ausfälle (MTTR)
Häufige geringfügige Updates
Automatisierte Selbstverwaltung
Unveränderliche Infrastruktur

Aufbau dieses Leitfadens

Der Leitfaden zu den Grundlagen der Azure-Anwendungsarchitektur ist als Abfolge von Schritten aufgebaut, mit denen von der Architektur über den Entwurf bis hin zur Implementierung alle Bereiche abgedeckt werden. Zu jedem Schritt werden unterstützende Anweisungen bereitgestellt, die Sie beim Entwurf der Anwendungsarchitektur unterstützen.

Diagramm mit der Struktur dieses Leitfadens, in der die Abschnitte dieses Artikels in einem Flussdiagramm dargestellt sind

Architekturstile

Der erste Entscheidungspunkt ist gleichzeitig der wichtigste. Welche Art von Architektur erstellen Sie? Ist eine Microservicearchitektur, eine konventionellere Anwendung mit n-Schichten oder eine Big Data-Lösung das Ziel? Wir haben unterschiedliche Architekturstile ermittelt. Jeder Stil weist Vor- und Nachteile auf.

Weitere Informationen: Architekturstile

Auswahl der Technologie

Wenn Sie wissen, welche Art von Architektur Sie entwickeln, können Sie jetzt mit der Auswahl der wichtigsten Technologiekomponenten für die Architektur beginnen. Die folgenden Technologieoptionen sind wichtig:

  • Compute bezieht sich auf das Hostingmodell für die Computeressourcen, auf denen Ihre Anwendungen ausgeführt werden. Weitere Informationen finden Sie unter Übersicht über Azure-Computeoptionen.

  • Zu Datenspeichern zählen Datenbanken, aber auch Speicher für Nachrichtenwarteschlangen, Caches, Protokolle und sonstige Daten, die eine Anwendung in einem Speicher speichern kann. Weitere Informationen finden Sie unter Auswählen des richtigen Datenspeichers.

  • Messagingtechnologien ermöglichen asynchrone Nachrichten zwischen den Komponenten des Systems. Weitere Informationen finden Sie unter Asynchrone Messagingoptionen in Azure.

Wahrscheinlich werden Sie weitere Technologieentscheidungen treffen müssen, aber diese drei Elemente (Compute, Daten und Messaging) sind für die meisten Cloudanwendungen von zentraler Bedeutung und bestimmen viele Aspekte Ihres Entwurfs.

Entwerfen der Architektur

Nachdem Sie den Architekturstil und die wichtigsten Technologiekomponenten ausgewählt haben, können Sie sich mit dem spezifischen Entwurf Ihrer Anwendung befassen. Jede Anwendung ist anders, aber die folgenden Ressourcen können Ihnen dabei helfen:

Referenzarchitekturen

Abhängig von Ihrem Szenario ist eine unserer Referenzarchitekturen unter Umständen ein guter Ausgangspunkt. Jede Referenzarchitektur ist mit empfohlenen Methoden sowie Überlegungen in Bezug auf die Skalierbarkeit, Verfügbarkeit, Sicherheit, Resilienz und auf andere Entwurfsaspekte versehen. Die meisten beinhalten außerdem eine bereitstellbare Lösung oder Referenzimplementierung.

Entwurfsprinzipien

Wir haben zehn allgemeine Entwurfsprinzipien identifiziert, die die Skalierbarkeit, Resilienz und Verwaltbarkeit Ihrer Anwendung optimieren. Diese Entwurfsprinzipien gelten für alle Architekturstile. Beim Entwurfsprozess sollten Sie die folgenden zehn allgemeinen Entwurfsprinzipien berücksichtigen. Weitere Informationen finden Sie unter Zehn Entwurfsprinzipien für Azure-Anwendungen.

Entwurfsmuster

Softwareentwurfsmuster sind wiederholbare Muster, die nachweislich bestimmte Probleme lösen. In unserem Katalog mit Cloudentwurfsmustern werden bestimmte Herausforderungen in verteilten Systemen behandelt. Sie behandeln Aspekte wie Verfügbarkeit, Hochverfügbarkeit, optimaler Betrieb, Resilienz, Leistung und Sicherheit. Den Katalog mit Entwurfsmustern finden Sie hier.

Bewährte Methoden

In unseren Artikeln mit bewährten Methoden werden verschiedene Entwurfsüberlegungen behandelt, u. a. API-Design, automatische Skalierung, Datenpartitionierung, Zwischenspeicherung usw. Sehen Sie sich diese bewährten Methoden an, und wenden Sie die für Ihre Anwendung geeigneten Methoden an.

Bewährte Sicherheitsmethoden

In den Best Practices zur Sicherheit wird beschrieben, wie Sie sicherstellen, dass die Vertraulichkeit, die Integrität und die Verfügbarkeit Ihrer Anwendung nicht durch böswillige Akteure gefährdet werden.

Qualitätssäulen

Eine erfolgreiche Cloudanwendung basiert auf fünf Säulen der Softwarequalität: Zuverlässigkeit, Sicherheit, Kostenoptimierung, optimaler Betrieb und effiziente Leistung.

Verwenden Sie das Microsoft Azure Well-Architected Framework, um Ihre Architektur anhand dieser fünf Säulen zu bewerten.

Nächste Schritte