PCG logo
Artikel

Erstellen Sie belastbare Cloud-Architekturen mit AWS

customHeroImage

Es gibt kaum etwas Frustrierenderes als unerwartete Ausfallzeiten, insbesondere wenn Ihre Anwendung nicht mehr funktioniert. Ihren Kunden wird es auch nicht gefallen, und wenn es eine praktikable Alternative gibt, werden sie sie suchen. Dieser Artikel befasst sich mit der Kunst, robuste Cloud-Architekturen mit AWS zu erstellen und sicherzustellen, dass Ihre Anwendung unter allen Umständen robust und verfügbar bleibt.

Ausfallsicherheit ist ein entscheidender Aspekt jeder Cloud-Architektur und bezieht sich auf die Fähigkeit eines Systems, Service-Levels trotz Fehlern und Herausforderungen für den Normalbetrieb aufrechtzuerhalten. AWS bietet eine umfassende Reihe von Tools und Services, die es Entwicklern ermöglichen, hochbelastbare Anwendungen in der Cloud zu erstellen.

Resilienz in Cloud-Architekturen verstehen

Bevor wir uns mit den Besonderheiten der AWS-Services und Best Practices befassen, wollen wir zunächst ein klares Verständnis davon entwickeln, was Resilienz im Kontext von Cloud-Computing bedeutet:

  • Widerstandsfähigkeit ist die Fähigkeit eines Systems, sich nach Ausfällen zu erholen und weiterhin zu funktionieren.
  • Ausfallsicherheit ≠ Hochverfügbarkeit. Es ist wichtig zu beachten, dass Resilienz nicht dasselbe ist wie hohe Verfügbarkeit, die darauf abzielt, ein bestimmtes Maß an betrieblicher Leistungsfähigkeit sicherzustellen.
  • Notfallwiederherstellung ist ein wesentlicher Bestandteil der Ausfallsicherheit und umfasst die Aufrechterhaltung eines Backup-Systems, auf das man sich verlassen kann, wenn das Primärsystem ausfällt.

Ausfallzeiten kosten Geld

Die Kosten von Ausfallzeiten können für Unternehmen erheblich sein, da aufsehenerregende Ausfälle Schlagzeilen machen und massive Verluste verursachen. Im Jahr 2017 führte ein großer Ausfall beim S3-Dienst von Amazon zu Störungen bei vielen beliebten Websites und Diensten, während ein Konfigurationsfehler bei Microsoft Azure im Jahr 2018 zu einem weltweiten Ausfall führte, von dem zahlreiche Kunden betroffen waren. Diese Vorfälle unterstreichen die entscheidende Bedeutung des Aufbaus widerstandsfähiger Architekturen, die Ausfällen standhalten und Ausfallzeiten minimieren können.

Um die Kosten von Ausfallzeiten ins rechte Licht zu rücken:

  1. Laut Gartner belaufen sich die durchschnittlichen Kosten für IT-Ausfälle auf 5.152 € pro Minute.
  2. Für ein typisches Unternehmen kann bereits eine Stunde Ausfallzeit zu Verlusten von über 92.000 € führen.
  3. Abgesehen von den direkten finanziellen Auswirkungen können Ausfallzeiten auch zu Reputationsschäden, Produktivitätsverlusten und verminderter Kundenzufriedenheit führen.

Offensichtlich ist die Investition in Resilienz nicht nur ein technisches Anliegen, sondern eine geschäftliche Notwendigkeit. Glücklicherweise bietet AWS eine robuste Suite von Diensten und Funktionen, die Ihnen beim Aufbau äußerst belastbarer Cloud-Architekturen helfen sollen.

image-e7b10bd8c2ae

Kern-AWS-Services für Resilienz

Lassen Sie uns einige der wichtigsten AWS-Dienste erkunden, die die Grundlage für belastbare Cloud-Architekturen bilden:

EC2 und Auto Scaling

Amazon EC2 bietet anpassbare Rechenkapazität in der Cloud, sodass Sie je nach Bedarf schnell nach oben oder unten skalieren können. Mit Auto Scaling können Sie die Anzahl der EC2-Instanzen in Ihrer Bereitstellung automatisch entsprechend den von Ihnen definierten Bedingungen anpassen. Eine der gängigsten Resilienzstrategien besteht darin, die Flexibilität und Auto Scaling-Gruppen von EC2 zu nutzen, um unerwartete Verkehrsspitzen zu bewältigen.

  1. Bewältigung von Verkehrsstößen: Eine E-Commerce-Site kann Auto Scaling nutzen, um automatisch weitere EC2-Instanzen hinzuzufügen, um Datenverkehrsspitzen zu bewältigen, wie PCG zeigt, das myposter bei der Bewältigung von hohem Datenverkehr in Spitzenzeiten wie der Weihnachtszeit unterstützt, indem es den Einsatz von AWS Auto Scaling optimiert. Dadurch wurde sichergestellt, dass der Webshop auch unter hoher Auslastung reaktionsfähig blieb, was zu einem erfolgreichen Weihnachtsverkauf führte.
    Einfach und ausfallsicher: Webshop in der Amazon Cloud

S3 und Glacier

Amazon S3 bietet dauerhaften, hochverfügbaren Objektspeicher in der Cloud. Es ist auf eine Haltbarkeit von 99,999999999 % und eine Verfügbarkeit von 99,99 % ausgelegt.

image-dd7111a8a23a
  • Verfügbarkeit vs. Kosten: S3 ist ideal für die Speicherung kritischer Daten und Backups, die jederzeit zugänglich sein müssen. Für die Langzeitarchivierung selten abgerufener Daten bietet Amazon Glacier eine kostengünstige Lösung.
  • Gewährleistung einer schnellen Genesung: Durch das Speichern regelmäßiger Backups Ihrer Datenbanken und Anwendungsdaten in S3 stellen Sie sicher, dass Sie im Falle eines Datenverlusts oder einer Datenbeschädigung schnell wiederherstellen können. Unsere Fallstudie zu racksnet® zeigt, wie sie AWS-Services für Skalierbarkeit und Ausfallsicherheit nutzten und so hohe Sicherheits- und Leistungsanforderungen erfüllen konnten, was für effektive Backup- und Wiederherstellungsstrategien von entscheidender Bedeutung ist.
    Erfolgreiche Geschäftsskalierung mit Amazon Web Services (AWS)

RDS und Aurora

Amazon RDS (Relational Database Service) erleichtert die Einrichtung, den Betrieb und die Skalierung relationaler Datenbanken in der Cloud. RDS bietet Multi-AZ-Bereitstellungen für verbesserte Ausfallsicherheit und repliziert Daten automatisch auf eine Standby-Instanz in einer anderen Availability Zone.

  • Amazon Aurora ist eine vollständig verwaltete relationale Datenbank-Engine, die mit MySQL und PostgreSQL kompatibel ist und gleichzeitig verbesserte Leistung und Ausfallsicherheit bietet.
  • Sicherstellung der Datenbankverfügbarkeit: Durch die Verwendung von RDS-Multi-AZ-Bereitstellungen oder Aurora können Sie sicherstellen, dass Ihre Datenbank auch dann betriebsbereit bleibt, wenn die primäre Datenbankinstanz aufgrund eines Ausfalls in einer Verfügbarkeitszone nicht verfügbar ist. Die Lösung für racksnet® umfasste auch die Nutzung von Amazon Aurora als Teil ihrer Backend-Infrastruktur, um die Ausfallsicherheit ihres Systems zu verbessern und einen unterbrechungsfreien Service für ihre Kunden sicherzustellen.

Wie wir sehen können, bieten diese zentralen AWS-Dienste eine solide Grundlage für den Aufbau belastbarer Architekturen, es sind jedoch auch erweiterte Funktionen und Strategien zu berücksichtigen. Im nächsten Abschnitt werden wir einige dieser Optionen untersuchen, um die Ausfallsicherheit Ihrer Cloud-Bereitstellungen weiter zu verbessern.

Stärken Sie den Kern Ihrer AWS Cloud-Resilienz

Wenn Sie sicherstellen möchten, dass Ihre Cloud-Architektur so belastbar wie möglich ist, ist die Beherrschung dieser zentralen AWS-Dienste von entscheidender Bedeutung. Benötigen Sie Hilfe? Kontaktieren Sie uns noch heute, damit wir Ihnen helfen können, Ihr Fundament zu stärken und Ihre Anwendungen vor Ausfallzeiten und Störungen zu schützen.

Mehr erfahren

Erweiterte AWS-Funktionen und -Tools

Sobald Sie die oben besprochenen Kerndienste beherrschen, können Sie sich die verschiedenen erweiterten Funktionen und Tools von AWS ansehen, die die Widerstandsfähigkeit Ihrer Cloud-Architekturen weiter verbessern können:

Elastischer Lastausgleich (ELB)

ELB verteilt eingehenden Datenverkehr automatisch auf mehrere Ziele, wie EC2-Instanzen, Container und IP-Adressen. Es kann fehlerhafte Ziele erkennen und den Datenverkehr nur an fehlerfreie Instanzen weiterleiten, um sicherzustellen, dass Ihre Anwendung auch dann verfügbar bleibt, wenn einige Instanzen ausfallen.

  • Lustige Tatsache: ELB unterstützt drei Arten von Load Balancern: Application Load Balancer (ALB), Network Load Balancer (NLB) und Classic Load Balancer (CLB), die jeweils für unterschiedliche Anwendungsfälle geeignet sind.
image-0878c7188638

Route 53

Amazon Route 53 ist ein hochverfügbarer und skalierbarer Domain Name System (DNS)-Webdienst. Es bietet eine Vielzahl von Routing-Richtlinien, darunter latenzbasiertes Routing, Geolocation-Routing und Failover-Routing. Mit dem DNS-Failover können Sie den Datenverkehr an eine Backup-Site oder -Ressource weiterleiten, wenn die primäre Site nicht mehr verfügbar ist.

  • Minimierung der Latenz und Verbesserung der Leistung: Mit der Geolocation-Routing-Funktion Route 53 können Sie Benutzer basierend auf ihrem geografischen Standort zum nächstgelegenen Rechenzentrum leiten, wodurch die Latenz minimiert und die Leistung verbessert wird.

AWS Lambda und serverlose Architekturen

Wie Sie vielleicht bereits wissen, können Sie mit AWS Lambda Code ausführen, ohne Server bereitzustellen oder zu verwalten, wodurch Ihre Anwendungen robuster werden, indem die Serververwaltung abstrahiert wird. Mit Lambda können Sie ereignisgesteuerte, automatisch skalierende Anwendungen erstellen, die sich automatisch an sich ändernde Anforderungen anpassen.

  • Auswirkungen auf die Cloud-Resilienz: Serverlose Architekturen erhöhen die Ausfallsicherheit durch Abstrahieren der Serververwaltung. PCG implementierte beispielsweise eine serverlose Lösung für die SmartGolfa-Plattform von Teevolution und nutzte AWS Lambda, um eine skalierbare und sichere Umgebung für über 50.000 aktive Benutzer zu schaffen. Dadurch konnte die Plattform komplexe Buchungsfunktionen unterbrechungsfrei abwickeln.

Diese erweiterten Funktionen und Tools bieten in Kombination mit den AWS-Kerndiensten ein umfassendes Toolkit für den Aufbau äußerst belastbarer Cloud-Architekturen. Um echte Widerstandsfähigkeit zu erreichen, bedarf es jedoch auch einer Änderung der Denkweise und der Übernahme von Praktiken wie der Gestaltung für das Scheitern, die wir im nächsten Abschnitt untersuchen werden.

Entwerfen für das Scheitern

„Designing for Failure“ mag wie ein pessimistischer Ansatz oder sogar wie ein Schlagwort einer konträren Managementphilosophie klingen, aber tatsächlich ist es ein entscheidender Aspekt beim Aufbau widerstandsfähiger Cloud-Architekturen. Dazu gehört die Antizipation und Vorbereitung potenzieller Ausfälle auf jeder Ebene Ihres Systems. Durch die proaktive Identifizierung von Fehlerquellen und die Umsetzung von Strategien zur Minderung ihrer Auswirkungen können Sie sicherstellen, dass Ihre Anwendung auch im Angesicht von Widrigkeiten verfügbar und funktionsfähig bleibt.

image-f00894738e82

Chaos-Engineering

Auch wenn Chaos Engineering ein vergessener 16-Bit-Spieltitel aus den 1990er Jahren sein könnte, handelt es sich tatsächlich um die Praxis, absichtlich Fehler in ein System einzuführen, um seine Widerstandsfähigkeit zu testen. Es hilft, Schwachstellen und Schwachstellen aufzudecken, bevor sie zu echten Ausfällen führen. Netflix ist bekanntermaßen Pionier des Chaos Engineering mit seiner Simian Army, zu der Tools wie Chaos Monkey gehören, die EC2-Instanzen nach dem Zufallsprinzip beenden, um sicherzustellen, dass das System solche Ausfälle ordnungsgemäß bewältigen kann.

AWS Fault-Injection-Simulator

AWS Fault Injection Simulator (FIS) ist ein vollständig verwalteter Service, der die Durchführung kontrollierter Experimente zum Testen der Ausfallsicherheit Ihrer Anwendungen erleichtert. Mit FIS können Sie Fehler wie EC2-Instanzbeendigung, API-Drosselung und Netzwerklatenz einschleusen, um zu sehen, wie Ihr System reagiert.

  • Klein anfangen, groß rauskommen: Beginnen Sie mit kleinen Tests in Nicht-Produktionsumgebungen, bevor Sie zu größeren Produktionsunterbrechungen übergehen.

Indem Sie die Prinzipien des Chaos Engineering nutzen und Tools wie den AWS Fault Injection Simulator nutzen, können Sie potenzielle Fehlerquellen in Ihren Cloud-Architekturen proaktiv identifizieren und beheben. Diese Änderung der Denkweise von der Reaktion auf Ausfälle hin zum proaktiven Testen auf diese ist für den Aufbau wirklich belastbarer Systeme von entscheidender Bedeutung.

Im nächsten Abschnitt untersuchen wir, wie multiregionale und hybride Architekturen die Ausfallsicherheit Ihrer Anwendungen weiter verbessern können.

Mehrregionale und hybride Architekturen

Die Bereitstellung Ihrer Anwendung in mehreren AWS-Regionen oder die Nutzung eines Hybrid-Cloud-Ansatzes kann ihre Ausfallsicherheit erheblich steigern. Lassen Sie uns diese Architekturen genauer untersuchen:

Bereitstellungen in mehreren Regionen

Die Bereitstellung Ihrer Anwendung in mehreren AWS-Regionen bietet geografische Redundanz und Failover-Funktionen. PCG wandte diesen Ansatz für racksnet an und half ihnen dabei, ihre AWS-basierte Lösung zu skalieren, um den Anforderungen eines internationalen Kundenstamms gerecht zu werden und gleichzeitig die Einhaltung strenger Sicherheitsstandards sicherzustellen.

Bereitstellungen in mehreren Regionen bieten außerdem den Vorteil einer verbesserten Latenz für Benutzer, die sich näher an bestimmten Regionen befinden.

  • Sicherstellung globaler Verfügbarkeit: Eine E-Commerce-Anwendung, die Benutzer auf verschiedenen Kontinenten bedient, kann Bereitstellungen in mehreren Regionen nutzen, um eine hohe Verfügbarkeit und optimale Leistung für alle Benutzer sicherzustellen.
image-2a2bdec25326

Hybride Cloud-Architekturen

Hybrid-Cloud-Architekturen kombinieren lokale Infrastruktur mit AWS-Cloud-Services. Mit diesem Ansatz können Sie kritische Workloads vor Ort verwalten und gleichzeitig die Skalierbarkeit und Ausfallsicherheit der Cloud für andere Komponenten nutzen.

Hybridarchitekturen können besonders nützlich für Organisationen mit strengen gesetzlichen oder Compliance-Anforderungen sein, die vorschreiben, dass bestimmte Daten oder Arbeitslasten vor Ort bleiben:

  1. Bleiben Sie konform: Ein Beispiel könnte sein, dass ein Gesundheitsdienstleister einen Hybrid-Cloud-Ansatz verwendet, um Patientenakten vor Ort zu speichern, um die HIPAA-Vorschriften einzuhalten, und gleichzeitig AWS für die Durchführung von Analysen und die Verarbeitung nicht sensibler Daten nutzt.
  2. Kundendaten sichern: Ebenso kann ein Finanzinstitut einen Hybrid-Cloud-Ansatz nutzen, um vertrauliche Kundendaten vor Ort zu speichern und gleichzeitig AWS für weniger kritische Arbeitslasten und Notfallwiederherstellung zu nutzen.

Während multiregionale und hybride Architekturen erhebliche Vorteile bei der Ausfallsicherheit bieten, bringen sie auch zusätzliche Komplexität in Bezug auf Verwaltung und Überwachung mit sich. AWS bietet Tools wie AWS Systems Manager und AWS CloudFormation, um die Bereitstellung und Verwaltung dieser Architekturen zu vereinfachen.

Im nächsten Abschnitt befassen wir uns mit der Bedeutung von Überwachung und Automatisierung für die Aufrechterhaltung der Ausfallsicherheit Ihrer Cloud-Architekturen.

Überwachung und Automatisierung

Effektive Überwachung und Automatisierung sind für die Aufrechterhaltung der Widerstandsfähigkeit unerlässlich. PCG unterstützte Lobster beispielsweise beim Übergang von einer On-Premise-Lösung zu einer Cloud-basierten Infrastruktur und nutzte AWS-Services, um die Überwachung zu verbessern und Abläufe zu rationalisieren, was letztendlich die Systemstabilität verbesserte.

image-8db8ea4775e3

AWS CloudWatch

Amazon CloudWatch ist ein umfassender Überwachungsdienst, der Metriken, Protokolle und Ereignisse von Ihren AWS-Ressourcen und -Anwendungen sammelt und verfolgt. Sie können damit Alarme und Benachrichtigungen auf der Grundlage vordefinierter Schwellenwerte einrichten und so Anomalien schnell erkennen und darauf reagieren.

  • Einfache Handhabung von Spikes: Sie können CloudWatch so konfigurieren, dass Ihre EC2-Instanzen automatisch basierend auf CPU-Auslastungsmetriken skaliert werden, um sicherzustellen, dass Ihre Anwendung plötzliche Datenverkehrsspitzen bewältigen kann.

Infrastruktur als Code (IaC)

Unter Infrastructure as Code versteht man die Verwaltung und Bereitstellung von Cloud-Ressourcen über maschinenlesbare Definitionsdateien. Mit Tools wie AWS CloudFormation und Terraform können Sie Ihre Infrastruktur als Code definieren, was die Automatisierung von Bereitstellungen erleichtert und die Konsistenz über Umgebungen hinweg gewährleistet.

  • Keine Snowflake-Server mehr: Einer der Hauptvorteile von Infrastructure as Code ist die Möglichkeit, Ihre Infrastrukturdefinitionen genau wie Ihren Anwendungscode einer Versionskontrolle zu unterziehen. Dadurch entfällt die Notwendigkeit manueller Konfigurationen und das Risiko von Inkonsistenzen und Konfigurationsabweichungen, die oft als „Snowflake-Server“ bezeichnet werden, wird verringert.

Durch die Nutzung von AWS CloudWatch zur Überwachung und Einführung von Infrastructure-as-Code-Praktiken können Sie eine widerstandsfähigere und automatisiertere Cloud-Umgebung schaffen. Dadurch können Sie sich auf die Entwicklung und Verbesserung Ihrer Anwendungen konzentrieren, anstatt ständig Infrastrukturprobleme zu bekämpfen.

Abschluss

Der Aufbau belastbarer Cloud-Architekturen auf AWS erfordert eine Kombination aus den richtigen Services, Designprinzipien und Betriebspraktiken. In diesem Artikel haben wir verschiedene Strategien und Tools untersucht, die Ihnen bei der Erstellung hochverfügbarer und fehlertoleranter Anwendungen helfen können:

  • Nutzung zentraler AWS-Services wie EC2, S3 und RDS für Skalierbarkeit und Redundanz
  • Nutzung erweiterter Funktionen wie Elastic Load Balancing und Route 53 für Verkehrsmanagement und Failover
  • Nutzen Sie serverlose Architekturen mit AWS Lambda, um die Auswirkungen von Serverausfällen zu minimieren
  • Entwerfen für Fehler durch Chaos Engineering und AWS Fault Injection Simulator
  • Stellen Sie Anwendungen über mehrere Regionen hinweg bereit oder verwenden Sie Hybridarchitekturen für zusätzliche Ausfallsicherheit
  • Implementierung effektiver Überwachung und Automatisierung mit AWS CloudWatch und Infrastructure as Code

Vergessen Sie jedoch nicht, dass der Aufbau belastbarer Architekturen ein fortlaufender Prozess ist. Während sich Ihre Anwendung weiterentwickelt und neue Herausforderungen entstehen, sollten Sie Ihre Resilienzstrategien im Laufe der Zeit weiterhin überprüfen und verbessern.

Ein wiederkehrendes Thema beim Aufbau belastbarer Architekturen ist die Notwendigkeit ständiger Wachsamkeit und Verbesserung – schließlich ist es ein Marathon und kein Sprint! Indem Sie proaktiv bleiben, aus Fehlern lernen und die leistungsstarken Tools und Services von AWS optimal nutzen, können Sie Cloud-Architekturen erstellen, die bestehen bleiben und allen Herausforderungen standhalten, die Sie ihnen stellen.

Machen Sie also weiter, genießen Sie ein wenig verwaltetes Chaos, experimentieren Sie mit verschiedenen Ansätzen und lernen Sie aus Ihren Erfahrungen. Mit der richtigen Einstellung und der Leistungsfähigkeit von AWS können Sie Anwendungen erstellen, die jeder Herausforderung standhalten.

Bauen Sie mit uns eine belastbare Cloud-Architektur auf

Möchten Sie Ihre Cloud-Infrastruktur stärken? Die AWS-Expertise von PCG kann Ihnen dabei helfen, beispiellose Belastbarkeit, Skalierbarkeit und Sicherheit zu erreichen. Ganz gleich, ob Sie Ihr bestehendes Setup optimieren oder eine robuste Hybridlösung entwerfen, wir helfen Ihnen gerne weiter. Kontaktieren Sie uns noch heute, um loszulegen.

Mehr erfahren

Genutzte Services

Weiterlesen

Artikel
AWS Lambda: Vermeiden Sie diese Fallstricke

Ein großartiges Angebot, um schnell Ergebnisse zu erzielen, aber wie jedes gute Tool muss es richtig eingesetzt werden.

Mehr erfahren
Fallstudie
Finanzdienste
Cloud Migration
Die Cloud Journey der VHV Gruppe - Mit Strategie zum Erfolg

Wie meistert ein Versicherungskonzern mit über 4.000 Mitarbeitern den Spagat zwischen Compliance, Modernisierung und Kosteneffizienz?

Mehr erfahren
Fallstudie
Finanzdienste
DevOps
KYC – Archivsystem für die digitale Bank

Aufbau eines KYC-Cloud-Archivs für eine digitale Bank zur Speicherung von KYC-Kundendaten.

Mehr erfahren
Fallstudie
Software
DevOps
Mehr Tempo für die Buchhaltung

Was als Start-up im elterlichen Keller begann, hat sich innerhalb von wenigen Jahren zum führenden Anbieter cloudbasierter Buchhaltungs- und Finanzsoftware entwickelt: sevDesk.

Mehr erfahren
Alles sehen

Gemeinsam durchstarten

United Kingdom
Arrow Down