Was ist Auto Scaling?
Auto Scaling ist eine mit Cloud Computing verbundene Methode, die die Anzahl der Ressourcen, die Sie in Ihrer Anwendung haben, jederzeit je nach Bedarf automatisch erhöht oder verringert. Vor dem Einsatz von Cloud Computing war es sehr schwierig, eine Serverinstallation automatisch zu skalieren. In einer physischen Hosting-Umgebung sind Ihre Hardwareressourcen begrenzt, sodass es zu Leistungseinbußen in der Anwendung kommt oder unsere Anwendung abstürzt.
Heute ermöglicht Cloud Computing die Erstellung eines skalierbaren Server-Setups. Wenn Ihre Anwendung mehr Verarbeitungsleistung benötigt, bietet die automatische Skalierung Benutzern die Möglichkeit, zusätzliche Ressourcen bei Bedarf zu verwenden und zu beenden. Die automatische Skalierung bietet eine effiziente Möglichkeit, Ressourcen nur bei Bedarf zu verwenden, stellt sicher, dass Ihre Anwendung über die Kapazität verfügt, wenn die Nachfrage steigt/verringert wird, und vor allem, dass Sie möglicherweise mehr bezahlen können, als Ihre Organisation benötigt. Lassen Sie uns tiefer in die automatische Skalierung eintauchen, wie sie funktioniert und welche Vorteile sie Organisationen bietet.
Warum Auto Scaling notwendig ist
Die automatische Skalierung ist sehr funktional, wenn Ihre Anwendung zusätzliche Serverressourcen benötigt, um die Anzahl der Seitenanforderungen oder das Rendering zu bewältigen. Es bietet Ihnen eine skalierbare Möglichkeit, automatisch zu skalieren oder zu verkleinern, um Ihre Anforderungen zu erfüllen. Die automatische Skalierung bietet folgende Vorteile:
- Die automatische Skalierung ermöglicht es einigen Servern, während niedriger Auslastungszeiten in den Ruhemodus zu wechseln, wodurch die Kosten gesenkt werden.
- Erhöhte Betriebszeit und größere Verfügbarkeit bei unterschiedlichen Workloads.
- Auf der Front-End-Site bietet es die Möglichkeit, basierend auf der Anzahl der eingehenden Anforderungen zu skalieren.
- Auf dem Back-End wird eine Skalierung basierend auf der Anzahl der Aufträge und der Dauer von Aufträgen in der Warteschlange in der Warteschlange zur Verfügung gestellt.
Verwenden von LoadView, um sicherzustellen, dass die automatische Skalierung ordnungsgemäß funktioniert
LoadView ist eine webbasierte Auslastungstestlösung, mit der alles von APIs und Webseiten bis hin zu komplexen Benutzerszenarien in internen/externen Webanwendungen getestet werden kann. Loadview teilt mit den Tests, die es ausführt, Berichte, die helfen, Probleme und Störungen zu finden, die unser System verlangsamen oder verzögern. Bei Auslastungstests von Webseiten können Sie beispielsweise eine bestimmte Seite mit Hunderten bis Tausenden von gleichzeitigen Benutzern testen, um zu sehen, wie sich die Seite unter bestimmten Auslastungsstufen verhält.
Beim Testen von Benutzerpfaden verwandelt LoadView zusammen mit dem EveryStep Web Recorderden Bildschirm in ein Skript, um Echtzeitinteraktionen mit Anwendungen zu testen, alle ausgeführten Aktionen zu erfassen und unter Last wiedergegeben zu werden.
LoadView-Setup
Für unser Beispiel testen wir eine interne Anwendung. Beim Testen interner Anwendungen müssen die IP-Adressen auf die Whitelist gesetzt werden, bevor Auslastungstests für interne Anwendungen durchgeführt werden. Durch die Lastinjektoren können wir IPs auf die Whitelist setzen und Tests mit zahlreichen gleichzeitigen Benutzern durchführen.
Die LoadView-Hauptseite wird geöffnet, und Sie sehen verschiedene Optionen, z. B. Webanwendungen, APIs, Webseiten, Streaming-Medien usw. Wir wählen die Option Webseite aus.
Es öffnet sich eine neue Seite, auf der wir die gewünschte Zeit für die Ausführung des Auslastungstests hinzufügen, unseren internen Website-Hostnamen, unseren Browser usw. hinzufügen können. Nachdem Sie Ihre Daten eingegeben haben, klicken Sie auf die Schaltfläche Gerät erstellen.
Nach dem erfolgreichen Erstellen eines Geräts wird der Bildschirm Testszenario angezeigt, auf dem Sie Lasttyp, Ladeinjektorpositionen usw. festlegen und definieren können. Als Nächstes wählen sie die Option Schrittkurve laden aus.
LoadView beginnt zu überprüfen, ob Sie Zugriff auf die interne Anwendung haben. Wählen Sie StatischeProxys aus, und fügen Sie Ihre ipS-Liste ein, und wählen Sie Zonen hinzufügen aus, um die Regionen auszuwählen, in denen der generierte Datenverkehr angezeigt werden soll. Tatsächlich kann die LoadView-Plattform beim Testen von Webanwendungen, Webseiten, APIs und anderen Webdiensten helfen, die sich nur in Ihrem Netzwerk hinter der Firewall befinden.
LoadView-Benutzer haben mehrere Optionen zur Auswahl, z. B. das Whitelisting von IP-Adressen oder die Installation eines lokalen Agents, wenn Organisationen ihr Netzwerk aus Sicherheitsgründen nicht für eingehenden Datenverkehr öffnen können. Weitere Informationen zu Auslastungstests hinter einer Firewallfinden Sie in unserer Knowledge Base.
Wenn Sie abgeschlossen sind, wählen Sie Test startenaus. Wir müssen statische IPs im Teil der Agentenliste auf diesem Bildschirm finden. Laden Sie Ersteller für den Zugriff auf interne Anwendungen, die auf die Whitelist gesetzt werden müssen. Die statischen IPs finden Sie in der Agentenliste auf diesem Bildschirm für den Zugriff auf interne Anwendungen, die auf die Whitelist übernommen werden müssen.
Während der Test ausgeführt wird, rufen die Injektoren jedes Mal neue eindeutige IP-Adressen aus der Whitelist ab. Wir können die Leistung durch Panels und Grafiken der Tests sehen, die wir in unserer Anwendung erstellt haben, indem wir die statischen IPs in die Whitelist aufnehmen. Ein Beispiel wird unten gezeigt.
Überwachen zusätzlicher Ressourcen in AWS bei erhöhter Auslastung
CloudWatch-Metriken
Mit CloudWatch können wir Statistiken über Daten abrufen. Wir verwenden Metriken, um zu überprüfen, ob unser System wie erwartet funktioniert. Sie können CloudWatch-Alarm erstellen, um eine bestimmte Metrik nachzuverfolgen und Alarmbenachrichtigungen in Ihrer E-Mail zu erhalten. Der Lastenausgleich meldet Daten nur an CloudWatch, wenn Anforderungen den Load Balancer durchlaufen und Elastic Load Balancing-Metriken jede Minute misst und an CloudWatch sendet.
Anzeigen von CloudWatch-Metriken für Ihren Load Balancer
Sie können die CloudWatch-Metriken Ihrer Load Balancer über die EC2-Konsole anzeigen. Wenn der Load Balancer aktiviert ist und Anforderungen empfängt, können wir die Datenpunkte anzeigen.
Zugriffsprotokolle
Durch Zugriffsprotokolle können wir den Datenverkehr analysieren und damit unsere Probleme beheben. Wir können auch Anfragen, die wir an unseren Load Balancer in Amazon S3 stellen, als Protokolldateien speichern.
Anforderungsverfolgung
Der Load Balancer fügt für jede empfangene Anforderung einen Überwachungsbezeichner hinzu, sodass Sie HTTP-Anforderungen überwachen können.
CloudTrail-Protokolle
Mit CloudTrail können Protokolle von Transaktionen, die von den Konten aller Benutzer vorgenommen werden, verfolgt werden. Auf diese Weise können Sie Autorisierungs- und Zugriffsanforderungen verwalten.
Sicherstellen, dass keine Verschlechterung der Benutzererfahrung durch automatische Skalierung entschärt wird
Mit CloudWatch Synthetics können Sie die Benutzerleistung überwachen. Es bietet einen besseren Überblick über Leistung und Benutzerfreundlichkeit, sodass Sie Probleme früher erkennen und schneller reagieren können, wodurch die Kundenzufriedenheit erhöht und sichergestellt wird, dass Ihre Anwendung besser auf Anfragen reagieren kann. Kanaren werden verwendet, um uns mit Frühwarnung zu lassen. Für den kanarischen Einsatz klicken wir in der CloudWatch Console auf Kanarische Inseln, wo wir den Status aller Kanarienvögel auf einem einzigen Bildschirm beobachten können.
Sehen wir uns die Leistung der Kanarienvögel für die Daten an. Dazu können Sie bei der Untersuchung einzelner Datenpunkte im kanarischen Laufabschnitt sehen, dass jeder Bezugspunkt die Summe der für einen Kanarienvogel durchgeführten Studien ist.
Im Screenshot unten können Sie sehen, dass es ein TimeoutError-Thema für 24 Stunden gibt. Wir können auch Screenshots sehen, die mit HAR-Dateien und -Protokollen erhalten wurden. In jedem HAR-Datensatz sehen wir die verstrichenen Zeiten für Antworten und Anfragen und HTTP-Anfragen für Canary.
Kanarenaufgaben werden mit Lambda-Funktionen erledigt. Über die Registerkarte Metriken können Sie auf die Ausführungsmetriken der Funktion zugreifen.
Schlüpfen eines Kanarienvogels
Um einen Kanarienvogel zu erstellen, drücken wir den Kanarienvogel, um ihn zu erstellen. Wir können aus den Kontrollkästchen auswählen, das vorhandene Skript laden oder aus Amazon S3 importieren.
Als Ergebnis der von uns erstellten Methoden wird ein einmaliges oder periodisches Ausführen des Skripts erstellt. Wir können die GET- oder PUT-Methoden verwenden, angeforderte HTTP-Header beim Erstellen von Kanarienfürden für API-Endpunkte. Wir können auch unseren Kanarienvogel-Build-Prozess über GUI erstellen. Wir können unsere kanarienden Eigenschaften leicht geben. Canary-Skripte verwenden die syn-1.0-Betriebszeit. Sie können das Beispielskript unten sehen.
Innerhalb der Skripts können erfolgreiche Ergebnisse und Fehler als Ausnahmen angezeigt werden. Wir erstellen die Aufbewahrungsfrist für das Skript. Wir wählen S3 Eimer für die Strukturen, die nach jeder Arbeit unseres Kanarienvogels gebildet werden. Während der Erstellung unseres Kanarienvogels können wir auch einige der Funktionen wie IAM(Identity and Access Management) Rolle, CloudWatch Alarms, VPC (Virtual Private Cloud) Einstellungen und Tags festlegen.
Fazit: Testen der automatischen Skalierung in AWS
Um zu verhindern, dass unsere Benutzer durch Diedegradation beeinträchtigt werden, können wir Canary verwenden, um die möglichen Probleme zu erkennen, bevor Benutzer sie protokollieren und in einem früheren Stadium eingreifen und schneller reagieren. Darüber hinaus können wir dank der Alarme in unseren Kanarienbüchern die Quellen bei Bedarf erhöhen, was auch verhindert, dass die Benutzer negativ beeinflusst werden.
Um die Kundenzufriedenheit zu maximieren und sicherzustellen, dass Ihre Anwendungen besser auf Anforderungen reagieren können, kann CloudWatch Synthetics in Kombination mit der LoadView-Plattform Ihnen helfen, einen besseren Überblick über Leistung und Benutzerfreundlichkeit zu erhalten und sicherzustellen, dass die automatische Skalierung bei Auslastungstests wie vorgesehen funktioniert.
Melden Sie sich für die kostenlose Testversion von LoadView an und beginnen Sie noch heute mit Leistungstests für alle Ihre Webseiten, Anwendungen und APIs.
Oder wenn Sie die LoadView-Lösung zuerst in Aktion sehen möchten, melden Sie sich und alle anderen in Ihrem Team für eine private Demo mit einem unserer Leistungsingenieure an. Sie bieten eine umfassende Demo, die alles von der Erstellung und Bearbeitung von Auslastungstestskripts über die Konfiguration und Ausführung der Auslastungstestszenarien bis hin zur Analyse von Berichten abdeckt. Planen Sie Ihre Demo.