Freigeben über


Grundlagen der Azure-Anwendungsarchitektur

Eine Anwendung, die für gehostete Workloads in der Cloud entwickelt wurde, entspricht den Geschäftsanforderungen der Lösung und enthält Cloud-native Komponenten und Funktionen. Eine gut gestaltete Cloudanwendung befasst sich mit Zuverlässigkeit, Sicherheit, Kosten, Vorgängen und Leistungsaspekten. Diese Überlegungen werden an geschäftliche Anforderungen und an bestimmte Merkmale und bereitgestellte Funktionen der Cloudhostingplattform ausgerichtet.

Für das Entwerfen von Anwendungen für Cloudworkloads ist kein bestimmter Anwendungsstil erforderlich, z. B. Microservices. Cloudhosting macht jedoch viele Anwendungsentwurfsmuster besser erreichbar als Hostinglösungen, die nicht nativ eine vielfältige Auswahl an Anwendungs- & Datenplattformoptionen, Skalierungsfunktionen, Sicherheitskontrollen und Messagingoptionen bieten. Zu diesem Zweck profitieren Cloudarbeitslasten von Anwendungen, die im Entwurf in kleinere, dezentrale Dienste zerlegt werden. Diese Dienste kommunizieren über APIs oder durch asynchrone Nachrichten bzw. Ereignisse. Anwendungen lassen sich durch bedarfsgesteuertes Hinzufügen neuer Instanzen horizontal skalieren.

Anwendungen, die die Vorteile der Anwendungshostingplattformen, Messaging-Funktionen und zerlegten Dienste der Cloud nutzen, unterliegen Bedenken, die bei verteilten Systemen üblich sind. Der Anwendungszustand ist 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.

Typisches on-premises Design

  • Monolithische und Co-Location-Funktionen und -Daten
  • Entworfen für vorhersagbare Skalierung oder überdimensioniert
  • Relationale Datenbank
  • Synchronisierte Verarbeitung
  • Entwurf mit Blick auf Vermeidung von Ausfällen (MTBF)
  • Über IT-Funktionen bereitgestellte Ressourcen
  • Snowflake- und Pet-Server

Typisches Clouddesign

  • Zerlegte und verteilte Funktionen und Daten
  • Entworfen mit Blick auf elastische Skalierung
  • Polyglot Persistence (Kombination aus Speichertechnologien)
  • Asynchrone Verarbeitung
  • Design, um Fehlfunktionen zu widerstehen (MTBF) und Design für Ausfälle (MTTR)
  • Bereitstellung von Ressourcen durch Infrastructure-as-Code nach Bedarf
  • Unveränderliche und austauschbare Infrastruktur

Entwerfen von Anwendungen für Azure

Anwendungen müssen von Cloudarchitekten entworfen werden, um das Cloudhosting gezielt zu nutzen und strategische Kompromissentscheidungen zu treffen. Azure bietet Ressourcen speziell, um Architekten dabei zu helfen, ein gutes Design zu erreichen und Entwicklungsteams bei der Implementierung zu leiten. Um Workload- und Anwendungsdesign zu erreichen, müssen Architekten folgende Anforderungen erfüllen:

Azure kann verwendet werden, um Anwendungen zu hosten und neu zu hosten, die nicht speziell für die Cloud entwickelt wurden. Während Workload-Anwendungen angepasst werden können, um Cloud-Funktionen zu nutzen, gilt das Rehosting einer Anwendung, die für feste Ressourcen und Skalierung konzipiert wurde, nicht als Cloud-native Bereitstellung.

Anpassung an die Standards für die Adaption der Cloud im Unternehmen

Ihre Anwendung ist Teil einer Arbeitslast, die voraussichtlich organisatorischen Standards und Governance unterliegt. Organisationen jeder Größe und mit beliebigem Cloud-Reifegrad können das Cloud Adoption Framework for Azure verwenden, um ihre Azure-weite Adaptionsstrategie, Readiness, Innovation, Management & Governance und Sicherheit zu formalisieren. Ein Element dieses Ansatzes ist die Standardisierung eines konsistenten Ansatzes für alle Workloads, wie z. B. die Verwendung von Azure Landing Zones. Azure Zielzonen bieten eine Mischung aus unternehmensweiter Governance und bieten gleichzeitig Workload-Teams und Architekten die Möglichkeit, demokratischen Zugriff auf Ressourcen zu erhalten, um lokalisierte Ziele zu erreichen. Als Architekt, der Anwendungen entwirft, müssen Sie unbedingt die Makroumgebung und die Erwartungen verstehen, unter denen der Workload arbeiten wird, wie z. B. die Zielzonen für Anwendungen.

Die Einführungsstrategie Ihrer Organisation von Azure sollte sich nicht auf Ihre Architekturstilauswahl auswirken, aber es kann Einschränkungen für Technologieentscheidungen oder Sicherheitsgrenzen geben.

Design nach dem Azure Well-Architected Framework

Alle Arbeitslasten können in ihrem Design und ihrer Implementierung aus verschiedenen Perspektiven bewertet werden. Azure stellt das Azure Well-Architected Framework zur Verfügung, mit dem Workload-Architekten ihre Entscheidungen anhand von Designprinzipien für fünf wichtige architektonische Elemente bewerten und ausrichten können.

Im Allgemeinen erzeugen diese Prinzipien und die Bewertung von Kompromissen zwischen diesen Architekturpfeilern ein Design, das den Geschäftsanforderungen entspricht und ausreichend langlebig, verhaltbar, sicher, kostenoptimiert für die Ausführung in Azure ist. Diese Entscheidungen sollten sich auf die Wahl Ihres architektonischen Stils auswirken und Einschränkungen bei der Auswahl von Technologien oder Sicherheitsgrenzen in Bezug auf die Anforderungen Ihrer spezifischen Arbeitslast setzen.

Ihr Team oder Ihre Organisation hat möglicherweise auch andere Designprinzipien, aus denen Ihre Arbeitsauslastung ausgewertet werden kann, z. B. Nachhaltigkeit und Ethik.

Verstehen Sie typische Architekturstile

Sobald Sie die organisatorische Umgebung kennen, in der Ihre Anwendung eingesetzt werden soll, und über die allgemeinen Grundlagen eines guten Architekturdesigns aus dem Azure Well-Architected Framework verfügen, lautet der erste Entscheidungspunkt in der Regel: Welche Art von Architektur bauen Sie? Ist eine Microservicearchitektur, eine konventionellere Anwendung mit n-Schichten oder eine Big Data-Lösung das Ziel? Dies sind unterschiedliche Architekturstile, die für verschiedene Zwecke geeignet sind. Beim Auswerten von Architekturstilen wählen Sie auch Datenspeichermodelle aus, um die Zustandsverwaltung zu adressieren. Es gibt Vorteile und Herausforderungen für diese Entscheidungen.

Bewerten Sie die verschiedenen Architekturstile und die Datenspeichermodelle.

Workloads im Azure Well-Architected Framework

Das Azure Well-Architected Framework verfügt über einen Abschnitt, der den verschiedenen Workload-Klassifizierungen oder -Typen gewidmet ist, den Azure Well-Architected Framework Workloads. In diesem Abschnitt finden Sie Artikel über Missionskritische, Künstliche Intelligenz und maschinelles Lernen oder Software-as-a-Service (SaaS) Workloads. In diesen Workload-spezifischen Artikeln werden die fünf Core-Elemente des Well-Architected Frameworks auf die jeweilige Domäne angewandt. Wenn Ihre Anwendung Teil eines Workloads ist, der einem dieser dokumentierten Muster entspricht, lesen Sie die entsprechenden Anleitungen, die Ihnen dabei helfen, Ihr Design nach einer Reihe von Workload-spezifischen Design-Prinzipien und Empfehlungen für allgemeine Design-Bereiche wie z. B. Anwendungsplattform, Datenplattform, Networking usw. zu gestalten. Einige Workloadtypen können von der Auswahl eines bestimmten Architekturstils oder Datenspeichermodells profitieren.

Bewährte Methoden

Lesen Sie die Artikel Bewährte Verfahren für Cloud-Anwendungen, um mehr über verschiedene Designüberlegungen zu erfahren, darunter API-Design, Autoskalierung, Partitionierung von Daten, Zwischenspeicherung usw. Sehen Sie sich diese bewährten Methoden an, und wenden Sie die für Ihre Anwendung geeigneten Methoden an.

Verwenden sie Designmuster, um häufige Probleme zu lösen und strategische Kompromisse einzuführen

Ihre Anwendung verfügt über einzigartige Geschäftsanforderungen, Ziele und Erfolgskennzahlen. Ein Architekt wird diese funktionalen und nichtfunktionalen Anforderungen in diskrete Aktivitäten zerlegen, die zusammenarbeiten, um eine Lösung zu erreichen, mit der Sie und Ihre Benutzer zufrieden sind. Diese Aktivitäten sind häufig so häufig, dass sie Muster etabliert haben, die in der gesamten Softwareindustrie verwendet werden. Diese Softwaredesignmuster sind benannte und wiederholbare Ansätze, die auf die Verarbeitung oder Datenspeicherung angewendet werden, die sich als Lösung bestimmter Probleme mit bekannten Kompromissen erwiesen haben.

Der Katalog von Clouddesignmustern von Azure behandelt spezifische Herausforderungen in verteilten Systemen.

Fundierte Technologieentscheidungen treffen

Nachdem Sie die Art der Architektur ermittelt haben, die Sie erstellen und die Designmuster, die Sie verwenden möchten, können Sie mit der Auswahl der wichtigsten Technologieelemente für die Architektur beginnen. Die folgenden Technologieoptionen sind wichtig:

Wahrscheinlich treffen Sie andere Technologieentscheidungen auf dem Weg, aber diese vier Elemente (Compute, Daten, Messaging und AI) sind für die meisten Cloudanwendungen zentral und bestimmen viele Aspekte Ihres Designs.

Referenzarchitekturen evaluieren

Das Azure Architecture Center ist die Heimat von Lösungsideen, Beispielworkloads und Referenzarchitekturen. Diese Artikel beinhalten in der Regel eine Liste allgemeiner Komponenten und Überlegungen, die auf das Azure Well-Architected Framework abgestimmt sind. Einige dieser Artikel enthalten eine auf GitHub gehostete bereitstellungsfähige Lösung. Obwohl es unwahrscheinlich ist, dass eines dieser Szenarien genau das ist, was Sie erstellen, sind sie möglicherweise ein guter Ausgangspunkt für Sie, um die Anleitung an Ihre spezifischen Anforderungen anzupassen.

Durchsuchen Sie den Katalog der Architekturen hier im Azure Architecture Center.

Dienstspezifische Anleitungen prüfen

Sobald die Kerntechnologie ausgewählt ist und Referenzarchitekturen konsultiert werden, ist es wichtig, auf Dokumentationen und Anleitungen zuzugreifen, die für die Dienste in Ihrer Architektur spezifisch sind. Verwenden Sie die folgenden Ressourcen für dienstspezifische Anleitungen.

  • Azure Well-Architected Framework-Diensthandbücher: Das Well-Architected Framework enthält Artikel über viele der in Azure angebotenen Dienste, in denen die fünf Säulen der Architektur speziell auf diesen Dienst angewendet werden.

    Finden und lesen Sie den Serviceleitfaden für alle Ressourcen, die als Teil des Anwendungsdesigns betrachtet werden.

  • Azure-Zuverlässigkeitsleitfaden: Der Azure-Zuverlässigkeitshub enthält ausführliche Artikel, die speziell auf Zuverlässigkeitsmerkmale vieler Azure-Dienste eingehen. In diesen Artikeln werden einige der wichtigsten Zuverlässigkeitsthemen dokumentiert, z. B. Unterstützung der Verfügbarkeitszone und erwartetes Verhalten bei verschiedenen Arten von Ausfallen.

    Finden und lesen Sie den Zuverlässigkeitsleitfaden für alle Ressourcen, die im Anwendungsdesign berücksichtigt werden.

Kommen Sie aus einer anderen Cloud?

Wenn Sie mit dem Entwerfen von Anwendungen bei einem anderen Cloudanbieter vertraut sind, lassen sich viele der gleichen Grundlagen übernehmen. Architekturstile und Clouddesignmuster sind beispielsweise konzeptuell cloudagnostisch. Schauen Sie sich die relevanten Artikel zur Zuordnung von Diensten und Anleitungen zur Architektur an.

Nächster Schritt