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.
Eine Anwendung, die für in der Cloud gehostete Workloads entwickelt wurde, befasst sich mit den Geschäftsanforderungen der Lösung und enthält cloudeigene Komponenten und Funktionen. Eine gut gestaltete Cloudanwendung befasst sich mit Zuverlässigkeit, Sicherheit, Kosten, Vorgängen und Leistungsaspekten. Diese Überlegungen entsprechen den Geschäftlichen Anforderungen, den spezifischen Merkmalen der Cloudhostingplattform und der Funktionalität, die die Plattform bereitstellt.
Sie müssen keinen bestimmten Anwendungsstil wie Microservices verwenden, um eine Anwendung für Cloudworkloads zu entwerfen. Cloudhosting macht jedoch viele Anwendungsentwurfsmuster besser erreichbar als Hostinglösungen, die nicht nativ eine vielfältige Auswahl an Anwendungs- und Datenplattformoptionen, Skalierungsfunktionen, Sicherheitskontrollen und Messagingoptionen bieten. Cloudarbeitslasten profitieren von Anwendungen, die nach Design in kleinere, dezentrale Dienste zerlegt werden. Diese Dienste kommunizieren über APIs oder durch asynchrone Nachrichten bzw. Ereignisse. Anwendungen skalieren horizontal, indem neue Instanzen hinzugefügt werden, wenn die Nachfrage steigt.
Anwendungen, die die Anwendungshostingplattformen, Messaging-Funktionen und dekompilierten Dienste der Cloud verwenden, unterliegen häufigen Bedenken für verteilte Systeme. In diesen Systemen wird der Anwendungsstatus verteilt, und 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 Telemetrie sind entscheidend für den Einblick in das System.
In den folgenden Spalten sind einige allgemeine Merkmale des lokalen Designs und des Clouddesigns aufgeführt.
Typisches lokales Design
- Monolithische und gemeinsam installierte Funktionalität und Daten
- Entwickelt für vorhersehbare Skalierungen oder überdimensioniert
- Relationale Datenbank
- Synchronisierte Verarbeitung
- Entwickelt, um Fehler zu vermeiden und misst die mittlere Zeit zwischen Fehlern (MTBF)
- Ressourcen werden über IT-Funktionen bereitgestellt
- Snowflake-Server und Pet-Server
Typisches Clouddesign
- Zerlegte und verteilte Funktionen und Daten
- Entworfen mit Blick auf elastische Skalierung
- Mehrsprachige Persistenz mithilfe einer Mischung aus Speichertechnologien
- Asynchrone Verarbeitung
- Entwickelt, um Fehlfunktionen standzuhalten und die mittlere Zeit zwischen Ausfällen (MTBF) zu messen.
- Vorbereitet auf Fehler und misst die mittlere Reparaturzeit
- Ressourcen werden nach Bedarf über die Infrastruktur als Code bereitgestellt.
- Unveränderliche und austauschbare Infrastruktur
Entwerfen von Anwendungen für Azure
Cloudarchitekten, die über Kenntnisse im Cloudhosting verfügen und strategische Kompromissentscheidungen treffen können, sollten Cloudanwendungen entwerfen. Azure bietet Ressourcen, die Architekten bei der Entwicklung von Anwendungen unterstützen und Entwicklungsteams bei der Implementierung unterstützen. Um eine gute Arbeitsauslastung und Anwendungsgestaltung zu erzielen, müssen Architekten:
- Passen Sie sich den Unternehmens-Cloud-Nutzungsstandards an.
- Stellen Sie sicher, dass das Design dem Azure Well-Architected Framework folgt.
- Grundlegendes zu typischen Architekturstilen, Arbeitslasten und bewährten Methoden.
- Verwenden Sie Designmuster, um häufige Probleme zu lösen und strategische Kompromisse einzuführen.
- Treffen Sie fundierte Technologieentscheidungen.
- Auswerten von Referenzarchitekturen.
- Überprüfen Sie dienstspezifische Leitfäden.
Sie können Azure verwenden, um Anwendungen zu hosten und neu zu hosten, die nicht für die Cloud konzipiert sind. Sie können Arbeitsauslastungsanwendungen so anpassen, dass sie Cloudfunktionen verwenden, aber das Erneute Hosten einer Anwendung, die für feste Ressourcen und Skalierung konzipiert ist, gilt nicht als cloudeigene Bereitstellung.
Ausrichtung an Organisationsstandards für die Cloudeinführung
Ihre Anwendung ist Teil einer Arbeitslast, die wahrscheinlich organisatorische Standards und Governance erfüllen muss. Organisationen jeder Größe und Cloudreife können das Cloud Adoption Framework für Azure verwenden, um ihre azureweite Einführungsstrategie, Bereitschaft, Innovation, Verwaltung, Governance und Sicherheitsinitiativen zu formalisieren. Ein Teil dieses Ansatzes besteht darin, einen konsistenten Ansatz über Workloads hinweg zu standardisieren, z. B. die Verwendung von Azure-Zielzonen. Azure-Zielzonen bieten organisationsweite Governance und ermöglichen Workload-Teams und Architekten demokratisierten Zugriff auf Ressourcen, um lokale Geschäftsziele zu erfüllen. Als Architekt, der Anwendungen entwirft, ist es wichtig, dass Sie die Makroumgebung und die Erwartungen an Workloadvorgänge wie Anwendungslandezonen verstehen.
Die Azure-Einführungsstrategie Ihrer Organisation sollte sich nicht auf den von Ihnen gewählten Architekturstil auswirken, aber es kann technologiebezogene Entscheidungen oder Sicherheitsgrenzen einschränken.
Folgen Sie dem Well-Architected Framework
Sie können den Entwurf und die Implementierung jeder Workload über verschiedene Objektive auswerten. Verwenden Sie das Well-Architected Framework, um Ihre Entscheidungen anhand der Designprinzipien in den folgenden fünf wichtigen Architekturpfeilern zu bewerten und auszurichten:
Indem Sie diese Prinzipien befolgen und die Kompromisse zwischen diesen architekturspezifischen Säulen bewerten, können Sie ein Design erstellen, das den Geschäftsanforderungen entspricht und für die Ausführung in Azure ausreichend langlebig, wartungsfähig, sicher und kostenoptimiert ist. Diese Entscheidungen sollten Ihre Architekturstilauswahl informieren und dabei helfen, Ihre Technologieentscheidungen oder Sicherheitsgrenzen einzugrenzen, da sie sich auf die Anforderungen Ihrer spezifischen Workload beziehen.
Ihr Team oder Ihre Organisation hat möglicherweise andere Designprinzipien wie Nachhaltigkeit und Ethik, mit denen Sie Ihre Arbeitsauslastung bewerten können.
Verstehen Sie typische Architekturstile
Nachdem Sie die Organisationsumgebung verstanden haben, in der Ihre Anwendung vorhanden ist, und die Grundlage eines guten Architekturdesigns basierend auf dem Well-Architected Framework, müssen Sie entscheiden, welche Art von Architektur erstellt werden soll. Es könnte eine Microservices-Architektur, eine konventionellere Anwendung mit N-Schichten oder eine Big Data-Lösung sein. Diese Architekturstile sind unterschiedlich und für unterschiedliche Ergebnisse ausgelegt. Wenn Sie Architekturstile auswerten, sollten Sie auch Datenspeichermodelle auswählen, um die Zustandsverwaltung zu adressieren.
Bewerten Sie die verschiedenen Architekturstile und Datenspeichermodelle , um die Vorteile und Herausforderungen zu verstehen, die jede Option darstellt.
Arbeitslasten im Well-Architected-Framework
Im Artikel Well-Architected Framework-Workloads werden verschiedene Arbeitsauslastungsklassifizierungen oder -typen beschrieben. Sie finden Artikel zu unternehmenskritischen Workloads, KI- und Machine Learning-Workloads oder Software-as-a-Service-Workloads. Diese workloadspezifischen Artikel wenden die fünf Kernpfeiler des Well-Architected Frameworks auf die spezifische Domäne an. Wenn Ihre Anwendung Teil einer Arbeitsauslastung ist, die mit einem dieser dokumentierten Muster übereinstimmt, überprüfen Sie die entsprechenden Anleitungen, um Ihren Entwurf zu unterstützen, indem Sie eine Reihe von workloadspezifischen Designprinzipien und Empfehlungen in gemeinsamen Entwurfsbereichen wie Anwendungsplattform, Datenplattform und Netzwerk befolgen. Einige Workloadtypen können von der Auswahl eines bestimmten Architekturstils oder Datenspeichermodells profitieren.
Bewährte Methoden
Weitere Informationen zu verschiedenen Entwurfsaspekten, einschließlich API-Entwurf, Automatischer Skalierung, Datenpartitionierung und Zwischenspeicherung, finden Sie unter Bewährte Methoden in Cloudanwendungen. Überprüfen Sie diese Überlegungen, und wenden Sie die bewährten Methoden an, die für Ihre Anwendung geeignet sind.
Verwenden sie Designmuster, um häufige Probleme zu lösen und strategische Kompromisse einzuführen
Ihre Anwendung verfügt über spezifische Geschäftsanforderungen, Ziele und Erfolgsmessungen. Sie sollten diese funktionalen und nicht funktionsfreien Anforderungen in diskrete Aktivitäten zerlegen, die zusammenarbeiten, um eine Lösung zu erreichen, die ihren erwartungen und Ihren Kunden entspricht. Diese Aktivitäten folgen in der Regel mustern, die die Softwareindustrie etabliert hat. Softwaredesignmuster sind benannte und wiederholbare Ansätze, die Sie auf die Verarbeitung oder Datenspeicherung anwenden können. Diese Muster haben sich bewährt, um spezifische Probleme mit Berücksichtigung bekannter Kompromisse zu lösen.
Der Azure-Katalog von Clouddesignmustern befasst sich mit bestimmten Herausforderungen in verteilten Systemen.
Treffen fundierter Technologieentscheidungen
Nachdem Sie den Typ der Architektur bestimmt haben, die Sie erstellen möchten, und die Designmuster, die Sie verwenden möchten, können Sie die wichtigsten Technologiekomponenten für die Architektur auswählen. Die folgenden Technologieentscheidungen sind unerlässlich:
Compute bezieht sich auf das Hostingmodell für die Computerressourcen oder die Anwendungsplattform, auf der Ihre Anwendungen ausgeführt werden. Weitere Informationen finden Sie unter Wählen Sie einen Compute-Dienst. Sehen Sie sich spezielle Anleitungen wie Auswählen eines Azure-Containerdiensts und Azure-Hybridoptionen für bestimmte Anwendungsplattformen an.
Datenspeicher umfassen Datenbanken und Speicher für Dateien, Caches, Protokolle und alles andere, was eine Anwendung möglicherweise im Speicher speichern kann. Weitere Informationen finden Sie unter "Datenspeicherklassifizierung " und " Überprüfen Ihrer Speicheroptionen".
Messagingtechnologien ermöglichen asynchrones Messaging zwischen Komponenten des Systems. Weitere Informationen finden Sie unter "Asynchrone Messagingoptionen".
KI-Technologien lösen Probleme, die rechenkomplex sind, um in herkömmlichem Anwendungscode zu implementieren. Weitere Informationen finden Sie unter Auswählen einer Azure AI-Diensttechnologie.
Wahrscheinlich treffen Sie andere Technologieentscheidungen auf dem Weg, aber Compute, Daten, Messaging und KI sind für die meisten Cloudanwendungen zentral und bestimmen viele Aspekte Ihres Designs.
Referenzarchitekturen evaluieren
Das Azure Architecture Center bietet Artikel zu Lösungsideen, Beispielarbeitslasten und Referenzarchitekturen. In diesen Artikeln werden in der Regel die allgemeinen Komponenten und Überlegungen aufgeführt, die mit dem Well-Architected Framework übereinstimmen. Einige dieser Artikel enthalten eine bereitstellungsfähige Lösung, die auf GitHub gehostet wird. Obwohl es unwahrscheinlich ist, dass eines dieser Szenarien genau das ist, was Sie erstellen, sind sie ein guter Ausgangspunkt. Sie können die Anleitung an Ihre spezifischen Anforderungen anpassen.
Durchsuchen Sie den Katalog der Architekturen im Azure Architecture Center.
Überprüfen dienstspezifischer Anleitungen
Nachdem Sie die Kerntechnologie ausgewählt und die Referenzarchitekturen konsultiert haben, lesen Sie dokumentationen und Anleitungen, die für die Dienste in Ihrer Architektur spezifisch sind. Verwenden Sie die folgenden Ressourcen für dienstspezifische Anleitungen:
Well-Architected Framework-Diensthandbücher: Das Well-Architected Framework enthält Artikel zu vielen Azure-Diensten. Die Artikel wenden die fünf Säulen der Architektur auf jeden Dienst an.
Azure-Zuverlässigkeitsleitfäden: Der Azure-Zuverlässigkeitshub enthält ausführliche Artikel, die speziell auf die Zuverlässigkeitsmerkmale vieler Azure-Dienste eingehen. Diese Artikel dokumentieren einige der wichtigsten Zuverlässigkeitsthemen, z. B. Unterstützung der Verfügbarkeitszone und erwartetes Verhalten bei verschiedenen Arten von Ausfallen.
Kommen Sie aus einer anderen Cloud?
Wenn Sie mit dem Entwerfen von Anwendungen in einem anderen Cloudanbieter vertraut sind, gelten viele der gleichen Grundlagen. Architekturstile und Clouddesignmuster sind beispielsweise konzeptuell cloudagnostisch. Weitere Informationen finden Sie in den Artikeln zur Dienstzuordnung und Architektur:
Nächster Schritt
- Architekturstile