WavebreakMediaMicro - Fotolia
Rule Engines: Chancen und Risiken bei der Automatisierung
Rule Engines werden oft bei der IT-Automatisierung verwendet. Ihre einfache Struktur macht sie zur naheliegenden Lösung, aber auch verwundbar. Sorgfalt und Weitsicht sind geboten.
Rule Engines sind im IT-Betrieb nicht neu – aber sie haben sich weiterentwickelt, um große Infrastruktur-als-Code-Bereitstellungen zu automatisieren und ohne menschliche Beteiligung Cloud-Ressourcen bereitzustellen.
Trotz ihrer Vorteile kann die Rules-Engine auch zum Risiko für die IT-Automatisierungsstrategie eines Unternehmens werden, wenn ihre Verwaltung nicht gut geplant wird.
Was ist eine Rules Engine?
Rules Engine ist eine allgemeine Bezeichnung für ein System, das bestimmte Aktionen gemäß einer oder mehrerer „wenn, dann…“-Regeln durchführt. Rules Engines können für Geschäftsrichtlinien und im Geschäftsprozessmanagement (Business Process Management, BPM) angewendet werden, aber auch in der IT gibt es Anwendungsszenarien.
Üblicherweise erstellt das Entwicklerteam Handbücher, um dem IT-Personal Anweisungen zur Behandlung einer Reihe von Problemen oder Ereignissen zur Verfügung zu stellen. Mit einer zunehmend auf Software basierenden Infrastruktur entwickelten sich diese Handbücher (Playbooks) aber zu automatisierten Rule Engines, die mit mehreren Systemen interagieren können.
Dies ermöglicht es den IT-Admins, schneller auf Ereignisse zu reagieren oder einen kontrollierten Domino-Effekt auszulösen, der Änderungen ohne weitere menschliche Beteiligung umsetzt. Ein Hauptvorteil von Rule Engines liegt in der Möglichkeit, Auslöser, beziehungsweise Regeln aufzustellen, um Änderungen schneller und präziser zu veranlassen, als ein menschlicher Administrator dies tun könnte.
Ein Administrator kann eine Rule Engine mit beliebigen Metriken einstellen und, wenn diese Metriken erfüllt sind, das System eine Aktion ausführen lassen. Automatisierte Cloud-Skalierung ist das perfekte Beispiel dafür, wie eine Rule Engine funktioniert: Wenn die Arbeitsbelastung steigt, muss die Anwendung oder der Dienst skaliert werden.
Die Rule Engine hat dafür festgelegte Leistungswerte als Auslöser. Wenn diese Werte erreicht sind, werden zusätzliche Ressourcen zur Deckung des Bedarfs bereitgestellt. Eine Rule Engine kann auch bei der Unterschreitung bestimmter Schwellenwerte die Bereitstellung zurückschrauben, was zur Kostenkontrolle beiträgt.
Rule Engines sind notwendig, um mit dem schnellen Tempo moderner IT- und Geschäftsaktivitäten Schritt zu halten. Administratoren müssen jedoch sorgfältig Metriken definieren und Aktionen verwalten, um Rule Engines effektiv einzusetzen.
Die Gefahren der IT-Automatisierung mit Rule Engines
Metrische Werte variieren aus einer Reihe von Gründen und nicht immer können diese von IT-Überwachungs-Tools sicher erkannt werden. Eine Rule Engine reagiert stets auf die vorgegebenen Werte, ohne jegliche Flexibilität oder Rücksicht auf den Kontext.
Obwohl Rule Engines recht effizient sind, stellt dieser fehlende Kontext ein erhebliches Risiko dar. Je nachdem kann es sogar vorkommen, dass die Rule Engine auf die Veränderung von metrischen Werten durch einen unerwarteten Fehler äußerst kontraproduktiv reagiert und zum Beispiel bei einem Ressourcen-Leck nur immer weitere Ressourcen zur Verfügung stellt. Rule Engines diagnostizieren keine Probleme oder besitzen keine Selbstheilungskräfte.
In einer perfekten Welt könnte ein IT-Team die allermeisten Regeln einfach und schnell implementieren und die Rule Engine läuft anschließend unbehelligt vor sich hin. Aber das ist nicht die Realität. Was würde zum Beispiel bei einem Distributed-Denial-of-Service-Angriff (DDoS) passieren? Ohne Einschränkungen oder zusätzliche Bedingungen würde die Rule Engine als Reaktion auf den DDos-Angriff unbegrenzte Ressourcen in der Cloud aufbrauchen und das möglicherweise die ganze Nacht über, wenn kein menschlicher Mitarbeiter da ist, um sie aufzuhalten. So etwas führt schnell zu einer dicken Rechnung vom Cloud-Anbieter.
Aus diesem Grund müssen zusätzliche Bedingungen oder Regeln aufgestellt werden, um zu verhindern, dass Rules Engine bei einem ungeplanten oder unvorhergesehenen Ereignis auf Grund der bestehenden Regeln außer Kontrolle gerät. Diese zusätzlichen Regeln können einschränken, wie viele Gesamtressourcen in einem bestimmten Zeitrahmen zugewiesen werden können oder woher diese Ressourcen kommen sollen. Sie werden auf die ursprünglichen Regeln angewendet, mit denen die Ressource gebildet wurde.
Dadurch entsteht ein Netz interagierender Regeln, die sich gegenseitig einschränken oder aktivieren können. Ohne sorgfältige Verwaltung entsteht hierbei leicht ein Wirrwarr von Regelsätzen, die sich kaum noch entwirren lassen, vergleichbar mit dem berüchtigten Kabelsalat, der sich in jedem Rechenzentrum irgendwo in einem Schrank versteckt.
Oftmals schaffen IT-Administratoren diese zusätzlichen Bedingungen oder Regeln erst, nachdem es schon einmal zur Katastrophe gekommen ist. Die Rule Engine hat bereits etwas getan, was sie nicht tun sollte, und jetzt werden zusätzliche Regeln und Richtlinien überstürzt eingeführt, um eine Wiederholung zu verhindern. Danach ist zwar vordergründig die Sache erledigt, aber es gibt es keine Garantie dafür, dass dieses neue, miteinander verflochtene Regelwerk nicht irgendwo auf der Strecke eine brandneue Katastrophe auslösen wird.
Die Rule Engine nicht in Bausch und Bogen verdammen
Die Dokumentation ist der Schlüssel dazu, Probleme mit der Rule Engine zu umgehen. Es ist unerlässlich, dass Rule Engines – seien es Playbooks oder Automatisierungssoftware – dokumentiert und aktualisiert werden, sonst werden sie schnell zu einer Bürde. Wenn Admins nicht nachvollziehen können, warum eine Regel zur Anwendung kommt, oder nur die unmittelbar nächste Aktion auf der Basis der Vorhergegangenen abschätzen können, verlieren sie die Fähigkeit, Anpassungen aufgrund veränderter Geschäftsanforderungen vorzunehmen.
Die Prioritäten der IT und des allgemeinen Betriebs können sich ändern. Es reicht nicht aus, einen Prozess einmal zu verstehen; Admins müssen in der Lage sein, mit der Rule Engine laufend zu arbeiten und sie bei Bedarf anzupassen. Im Laufe der Zeit müssen IT-Teams möglicherweise sowohl die Aktion als auch die Bedingungen, die mit einer bestimmten Regel zusammenhängen, anpassen.
Sie müssen die Auswirkungen dieser Änderungen verstehen, von den Kosten und der Ressourcenzuweisung bis hin zur Kundenerfahrung. Eine Rule Engine ist nur so gut wie die Aktionen, die sie ausführt. IT-Organisationen geben zwar einen Teil der Kontrolle an die Engine ab, müssen sie jedoch genau überwachen.