Zeige mehr…

Cloud Computing mit Amazon Web Services

Amazon Web Services ist einer der führenden Cloud Computing Dienstleister, der seit 2006 über Webservice-Schnittstellen IT-Infrastruktur über das Internet zur Verfügung stellt.

Typen von Clouds

Um die Dienstleistungen von Amazon besser einordnen zu können, soll kurz auf die drei Typen von Clouds eingegangen werden:

Infrastruktur

Plattform

Anwendung

Produkte von Amazon Web Services

Simple Storage Service (kurz S3)

CloudFront

Elastic Compute Cloud (EC2)

Elastic Block Store (EBS)

CloudWatch

Elastic Load Balancing

Autoscaling

Skalierung

Interessantes Dokument von Sun über Kosten und Skalierung bei horizontalen und vertikalen Server-Systemen: PDF

Schritt 1a: Horizontale Skalierung ohne Clustering

Bei der horizontalen Skalierung werden Funktionen auf zusätzliche Server verteilt. Im ersten Schritt erst einmal ohne Clustering, also pro Funktion nur ein Server:  

Schritt 1b: Vertikale Skalierung

Von einer vertikalen Skalierung spricht man, wenn Systeme durch leistungsfähigere ausgetauscht werden. Eine Leistungssteigerung erhält man üblicherweise durch den Einsatz von mehr CPU-Kernen (SMP ), mehr Arbeitsspeicher und einer schnelleren IO (Festplatte, Netzwerk). Bei Amazon Web Services lässt sich eine vertikale Skalierung leicht realisieren: Stoppen der bestehenden EC2-Instanz und Erstellen einer neuen, leistungsfähigeren Instanz mit mehr CPU und/oder mehr Arbeitsspeicher.

Schritt 2: Horizontale Skalierung mit Clustering

Im letzten Schritt werden auch die einzelnen Funktionen (Web-Frontend, Backend, Datenbank) auf mehrere Server verteilt/geclustert. Mit Amazon Elastic Loadbalancing wird dabei die Last gleichmäßig auf eine Mehrzahl von Frontend-Server verteilt. Die Auslastung der Front- und Backend-Systeme wird mittels Amazon CloudWatch überwacht (Monitoring). Mit Hilfe definierter Schwellwerte zu bestimmten Messwerten (z.B. CPU-Auslastung) startet bzw. stoppt Amazon Autoscaling neue bzw. bestehende Web-Frontend-Server (EC2-Instanzen).
Ein zusätzlicher, eigener Management-Server kann zusätzlich über die Auslastung der Backend-Systeme und ggf. weiteren Kritierien (z.B. Anzahl der Elemente in einer Bearbeitungs-Queue) weitere Backend-System dazu- oder abschalten.
Für das Clustering der Datenbank kommt eine Master-Slave-Replikation zum Einsatz. Alle Daten auf dem Master werden auf eine Mehrzahl von Slave-Systemen repliziert. Über einen zentralen Datenbank-Proxy werden alle Schreibzugriffe auf die Master-Datenbank und alle Lesezugriff gleichmäßig auf die Slave-Systeme verteilt.
Alle Daten (System- und Anwendungsdaten) werden persistent auf Amazon Elastic Block Storage abgelegt und mittels Snapshots auf Amazon S3 gesichert.

Zeige mehr…
Zeige mehr…