Türchen #19: Darf es etwas mehr sein?


AWS Auto Scaling

Gerade für AWS Einsteiger ist Auto Scaling ein interessantes Thema, denn im On Premises Bereich ist das Handling auf mögliche Lastspitzen indes mit erhöhten Aufwand zu betreiben und somit wirtschaftlich schwierig zu kalkulieren.

Genau in diesem Punkt spielen Cloud Anbieter wie AWS ihre Stärken aus, den hier sind die Limits häufig soft und können daher einfach angepasst werden. Wir wollen heute zeigen, für welche Dienste ihr Auto Scaling nutzen könnt, anders als meist bekannt skalieren nicht nur EC2 Instanzen, sondern auch andere Services.

AWS Dienste mit Auto Scaling

  • Amozon EC2 Instances
  • Amazon ECS
  • Amazon DynamoDB
  • AWS RDS Aurora

Wie skalieren welche Services?

In diesen Abschnitt möchten wir erläutern, wie die AWS Services skalieren. AWS bietet uns hier zwei unterschiedliche Wege an, der klassische durch Metriken geplante und einen durch Machine Learning beeinflusste.

Für die durch Metriken geführte Skalierung werfen wir einen Blick auf CloudWatch, dieser Dienst überwacht deine AWS Services in Echtzeit, stellt Metriken und benutzerdefinierte Dashboards bereit. Zusätzlich ist CloudWatch in der Lage Alarme auszulösen, die über andere AWS Service wiederum Aktionen triggern (Emails oder Slack Benachrichtigungen). Ein weiterer Trigger ist dabei, dass Aktionen der Auto Scaling Konfigurationen ausgelöst werden, und so Dienste dynamisch skalieren können.

Bei der Predictive Scaling, wird die Skalierung durch Machine Learning gelenkt. Diese Art der intelligenten Steuerung werden Perfomance Daten erhoben und durch das Machine Learning ausgewertet. Das Predictive Scaling berechnet auf Basis von täglichen und wöchentlichen Beobachtungen einen Forecast für die nächsten 48 Stunden, wobei dieser alle 24 Stunden evaluiert wird.

Amazon EC2 Instanzen

Bei Amazon EC2 Auto Scaling unterscheidet man zwischen Scheduled Scaling und Dynamic Scaling. Scheduled Scaling bietet sich dann an, wenn die Lasten vorhersehbar sind, wie z.B. wenn morgens die Mitarbeiter sich anmelden und abends abmelden. Für diesen Zeitraum ist somit eine höhere Auslastung zu erwarten.
Beim Dynamic Scaling gehen wir einen anderen Weg, und nutzen Metriken, mit denen die Kapazität der EC2 Instanzen gesteuert wird, dies kann z.B. die CPU-Auslastung sein, z.B. wenn diese über 50 Prozent steigt, sollen weitere zwei Server bereitgestellt werden, sinkt die CPU Last z.B. auf 10 Prozent herab, werden diese wieder um zwei Instanzen reduziert.

Amazon ECS

Bei Amazon ECS Service Auto Scaling unerscheidet man ebenfalls zwischen Scheduled Scaling und Dynamic Scaling. Weshalb auch hier analog zu den EC2 Instanzen verfahren werden kann, nur dass eben mehr ECS Task gestartet werden.

Amazon DynamoDB

Auch die Amazon DynamoDB nutzt den AWS Auto Scaling Service, hier können bei Tabellen oder globalen sekundären Indizes eine höhere Schreib- und/oder Lesekapazität eingeplant werden.

Amazon Aurora

Amazon Aurora ist ein MySQL oder PostgreSQL kompatibler AWS RDS Service, so kannst Du auch hier auf höhere Lasten mit weiteren Aurora Replikas reagieren.

Weitere Informationen

Zurück zu den Blogbeiträgen

Trainings und Workshops

Vom Kurs für Einsteiger bis hin zu Experten-Workshops mit Tiefgang können wir Euch mit technischen Trainings unterstützen. Darüber hinaus bieten wir auch Workshops mit Fokus auf Cloud-Strategie oder für die Vertriebsmannschaft an.

Mehr...