Was ist Control-M?
Control-M ist ein Orchestrierungsprogramm des Unternehmens BMC Software. Mittels Orchestrierung lassen sich in der IT einzelne Dienste durch sogenannte Jobs zu einem Gesamtservice zusammenfassen und eine strukturierte Ablaufplanung von Daten-Workflows generieren. Ein generelles Ziel ist es, einen Gesamtservice zu automatisieren und ihn zu überwachen.
Wofür verwendet man Resources?
Resources verwendet man, um die parallele Ausführung von Jobs zu steuern und/oder um eine Lastenverteilung im Gesamtservice zu erzielen. Besonders zwischen Jobs, die nicht direkt mit einander verbunden sind, können durch die Verwendung von Resources Abhängigkeiten definiert werden.
Welche Resources gibt es?
Control Resources
Zum einen gibt es die Control Resources, bei denen man einen Resources Namen und einen Type definieren muss. Als Resources Name kann ein individueller Name vergeben werden. Alle Jobs mit dem gleichen Resources Name erhalten eine Abhängigkeit. Durch die Auswahl des Types wird die Art der Abhängigkeit der Jobs festgelegt. Zur Verfügung stehen „Shared“ und „Exclusive“. „Shared“ bedeutet, dass zu einem Zeitpunkt mehrere Jobs mit diesem Resources Name gleichzeitig laufen können. Bei einer Exclusive Konfiguration kann immer nur ein einzelner Job mit diesem Resources Namen ausgeführt werden.
Quantitative Resources
Zum anderen gibt es noch die Quantitativen Resources, bei denen man auch zuerst einen Resources Namen hinterlegt. Zusätzlich wird noch eine Menge (Resource Quantity) eingestellt, die dieser Job kosten soll. Laufen mehrere Jobs mit dem gleichen Resources Name, wird die jeweilig definierte Menge addiert bzw. wenn ein Job fertig ist wieder subtrahiert. Wird die zuvor in den Grundeinstellungen definierte Gesamtsumme (Total Amount) erreicht, warten die folgenden Jobs des gleichen Namens bis wieder Punkte frei werden, sodass die Gesamtsumme nie überschritten und ein Load Balancing bezüglich der vergebenen Quantities erreicht wird.
Beispiele aus der Praxis
Control Resources
Ein einfaches Praxisbeispiel ist das Schreiben und Lesen in bzw. aus einer Datenbank. Um die Daten lückenlos zu erhalten müssen diese zuerst komplett geladen werden. Dieser Prozess sollte nicht gleichzeitig stattfinden, da es sonst zu Datenverlusten kommen kann. Der Job, der in die Datenbank schreibt, wird daher als Exclusive konfiguriert und darf nur alleine ausgeführt werden. Die Jobs, die auf die geschriebenen Daten zugreifen wollen, werden als Shared eingestellt. Diese Einstellung ermöglicht mehreren Jobs den gleichzeitigen Zugriff auf die geschriebenen Daten. Shared- und Exclusive-Jobs können nie parallel laufen.
Quantitative Resources
Wie schon zuvor erwähnt kann man mit der Quantitative Resources ein Load Balancing sehr gut gestalten. Um eine Überlastung der Systeme zu verhindern, können hiermit die parallel laufenden Jobs reduzieren werden. Sobald eine definierte Kapazitätsgrenze erreicht ist, werden die folgenden Jobs in eine Warteschlange gesetzt.