Mit Fault Injection Testing können Sie Fault Injection-Tests durchführen. Bei dieser Methode werden Fehler in ein System eingeführt, um seine Ausfallsicherheit zu testen, bevor sie einen echten, unerwarteten Fehler verursachen, der sich auf Ihre Kunden auswirkt. Mit Fault Injection Testing können Sie Fehler in verschiedene Komponenten in Ihrer Google Cloud Umgebung einschleusen, um sicherzustellen, dass Ihre Anwendung sie auf vorhersehbare Weise verarbeitet.
Bei der ersten Version von Fault Injection Testing entsprechen Fehler im Allgemeinen einem Ausfall der Zielressource. Diese Fehler sollten Ihre Anwendung dazu veranlassen, den Traffic zu fehlerfreien Instanzen umzuleiten, wenn Sie die Fehlertoleranz in Ihre Anwendung integriert haben.
Sie sollten Ihre Anwendung vor, während und nach dem Einschleusen des Fehlers beobachten, um zu prüfen, ob die Anwendung den Fehler wie erwartet verarbeitet hat.
Warum Fault Injection Testing verwenden?
Mit Fault Injection Testing können Sie Tests zur Ausfallsicherheit Ihrer Anwendungen in Google Cloud einer Vielzahl von Fehlerszenarien durchführen. Ein wichtiger Teil dieses Spektrums sind Tests, um Ausfälle von Zonen und Regionen zu simulieren, die Sie selbst nur schwer oder gar nicht vollständig durchführen können. Google Cloud Darüber hinaus ist Fault Injection Testing ein wertvolles Tool für die Entwicklung und Verbesserung, mit dem Sie Tests zu Ihren entwickelten Ausfallsicherheitsmechanismen durchführen können, bevor Sie sie in einer Produktionsumgebung einführen. Wenn Sie Probleme erkennen, bevor sie in der Produktion auftreten, können Sie Designs schneller verbessern, kostspielige Ausfallzeiten und Reputationsverluste vermeiden und die allgemeine Nutzererfahrung verbessern.
Ohne ein Google Cloud-natives Fault Injection-Produkt müssen Sie Ihre eigenen Tests durchführen. Das ist problematisch, da Google Cloud eine gemeinsam genutzte Umgebung ist und Sie in vielen Fällen möglicherweise keinen direkten Zugriff auf die zugrunde liegenden Dienste und die Infrastruktur haben. Dieses Szenario kann zu unzureichenden und mühsamen Tests führen, die letztendlich möglicherweise nicht effektiv sind, um die Ausfallsicherheit Ihrer Anwendung richtig zu testen. Mit Fault Injection Testing können Sie den Aufwand für die Automatisierung dieser Tests reduzieren, auf Fehlermodi zugreifen, die Ihnen sonst nicht zur Verfügung stehen, und die Genauigkeit Ihrer Tests verbessern.
Für regulierte Kunden ist die Durchführung regelmäßiger Tests oft eine Voraussetzung, um die Anforderungen der zuständigen Aufsichtsbehörden zu erfüllen. In diesen Fällen werden die Tests oft in Form von Tests zur Notfallwiederherstellung durchgeführt, um zu zeigen, dass der Ausfall einer Zone oder Region den Betrieb der Anwendung nicht beeinträchtigt.
Fault Injection Testing verwenden
Bevor Sie Fault Injection Testing verwenden, tun Sie Folgendes:
- Die Umgebungen, in denen Tests durchgeführt werden sollen, müssen redundant sein. Wenn ein Fehler eingeschleust wird, kann die Anwendung dieser Umgebung weiterhin auf der redundanten Infrastruktur ausgeführt werden.
- Für Administratoren oder Inhaber von Google Cloud Ressourcen: Überlegen Sie sich gut, wer Berechtigungen zum Einrichten und Ausführen von Fault Injection Testing-Tests erhält. Das Verursachen von Fehlern bei laufenden Infrastrukturkomponenten in Ihrer Google Cloud Umgebung führt zu Unterbrechungen. Daher müssen Sie Berechtigungen nur an Operatoren erteilen , die wissen, wie ihre Cloud-Umgebung aufgebaut ist und wie sie die Ausfallsicherheit dieser Architektur sicher testen können, damit sie Tests so konfigurieren können, dass keine unbeabsichtigten Unterbrechungen verursacht werden.
Für die Verwendung von Fault Injection Testing müssen Sie einen Test einrichten. Dazu erstellen Sie zuerst eine Testvorlage, in der der einzuschleusende Fehler und die Zielressourcen definiert werden. Anschließend führen Sie den Test über die Vorlage aus. Ein Test ist die Menge der in der Vorlage definierten Aktionen, die für die in der Vorlage ausgewählten Ressourcen ausgeführt werden.