Grundlagen der Cloud-Anwendungsarchitektur

Grundlagen der Cloud-Anwendungsarchitektur

In dieser Übersicht wird eine strukturierte Vorgehensweise zum Entwerfen von Anwendungen in der Cloud beschrieben, die skalierbar, sicher, resilient und hochverfügbar sind. Der Ansatz basiert auf bewährten Methoden, die im Rahmen von Kundeninteraktionen erarbeitet wurden.

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 entscheidende Rolle, um Einblick in das System zu erhalten.

Hier einige Änderungen im Überblick:

Konventionelle lokale Systeme Moderne 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

 

Architekturstile

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

Auswahl der Technologie

Nach der Entscheidung für eine Entwicklung in einer bestimmten Art von Architektur wird mit der Auswahl der wichtigsten Technologiekomponenten begonnen.

Die folgenden Technologieoptionen sind in der Cloud wichtig:

Cloud-Computing bezieht sich auf das Hostingmodell für die Computeressourcen, auf denen Ihre Anwendungen ausgeführt werden.

Zu Cloud-Data zählen Datenbanken, aber auch Speicher für Nachrichtenwarteschlangen, Caches, Protokolle und sonstige Daten, die eine Anwendung in einem Speicher speichern kann.

Mit Cloud-Messaging verfügen Sie über Messagingtechnologien für asynchrone Nachrichten zwischen den Komponenten des Systems.

Wahrscheinlich werden wir zusammen weitere Technologieentscheidungen treffen müssen, aber diese drei Elemente (Cloud-Computing, Cloud-Data und Cloud-Messaging) sind für die meisten Cloudanwendungen von zentraler Bedeutung und bestimmen viele Aspekte unseres Entwurfs.

Entwurf der Architektur

Nachdem wir den Architekturstil und die wichtigsten Technologiekomponenten ausgewählt haben, können wir uns mit dem spezifischen Entwurf Ihrer Anwendung befassen. Jede Anwendung ist anders, aber die folgenden Grundlagen helfen uns bei unserem Entwurf:

Referenzarchitekturen

Abhängig von Ihrem Szenario ist eine unserer Referenzarchitekturen unter Umständen ein guter Ausgangspunkt. Jede Referenzarchitektur ist mit erprobten Methoden sowie Überlegungen in Bezug auf die Skalierbarkeit, Verfügbarkeit, Sicherheit, Resilienz und auf andere Entwurfsaspekte entworfen worden.

Entwurfsprinzipien

Wir gehen nach allgemeinen Entwurfsprinzipien vor, die die Skalierbarkeit, Resilienz und Verwaltbarkeit Ihrer Anwendung optimieren. Diese Entwurfsprinzipien gelten für alle Architekturstile. Beim Entwurfsprozess berücksichtigen wir diese allgemeinen Entwurfsprinzipien.

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. Wir gehen bei unserem Entwurf auch nach Entwurfsmustern vor.

Bewährte Methoden

Aus unserer Erfahrung mit bewährten Methoden werden verschiedene Entwurfsüberlegungen beachtet, u. a. API-Design, automatische Skalierung, Datenpartitionierung, Zwischenspeicherung usw. Es werden für Ihre Anwendung geeignete Methoden ausgewählt und angewendet.

Bewährte Sicherheitsmethoden

Durch Best Practices zur Sicherheit stellen wir sicher, 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.

Sie und wir werden unsere Architektur anhand dieser fünf Säulen bewerten und testen.

--

Kontaktieren Sie uns einfach kostenlos und unverbindlich über unser Kontaktformular.

Zurück