schedulix

Job-Scheduling mit Open-Source-Software

05.09.2018
Von 
Ludger Schmitz ist freiberuflicher IT-Journalist in Kelheim. Er ist spezialisiert auf Open Source und neue Open-Initiativen.
Admins arbeiten mit einer großen Zahl von Skript-Programmen. Eine mächtige und dabei kostenlose Alternative ist das Open-Source-Programm schedulix, das die Arbeit organisierter und übersichtlicher macht.
Die schedulix-Entwickler und IndependIT-Gründer Dieter Stubler und Ronald Jeninga (r.).
Die schedulix-Entwickler und IndependIT-Gründer Dieter Stubler und Ronald Jeninga (r.).
Foto: IndependIT

Ein klassisches Bordmittel der Unix- und Linux-Betriebssysteme ist der Dienst "cron": Damit definierte Prozesse wird das System zu vorgegebenen Zeiten ausführen. Ansonsten sind die Steuerungsmöglichkeiten eher begrenzt. Deshalb ist es längst üblich, mit Script-Sprachen komplexere Abläufe relativ einfach zu gestalten.

Allerdings wächst mit der Zahl der so automatisierten Abläufe auch die Menge von kleinen Script-Programmen, die bald kaum mehr zu überblicken ist. In größeren IT-Umgebungen starten immerhin täglich rund um die Uhr tausende unterschiedliche Prozesse. Darüber hinaus nehmen solche Programme üblicherweise keine Rücksicht darauf, ob die notwendigen Ressourcen - Hard- und Software ebenso wie Daten-Input - tatsächlich zur Verfügung stehen. Genauso wichtig wie das Time Scheduling ist es also, strukturierte Prozesse mit ihren Ressourcen und Abhängigkeiten zum Ablauf zu bringen.

schedulix ist ein Open-Source Tool

Für die heute im Backend dominierende Linux-Welt gibt es ein paar Tools, die sich mehr oder minder für die automatisierte Prozesssteuerung eignen. Eines der ausgefeilteren sei hier vorgestellt, zumal es selbst Open Source ist und mit professionellem Support erhältlich ist. Es heißt schedulix und kommt von der Firma IndependIT aus dem bayerischen Schrobenhausen.

schedulix hat eine interessante Historie. Die Admin-Umgebung ist nicht im Laufe eines Open-Source-Projekts entstanden, sondern von den Entwicklern und IndependIT-Gründern Ronald Jeninga und Dieter Stubler, die Administratoren einer großen, komplexen IT-Umgebung waren, innerhalb von drei Jahren entwickelt worden. Deren Lösung BICsuite erschien bereits 2003 und war proprietär - ausgerichtet auf die Automatisierung von Data-Warehouse-Operationen.

Zehn Jahre später ließ sich das Duo überzeugen, dass ihr Scheduling-System eine große Lücke in der Open-Source-Welt füllen könnte. "Wir möchten das Thema Job Scheduling jetzt auch in der Linux-Welt bekannter machen", erklärt Diplom-Informatiker Dieter Stubler. "Wir hoffen, dass auch mittelständische und kleinere Unternehmen die Vorteile einer professionellen IT-Automatisierung nutzen wollen."

Enterprise Job Scheduling

Die in der Mainframe-Welt selbstverständlichen Steuerungs- und Automatisierungswerkzeuge kommen in der heute üblichen Systemlandschaft nicht mehr zwangsläufig zum Einsatz. In der dezentralen Server-Welt gibt es keine vergleichbar effizienten Verarbeitungsmethoden wie im Großrechnerumfeld. Gleichzeitig macht die Heterogenität der heutigen Umgebungen diese Aufgabe anspruchsvoller.

Die überall verwendeten, selbst entwickelten Skriptprogramme sind schlecht dokumentiert und so zahlreich, dass oft nur noch die alten Hasen durchblicken. Das behindert jüngere Admins und ist für die Zukunft der Unternehmens-IT ein Risikofaktor.

schedulix ermöglicht einen anderen Ansatz: Mit dieser Lösung lassen sich Abläufe modellieren und schließlich automatisieren. Dabei ist übersichtlich zu erkennen, für welche Prozesse welche Jobs bereits bestehen und welche Parameter mit ihnen verbunden sind. Das macht den IT-Betrieb übersichtlicher und hilft, viele Arbeiten zu vermeiden, da sich kleine Job-Module vielfach verwenden lassen.

Process Decomposition

Die Vorteile zeigen sich im laufenden Betrieb: Die meisten IT-Abteilungen starten in der Nacht- und Hintergrundverarbeitung große und komplexe Programme mit langen Laufzeiten. Tritt dabei ein Fehler auf, muss oft das gesamte Programm neu gestartet werden und es entstehen unplanmäßige Wartezeiten, die den Produktivbetrieb einschränken können. Aus diesem Grund haben die Entwickler von schedulix ihre Lösung so ausgelegt, dass sich sämtliche Teilprozesse granular zerlegen und in Abhängigkeiten bringen lassen.

Die klar abgegrenzte Funktionalität jedes Jobs reduziert nicht nur den Aufwand für Entwicklung und Wartung. Sie vereinfacht auch Überwachung, Fehlersuche und Wiederanlauf. Die Potenziale für Parallelverarbeitung und Lastverteilung auf mehrere Systeme lassen sich einfacher ausschöpfen.

Die Voraussetzung für diese als "Process Decomposition" bezeichnete Methode ist, dass der Code der Teilprozesse frei von Aspekten der Ablaufsteuerung bleiben kann. Das gelingt aber nur, wenn das Scheduling-System alle notwendigen Funktionen der Ablaufsteuerung zur Verfügung stellt. Dazu Jeninga: "Nur wenn ein Scheduling-System alle notwendigen Konstrukte zur Abbildung der Programmlogik wie etwa Variablen und Parameter, Sequenzen, Verzweigungen, Schleifen, Parallelisierung und Synchronisation und Ausnahmebehandlungen bereitstellt, kann der Code der Teilprozesse frei von intransparenten Ablaufsteuerungselementen bleiben. Das macht nur schedulix so sauber."