Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Erstellen zuverlässiger, skalierbarer und sicherer Cloudanwendungen erfordert bewusste Architekturentscheidungen. Die bewährten Methoden in diesem Artikel enthalten Anleitungen für häufige Bedenken, die in verteilten Systemen auftreten, z. B. Zwischenspeichern, Datenpartitionierung, API-Entwurf und vorübergehende Fehlerbehandlung. Jede Übung befasst sich mit einer oder mehreren Säulen des Azure Well-Architected Framework, das die folgenden fünf Qualitätsattribute für den Workloadentwurf definiert:
Diese Methoden ergänzen weitere grundlegende Anleitungen im Azure Architecture Center. Die Designprinzipien für Azure-Anwendungen bieten allgemeine Strategien, z. B. das Entwerfen von Selbstheilung und Skalierung. Die Clouddesignmuster bieten wiederverwendbare Lösungen für wiederkehrende Architekturprobleme. Die Leistungs-Antipattern beschreiben häufige Fehler, die zu Skalierbarkeitsproblemen beim Laden führen. Diese Ressourcen helfen Ihnen dabei, fundierte Architekturentscheidungen zu treffen.
Katalog mit Vorgehensweisen
Jede Übung in dieser Tabelle ist einer oder mehreren Well-Architected Framework-Säulen zugeordnet. Verwenden Sie diese Zuordnungen, um zu ermitteln, welche Praktiken für die Qualitätsattribute relevant sind, die Sie in Ihrer Workload priorisieren.
| Praxis | Zusammenfassung | Zugehörige Säulen |
|---|---|---|
| API-Design | Entwerfen Sie Web-APIs zur Unterstützung der Plattformunabhängigkeit mithilfe von Standardprotokollen und vereinbarten Datenformaten. Fördern Sie die Dienstentwicklung, damit Clients Funktionen entdecken können, ohne dass Änderungen erforderlich sind. Verbessern Sie die Reaktionszeiten, indem Sie Teilantworten unterstützen und Möglichkeiten zum Filtern und Paginieren von Daten bereitstellen. | Operative Exzellenz, Leistungseffizienz |
| API-Implementierung | Implementieren Sie Web-APIs, um effizient, reaktionsfähig, skalierbar und verfügbar zu sein. Sorgen Sie für die Idempotenz von Aktionen, unterstützen Sie die Inhaltsaushandlung, und befolgen Sie die HTTP-Spezifikation. Ausnahmen behandeln und die Erkennung von Ressourcen unterstützen. Bieten Sie Möglichkeiten, große Anforderungen zu verarbeiten und den Netzwerkdatenverkehr zu minimieren. | Operative Exzellenz, Leistungseffizienz |
| Automatische Skalierung | Entwerfen Sie Apps, um Ressourcen dynamisch zuzuweisen und zu ordnen, um Leistungsanforderungen zu erfüllen und Kosten zu minimieren. Nutzen Sie die autoscale-Funktion in Azure Monitor und die integrierte automatische Skalierung, die viele Azure Komponenten bereitstellen. | Kostenoptimierung, Leistungseffizienz |
| Hintergrundaufträge | Implementieren Sie Batchaufträge, Verarbeitungsaufgaben und Workflows als Hintergrundaufträge. Verwenden Sie Azure-Plattformdienste, um diese Aufgaben zu hosten. Verwenden Sie Ereignisse oder Zeitpläne, um Vorgänge auszulösen und Ergebnisse an aufrufende Aufgaben zurückzugeben. | Zuverlässigkeit, Operative Exzellenz |
| Zwischenspeicherung | Verbessern Sie die Leistung, indem Sie Daten in schnellen Speicher kopieren, der in der Nähe von Apps liegt. Zwischenspeichern von Daten, die Sie häufig lesen, aber selten ändern. Verwalten Sie Datenablauf und Parallelität. Erfahren Sie, wie Sie Caches auffüllen und den Azure Managed Redis-Dienst verwenden. | Performance-Effizienz |
| Content Delivery Network | Verwenden Sie Content Delivery Networks (CDNs), um Webinhalte effizient für Benutzer bereitzustellen und die Auslastung von Web-Apps zu verringern. Überwinden Von Bereitstellungs-, Versionsverwaltungs-, Sicherheits- und Resilienzproblemen. | Zuverlässigkeit, Leistungseffizienz |
| Datenpartitionierung | Partitionieren Sie Daten, um die Skalierbarkeit, Verfügbarkeit und Leistung zu verbessern und Konflikte sowie Datenspeicherkosten zu reduzieren. Verwenden Sie horizontale, vertikale und funktionale Partitionierung auf effiziente Weise. | Kostenoptimierung, Leistungseffizienz |
| Strategien zur Datenpartitionierung (nach Dienst) | Wenden Sie Partitionierungsstrategien für Azure-Dienste an, einschließlich Azure SQL-Datenbank, Azure Cosmos DB, Azure Blob Storage, Azure Managed Redis und Azure Service Bus. Verteilen Sie Lasten, reduzieren Sie die Latenz und unterstützen die horizontale Skalierung. | Kostenoptimierung, Leistungseffizienz |
| Beibehaltung des Hostnamens | Erfahren Sie, warum es wichtig ist, den ursprünglichen HTTP-Hostnamen zwischen einem Reverseproxy und seiner Back-End-Webanwendung beizubehalten und diese Empfehlung für die gängigsten Azure-Dienste zu implementieren. | Zuverlässigkeit, Sicherheit |
| Überlegungen zur Nachrichtencodierung | Wählen Sie die Nutzlaststruktur, das Codierungsformat und die Serialisierungsbibliothek für asynchrone Nachrichten aus, die zwischen Systemkomponenten ausgetauscht werden. Berücksichtigen Sie Kompromisse wie Interoperabilität, Größe, menschliche Lesbarkeit und Schema-Evolution. | Sicherheit |
| Überwachung und Diagnose: | Verfolgen Sie die Systemintegrität, -nutzung und -leistung mithilfe einer Überwachungs- und Diagnosepipeline. Verwandeln Sie Überwachungsdaten in Warnungen, Berichte und Trigger, die Ihnen dabei helfen, maßnahmen in verschiedenen Situationen zu ergreifen. Beispiele sind das Erkennen und Beheben von Problemen, das Abfangen potenzieller Probleme, die Erfüllung von Leistungsgarantien und die Erfüllung von Überwachungsanforderungen. | Operative Exzellenz |
| Behandeln vorübergehender Fehler | Beheben Sie vorübergehende Fehler, die durch nicht verfügbare Netzwerke oder Ressourcen verursacht werden. Überwinden Sie Herausforderungen bei der Entwicklung geeigneter Wiederholungsstrategien. Vermeiden Sie das Duplizieren von Wiederholungscodeebenen und andere Antimuster. | Zuverlässigkeit |
Designprinzipien
Bevor Sie sich mit spezifischen technischen Anliegen befassen, richten Sie eine starke architekturbezogene Grundlage ein. Die Designprinzipien für Azure-Anwendungen bieten allgemeine Strategien, die für Workloads gelten, z. B. das Entwerfen von Self-Healing, das Skalieren und die Minimierung der Koordination. Diese Prinzipien prägen die Entscheidungen, deren Umsetzung durch die in der vorstehenden Tabelle aufgeführten Best Practices unterstützt wird.
Cloudentwurfsmuster
Nachdem Sie Entwurfsprinzipien festgelegt haben, bieten Ihnen Clouddesignmuster wiederverwendbare Lösungen für wiederkehrende Probleme in verteilten Systemen. Viele der bewährten Methoden in diesem Artikel basieren auf einem oder mehreren dieser Muster. Die Anleitung zur vorübergehenden Fehlerbehandlung basiert beispielsweise auf dem Muster "Wiederholung " und " Schaltkreisbrecher". Der Zwischenspeicherungsleitfaden bezieht sich auf das Cache-Aside Muster. Der Leitfaden für Hintergrundaufgaben verwendet Muster wie konkurrierende Konsumenten und warteschlangenbasierter Lastenausgleich. Überprüfen Sie den vollständigen Katalog, um Muster zu identifizieren, die den architektonischen Herausforderungen in Ihrer Workload gerecht werden.
Leistungsbezogene Antimuster
Fehler können unter Produktionslast entstehen, auch wenn Sie solide Prinzipien, gute Muster und bewährte Methoden anwenden. Performance-Antipatterns für Cloudanwendungen bezeichnen häufige Entwurfsmuster, die nicht skalieren, oder Abkürzungen, durch die sich beim Hinzufügen weiterer Funktionen Probleme ansammeln. Um Probleme zu erfassen, bevor sie die Produktion erreichen, verwenden Sie diese Antipattern als Prüfliste bei Entwurfsüberprüfungen und Codeüberprüfungen.
Nächster Schritt
- Design-Prinzipien für Azure Anwendungen: Beginnen Sie mit den grundlegenden Prinzipien, die diese bewährten Methoden informieren.
Verwandte Inhalte
Azure Well-Architected Review: Bewerten Sie Ihre Arbeitsauslastung anhand der Well-Architected Framework-Säulen.
Clouddesignmuster: Erkunden Sie wiederverwendbare Lösungen für häufige architekturbasierte Herausforderungen.