Azure-AnwendungsarchitekturleitfadenAzure Application Architecture Guide

Dieser Leitfaden stellt eine strukturierte Vorgehensweise zum Entwerfen von Anwendungen in Azure vor, die skalierbar, resilient und hochverfügbar sind.This guide presents a structured approach for designing applications on Azure that are scalable, resilient, and highly available. Er basiert auf bewährten Methoden, die wir im Rahmen von Kundeninteraktionen erarbeitet haben.It is based on proven practices that we have learned from customer engagements.

EinführungIntroduction

Die Cloud verändert die Art und Weise, wie Anwendungen entworfen werden.The cloud is changing the way applications are designed. Anwendungen werden nicht mehr als Monolithen entwickelt, sondern in kleinere, dezentralisierte Dienste zerlegt.Instead of monoliths, applications are decomposed into smaller, decentralized services. Diese Dienste kommunizieren über APIs oder durch asynchrone Nachrichten bzw. Ereignisse.These services communicate through APIs or by using asynchronous messaging or eventing. Anwendungen lassen sich durch bedarfsgesteuertes Hinzufügen neuer Instanzen horizontal skalieren.Applications scale horizontally, adding new instances as demand requires.

Diese Trends bringen neue Herausforderung mit sich.These trends bring new challenges. Der Anwendungszustand ist verteilt.Application state is distributed. Vorgänge werden parallel und asynchron ausgeführt.Operations are done in parallel and asynchronously. Bei Ausfällen muss das System als Ganzes resilient sein.The system as a whole must be resilient when failures occur. Bereitstellungen müssen automatisiert und vorhersagbar sein.Deployments must be automated and predictable. Überwachung und Telemetriedaten spielen eine entscheidend Rolle, um Einblick in das System zu erhalten.Monitoring and telemetry are critical for gaining insight into the system. Der Azure-Anwendungsarchitekturleitfaden soll Sie auf folgende Änderungen vorbereiten.The Azure Application Architecture Guide is designed to help you navigate these changes.

Konventionelle lokale SystemeTraditional on-premisesModerne CloudModern cloud
Monolithisch, zentralisiertMonolithic, centralized
Entwurf mit Blick auf vorhersagbare SkalierbarkeitDesign for predictable scalability
Relationale DatenbankRelational database
Hohe KonsistenzStrong consistency
Serielle und synchronisierte VerarbeitungSerial and synchronized processing
Entwurf mit Blick auf Vermeidung von Ausfällen (MTBF)Design to avoid failures (MTBF)
Gelegentlich umfangreiche UpdatesOccasional big updates
Manuelle VerwaltungManual management
Snowflake-ServerSnowflake servers
Zerlegt, dezentralisiertDecomposed, de-centralized
Entwurf mit Blick auf elastische SkalierungDesign for elastic scale
Polyglot Persistence (Kombination aus Speichertechnologien)Polyglot persistence (mix of storage technologies)
Letztliche KonsistenzEventual consistency
Parallele und asynchrone VerarbeitungParallel and asynchronous processing
Entwurf mit Blick auf Ausfälle (MTTR)Design for failure (MTTR)
Häufige geringfügige UpdatesFrequent small updates
Automatisierte SelbstverwaltungAutomated self-management
Unveränderliche InfrastrukturImmutable infrastructure

Dieser Leitfaden richtet sich an Anwendungsarchitekten, Entwickler und Betriebsteams.This guide is intended for application architects, developers, and operations teams. Er dient nicht als Anleitung für die Verwendung der einzelnen Azure-Dienste.It's not a how-to guide for using individual Azure services. Nachdem Sie diesen Leitfaden gelesen haben, werden Sie die Architekturmuster und bewährten Methoden, die beim Erstellen der Azure-Cloudplattform anzuwenden sind, kennen.After reading this guide, you will understand the architectural patterns and best practices to apply when building on the Azure cloud platform.

Aufbau dieses LeitfadensHow this guide is structured

Der Azure-Anwendungsarchitekturleitfaden ist als Abfolge von Schritten aufgebaut, die sich von der Architektur über den Entwurf bis hin zur Implementierung erstrecken.The Azure Application Architecture Guide is organized as a series of steps, from the architecture and design to implementation. Zu jedem Schritt werden unterstützende Anweisungen bereitgestellt, die Sie beim Entwurf der Anwendungsarchitektur unterstützen.For each step, there is supporting guidance that will help you with the design of your application architecture.

ArchitekturstileArchitecture styles

Der erste Entscheidungspunkt ist gleichzeitig der wichtigste.The first decision point is the most fundamental. Welche Art von Architektur erstellen Sie?What kind of architecture are you building? Ist eine Microservicearchitektur, eine konventionellere Anwendung mit n-Schichten oder eine Big Data-Lösung das Ziel?It might be a microservices architecture, a more traditional N-tier application, or a big data solution. Wir haben unterschiedliche Architekturstile ermittelt.We have identified several distinct architecture styles. Jeder Stil weist Vor- und Nachteile auf.There are benefits and challenges to each.

Weitere Informationen:Learn more:

Auswahl der TechnologieTechnology choices

Direkt am Anfang sollte eine Entscheidung für eine von zwei Technologieoptionen getroffen werden, da dies Auswirkungen auf die gesamte Architektur hat.Two technology choices should be decided early on, because they affect the entire architecture. Wählen Sie zwischen Computediensten und Datenspeichern.These are the choice of compute service and data stores. Compute bezieht sich auf das Hostingmodell für die Computeressourcen, mit dem Ihre Anwendungen ausgeführt werden.Compute refers to the hosting model for the computing resources that your applications runs on. Zu Datenspeichern zählen Datenbanken, aber auch Speicher für Nachrichtenwarteschlangen, Caches, Protokolle und sonstige Daten, die eine Anwendung in einem Speicher speichern kann.Data stores includes databases but also storage for message queues, caches, logs, and anything else that an application might persist to storage.

Wenn Ihr Entwurf eine Messaginginfrastruktur beinhaltet, hängt die Wahl des Messagingdiensts von der Absicht und den Anforderungen der Nachricht ab.If your design includes a messaging infrastructure, the choice of messaging service depends on the intent and requirements of the message.

Weitere Informationen:Learn more:

EntwurfsprinzipienDesign principles

Wir haben zehn allgemeine Entwurfsprinzipien identifiziert, die die Skalierbarkeit, Resilienz und Verwaltbarkeit Ihrer Anwendung optimieren.We have identified ten high-level design principles that will make your application more scalable, resilient, and manageable. Diese Entwurfsprinzipien gelten für alle Architekturstile.These design principles apply to any architecture styles. Beim Entwurfsprozess sollten Sie die folgenden zehn allgemeinen Entwurfsprinzipien berücksichtigen.Throughout the design process, keep these ten high-level design principles in mind. Berücksichtigen Sie dann die bewährten Methoden für bestimmte Aspekte der Architektur, etwa automatische Skalierung, Caching, Datenpartitionierung, API-Design usw.Then consider the set of best practices for specific aspects of the architecture, such as auto-scaling, caching, data partitioning, API design, and others.

Weitere Informationen:Learn more:

QualitätssäulenQuality pillars

Eine erfolgreiche Cloudanwendung basiert auf fünf Säulen der Softwarequalität: Skalierbarkeit, Verfügbarkeit, Resilienz, Verwaltung und Sicherheit.A successful cloud application will focus on five pillars of software quality: Scalability, availability, resiliency, management, and security. Verwenden Sie unsere Checklisten zur Entwurfsüberprüfung, um Ihre Architektur im Hinblick auf diese Qualitätssäulen zu überprüfen.Use our design review checklists to review your architecture according to these quality pillars.

Weitere LerninhalteMore learning

Eine Einführung in allgemeine Cloud Computing-Dienste, in die Vorteile von Cloud Computing und die Cloudbereitstellungsmodule finden Sie unter Cloudkonzepte: Die Prinzipien des Cloud Computings.For a guided introduction to common cloud computing services, benefits of cloud computing, and cloud deployment modules, review Cloud Concepts - Principles of Cloud Computing.

Eine technischere Betrachtung der Grundpfeiler einer Cloudlösung sowie Prinzipien für die Erstellung einer stabilen Architekturgrundlage finden Sie unter Säulen einer guten Azure-Architektur.For a more technical perspective on the key pillars of a cloud solution and principles for creating a solid architectural foundation, review Pillars of a great Azure Architecture.