diff --git a/KN06/KN06.md b/KN06/KN06.md index 91ef49b..2f7bcd6 100644 --- a/KN06/KN06.md +++ b/KN06/KN06.md @@ -120,7 +120,9 @@ Der **Load Balancer** aus dem letzten Challenge und die **Auto Scaling Group** k Kombiniert man den **Auto Scaler** mit den **Load Balancer**, erhält der dahinterliegende Service eine um einiges höhere Verfügbarkeit. Beim Ausfall einer Site (z.B. Datacenter Stromausfall) wird der Traffic automatisch auf die andere Site umgeleitet. Die "verlorenen" Instanzen werden automatisch in der verfügbaren Availability Zone hochgefahren. Zusätzlich kann man den **Auto Scaler** auch noch mit Metrics ergänzen. Z.B. Falls die CPU-Auslastung einen Grenzwert überschreitet, sollen dynamisch weitere Instanz hochgefahren werden etc... Das ganze funktioniert natürlich auch umgekehrt. Falls die CPU-Auslastung unter den Grenzwert fällt, wird die zusätzliche Instanz automatisch wieder terminiert. Man spricht in diesem Fall von **Elasticity**. Im Gegensatz zum Begriff **Scalability** (z.B. Einbau einer weiteren SSD) kann die Plattform **on-demand** Ressourcen hinzufügen oder entfernen. -Momentan aber schauen wir diese beiden Dienste noch losgelöst voneinander an. Im folgenden Auftrag geht es deshalb nur um die Vorzüge des **Auto Scalers**. Er stellt sicher, dass meine Ressourcen **immer** dem gewünschten Zustand (Desired state) entsprechen. Im folgenden Challenge setzen wir diesen Dienst so auf, dass **immer mindestens zwei** EC2-Instanzen laufen. Falls eine Instanz wegfällt (z.B. versehntlich terminiert, SW-Issue oder technischer Defekt) wird automatisch eine neue Instanz hochgefahren. +Momentan aber schauen wir diese beiden Dienste noch losgelöst voneinander an. Im folgenden Auftrag geht es deshalb nur um die Vorzüge des **Auto Scalers**. Er stellt sicher, dass meine Ressourcen **immer** dem gewünschten Zustand (Desired state) entsprechen. Im folgenden Challenge setzen wir diesen Dienst so auf, dass **immer mindestens zwei** EC2-Instanzen laufen. Falls eine Instanz wegfällt (z.B. versehntlich terminiert, SW-Issue oder technischer Defekt) wird automatisch eine neue Instanz hochgefahren. + +Gleichzeitig erkennt man hier aber sofort auch die **Grenzen** des **Auto Scalers**. Er ist zwar in der Lage, aufgrund von **status checks** und **CloudWatch-Metrics** den Gesundheitszustand der Instanzen zu checken und entsprechend zu reagieren (z.B. beim Ausfall einer EC2-Instanz eine Ersatz-Instanz hochzufahren), aber er ist alleine **nicht** in der Lage, die Last gleichmässig zu verteilen und dabei auch die neuen Instanzen einzubinden. Und genau hier kommt ihm sein bester Freund, der **Load Balancer**, zur Hilfe. Der **Auto Scaler** sorgt also quasi **im Hintergrund** dafür, dass **immer** ausreichend (nicht zuviel, aber auch nicht zuwenig) Ressourcen vorhanden sind, während der **Load Balancer** vorne praktisch als **Türsteher** dafür sorgt, dass diese Ressourcen **gleichmässig** genutzt werden. Weil diese Ressourcen über zwei oder mehrere **Availability Zones** verteilt werden, spricht man bei einer solchen Konfiguration von einer **High Availability-Architektur**. #### Anleitung: