Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Ob clevere Zusatzprodukte für SAP BI, Entwicklung aussagekräftiger Dashboards oder Implementierung KI-basierter Anwendungen - wir gestalten zusammen mit Ihnen die Zukunft von Business Intelligence. 

Megamenü_2023_Über-uns_1

Über uns

Als Partner mit tiefem Prozess-Know-how, Wissen der neuesten SAP-Technologien sowie hoher sozialer Kompetenz und langjähriger Projekterfahrung gestalten wir die Zukunft von Business Intelligence auch in Ihrem Unternehmen.

Megamenü_2023_Methodik

Unsere Methodik

Die Mischung aus klassischem Wasserfallmodell und agiler Methodik garantiert unseren Projekten eine hohe Effizienz und Zufriedenheit auf beiden Seiten. Erfahren Sie mehr über unsere Vorgehensweise.

Produkte
Megamenü_2023_NextTables

NextTables

Daten in SAP BW out of the Box bearbeiten: Mit NextTables wird das Editieren von Tabellen einfacher, schneller und intuitiver, egal ob Sie SAP BW on HANA, SAP S/4HANA oder SAP BW 4/HANA nutzen.

Megamenü_2023_Connector

NextLytics Connectoren

Die zunehmende Automatisierung von Prozessen erfordert die Konnektivität von IT-Systemen. Die NextLytics Connectoren ermöglichen eine Verbindung Ihres SAP Ökosystems mit diversen open-source Technologien.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Bereit für die Zukunft? Als starker Partner stehen wir Ihnen bei der Konzeption, Umsetzung und Optimierung Ihrer KI-Anwendung zur Seite.

Megamenü_2023_Planning

SAP Planning

Wir gestalten neue Planungsanwendungen mithilfe von SAP BPC Embedded, IP oder  SAC Planning, die einen Mehrwert für Ihr Unternehmen schaffen.

Megamenü_2023_Dashboarding

Dashboarding

Mit unserer Expertise verhelfen wir Ihnen auf Basis von Tableau, Power BI, SAP Analytics Cloud oder SAP Lumira zu aussagekräftigen Dashboards. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Planen Sie eine Migration auf SAP HANA? Wir zeigen Ihnen, welche Herausforderungen zu beachten sind und welche Vorteile eine Migration bringt.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparente und valide Zahlen sind vor allem in Unternehmen mit dezentraler Struktur wichtig. SAP Procurement Analytics ermöglicht die Auswertung von SAP ERP-Daten in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

Mit unserem Standardmodell für Reporting von SAP HCM mit SAP BW beschleunigen Sie administrative Tätigkeiten und stellen Daten aus verschiedenen Systemen zentral und valide zur Verfügung.

Megamenü_2023_Dataquality

Data Quality Management

In Zeiten von Big Data und IoT kommt der Vorhaltung einer hohen Datenqualität eine enorm wichtige Bedeutung zu. Mit unserer Lösung für Datenqualitätsmanagement (DQM) behalten Sie stets den Überblick.

Karriere
Megamenü_2023_Karriere-2b

Arbeiten bei NextLytics

Wenn Du mit Freude zur Arbeit gehen möchtest und dabei Deine berufliche und persönliche Weiterentwicklung nicht zu kurz kommen soll, dann bist Du bei uns genau richtig! 

Megamenü_2023_Karriere-1

Berufserfahrene

Zeit für etwas Neues? Gehe Deinen nächsten beruflichen Schritt und gestalte Innovation und Wachstum in einem spannenden Umfeld zusammen mit uns!

Megamenü_2023_Karriere-5

Berufseinsteigende

Schluss mit grauer Theorie - Zeit, die farbenfrohe Praxis kennenzulernen! Gestalte bei uns Deinen Einstieg ins Berufsleben mit lehrreichen Projekten und Freude an der Arbeit.

Megamenü_2023_Karriere-4-1

Studierende

Du möchtest nicht bloß die Theorie studieren, sondern Dich gleichzeitig auch praktisch von ihr überzeugen? Teste mit uns Theorie und Praxis und erlebe wo sich Unterschiede zeigen.

Megamenü_2023_Karriere-3

Offene Stellen

Hier findest Du alle offenen Stellenangebote. Schau Dich um und bewirb Dich - wir freuen uns! Falls keine passende Stelle dabei ist, sende uns gerne Deine Initiativbewerbung zu.

Blog
NextLytics Newsletter Teaser
Hier für unseren monatlichen Newsletter anmelden!
Newsletter abonnieren
 

Apache Airflow - Next Level Cron Alternative für ETL Workflows

Die Geschäftswelt spricht, lebt und reagiert in Form von Daten. Die neue Lebensessenz, die das Morgen mit dem Heute verbindet muss dabei gekonnt in Bewegung gehalten werden. Dabei hilft ein state-of-the-art Workflowmanagement. Digitale Prozesse werden ausgeführt, verschiedenste Systeme orchestriert und dabei die Datenverarbeitung automatisiert. Wir präsentieren Ihnen in diesem Artikel, wie das alles mit der open-source Workflowmanagement-Plattform Apache Airflow komfortabel möglich ist. Hier finden Sie wichtige Funktionalitäten, Komponenten und die wichtigsten Begriffe für einen problemlosen Einstieg erklärt.

Warum ein digitales Workflowmanagement einführen?

Das manuelle Ausführen von Workflows und das reine Starten mit Cron Jobs ist nicht länger zeitgemäß. Viele Unternehmen suchen deshalb nach einer Cron Alternative. Sobald digitale Aufgaben - oder ganze Prozesse - wiederkehrend und verlässlich ausgeführt werden sollen, muss eine automatisierte Lösung her. Neben der reinen Ausführung von Arbeitsschritten sind weitere Aspekte von Bedeutung:

  • Problembehandlung
    Die wahre Größe einer Workflowmanagement-Plattform zeigt sich wenn unvorhergesehene Fehler auftreten. Neben einer Benachrichtigung und der genauen Fehlerlokalisierung im Prozess, gehört eine automatische Dokumentation dazu. Im Idealfall wird ein Retry nach einem beliebigen Zeitfenster automatisch in Gang gesetzt, damit kurzfristige Erreichbarkeitsprobleme von Systemen von selbst gelöst werden. Dem Anwender sollten für eine schnelle Fehlerbehebung die aufgabenspezifischen System-Logs zur Verfügung stehen.

  • Flexibilität in der Gestaltung des Workflows
    Die modernen Herausforderungen des Workflowmanagements gehen über hartcodierte Workflows hinaus. Damit sich Workflows dynamisch an z. B. das momentane Ausführungsintervall anpassen, sollte der Ausführungskontext über Variablen zum Ausführungszeitpunkt aufrufbar sein. Konzepte wie Bedingungen erfreuen sich ebenfalls einen steigendem Anwendernutzen in der Gestaltung von flexiblen Workflows.

  • Monitoring der Ausführungszeiten
    Ein Workflowmanagement-System ist ein zentraler Punkt, welches neben den Status auch die Laufzeit der Workflows verfolgt. Die Ausführungszeiten sind mittels Service-Level-Agreements (SLA) maschinell überwachbar. Unerwartet lange Ausführungszeiten durch eine unüblich große Datenmenge werden so erkannt und können optional eine Benachrichtigung in Gang setzen.

Aufgrund der Herausforderungen wurde Airflow 2014 als interne Workflowmanagement-Plattform von AirBnB entwickelt, um die komplexen zahlreichen Workflows erfolgreich zu managen. Dabei war Apache Airflow von Beginn an open-source und steht inzwischen unter der Apache License, den Nutzern kostenlos zur Verfügung.

Mobile_Airflow

Funktionsumfang von Apache Airflow

Seit Airflow 2019 ein Top-Level-Projekt der Apache Software Foundation geworden ist, bekam die beitragende Community einen gigantischen Wachstumsschwung. Im Laufe der Zeit ist der Funktionsumfang deshalb stark gewachsen und erfüllt mit regelmäßigen Releases die aktuellen Herzenswünsche der Anwender.

Reichhaltige Web-Oberfläche

Im Vergleich zu anderen Workflowmanagement-Plattformen kann vor allem die reichhaltige Weboberfläche überzeugen. Der Status der Ausführungsprozesse, die resultierenden Laufzeiten und natürlich auch die Logfiles sind über das elegant gestaltete Web-Interface direkt zugänglich. Wichtige Funktionen für die Verwaltung von Workflows, wie das Starten, Pausieren und Löschen eines Workflows sind direkt aus dem Startmenü ohne Umwege realisierbar. Das sorgt für eine intuitive Bedienbarkeit, auch ohne Programmierkenntnisse. Der Zugriff geschieht am besten über einen Desktop, ist jedoch auch über mobile Endgeräte - allerdings mit Komforteinschränkungen - möglich.

Command-Line-Interface und API

Apache Airflow gibt es nicht nur zum Klicken. Für technische Anwender gibt es ein Command-Line-Interface (CLI) welches ebenfalls die Hauptfunktionen abdeckt. Durch die generalüberholte REST-API greifen sogar andere Systeme mit einer sicheren Authentifizierung über die Schnittstelle auf Airflow zu. Somit werden eine Reihe an neuen Anwendungsfällen und Systemintegrationen ermöglicht.

Realisierung komplexer Workflows mit internen und externen Abhängigkeiten

In Apache Airflow werden die Workflows durch Python Code definiert. Die Reihenfolge der Aufgaben lässt sich leicht anpassen. Dabei sind Vorgänger, Nachfolger und parallele Aufgaben definierbar. Neben diesen internen Abhängigkeiten sind auch externe Abhängigkeiten realisierbar. Beispielsweise kann mit der Fortsetzung des Workflows gewartet werden, bis eine Datei auf einem Cloud-Speicher auftaucht oder ein SQL-Statement ein valides Ergebnis liefert. Fortgeschrittene Funktionen, wie das Wiederverwenden von Workflowteilen (TaskGroups) und die bedingte Verzweigung (Branching) erfreuen auch anspruchsvolle Nutzer.

Skalierbarkeit und Containerisierung

Im Zuge der Einführung kann Apache Airflow zuerst auf einem einzigen Server laufen und dann mit wachsenden Aufgaben horizontal skaliert werden. Der Einsatz auf verteilten Systemen ist ausgereift und es werden verschiedene Architekturvarianten (Kubernetes, Celery, Dask) unterschtützt.

Anpassbarkeit mit Plug-Ins und Makros

Viele Integrationen zu Apache Hive, Hadoop Distributed File System (HDFS), Amazon S3 etc. stehen in der Standardinstallation bereit. Andere lassen sich durch benutzerdefinierte Aufgabenklassen hinzufügen. Durch den open-source Charakter ist selbst der Kern der Anwendung anpassbar und die Community stellt für die meisten Anforderungen gut dokumentierte Plug-Ins bereit.


Optimieren Sie Ihr Workflowmanagement
mit Apache Airflow

NextLyitcs Whitepaper Apache Airflow DE


Komponenten in Apache Airflow

Die vielen Funktionen von Airflow werden durch das perfekte Zusammenspiel seiner Komponenten bestimmt. Die Architektur kann dabei je nach Anwendungsfall unterschiedlich ausfallen. So ist es möglich, flexibel von einer einzelnen Maschine auf ein ganzes Cluster zu skalieren. In der Grafik ist eine Multi-Node-Architektur mit mehreren Maschinen zu sehen.

Multi-node-architektur airflow

Das Bild zeigt eine Multi-Node Architektur von Airflow. Im Vergleich zu einer Single Node Architektur sind die Worker in eigenen Nodes platziert

  • Ein Scheduler sorgt gemeinsam mit dem angelagerten Executor für die Verfolgung und Triggerung der hinterlegten Workflows. Während der Scheduler verfolgt, welcher Task als Nächstes ausführbar ist, übernimmt der Executor die Auswahl des Workers und die folgende Kommunikation.
    Seit Apache Airflow 2.0 ist es möglich, mehrere Scheduler zu verwenden. Bei besonders vielen Aufgaben wird so die Latenzzeit verringert.
  • Sobald ein Workflow gestartet wurde, übernimmt ein Worker die Ausführung der hinterlegten Befehle. Für spezielle Anforderungen bezüglich RAM und GPU etc. können Worker mit spezifizierter Umgebung ausgewählt werden.
  • Der Webserver ermöglicht eine einfach User-Interaktion in einer grafischen Oberfläche. Diese Komponente läuft separat. Nach Bedarf kann auf das Starten des Webservers verzichtet werden, jedoch sind die Monitoringfunktionen im Betriebsalltag sehr gerne genutzt.
  • In der Metadaten-Datenbank werden unter anderem die Statistiken über die Workflow-Läufe und Verbindungsdaten zu externen Datenbanken sicher gespeichert.

Mit diesem Aufbau gelingt es Airflow, Ihre Datenprozesse zuverlässig auszuführen. In Kombination mit der Programmiersprache Python lässt sich nun auf einfachem Weg bestimmen, was im Workflow wie ablaufen soll. Vor dem Anlegen der ersten Workflows sollten Sie bestimmte Begriffe gehört haben.

Apache Airflow Terminologie

Wichtige Begriffe in Apache Airflow

In Verbindung mit Apache Airflow wird oft der Begriff DAG (Directed Acyclic Graph) verwendet. Dies ist die interne Speicherform eines Workflows als gerichtetes, nicht-zyklisches Diagramm. Der Begriff DAG wird synonym zu Workflow verwendet und ist der wohl zentralste Begriff in Airflow. Ein DAG-Run bezeichnet entsprechend einen Workflowlauf und im DAG-Bag sind die Workflowdateien abgelegt. In der folgenden Grafik ist ein solcher DAG dargestellt. Dieser beschreibt schematisch einen einfachen Extract-Transform-Load (ETL) Workflow.

ETL Workflow

Mit Python werden die zusammengehörigen Aufgaben (Tasks) zu einem DAG zusammengefasst. Dieser dient programmiertechnisch als Container, um die Aufgaben, deren Reihenfolge und Informationen zur Ausführung (Intervall, Startzeitpunkt, Wiederholungen bei Fehlern etc.) zusammenzuhalten. Mit der Definition der Beziehungen (Vorgänger, Nachgänger, Parallel) sind selbst komplexe Workflows abbildbar. Dabei kann es mehrere Start- und Endpunkte geben. Lediglich Zyklen sind nicht erlaubt. Mit dem Branching können selbst bedingte Verzweigungen innerhalb eines DAGs erfolgen.

Im code-technischen Organisationsgerüst DAG können die Tasks entweder als Operator oder als Sensor formuliert sein. Während Operator die eigentlichen Befehle ausführen, unterbricht ein Sensor die Ausführung bis zu einem bestimmten Ereignis. Beide Grundtypen werden in zahlreichen Entwicklungen der Community für bestimmte Anwendungen spezialisiert. Die Plug-and-Play Operatoren sind essentiell für die einfache Integration von Amazon Web Service, Google Cloud Plattform und Microsoft Azure und viele mehr. Die Spezialisierung geht vom einfachen BashOperator für die Ausführung von Bash Kommandos bis hin zum GoogleCloudStorageToBigQueryOperator. Die lange Liste der verfügbaren Operatoren ist im Github-Repository einzusehen.

In der Weboberfläche sind die DAGs grafisch dargestellt. In der Graphview (obere Grafik) sind die Tasks und deren Beziehungen gut sichtbar. Die Status-Farben der Ränder symbolisieren den Zustand der Task im ausgewählten Workflow-Lauf. In der Treeview (folgende Grafik) werden auch vergangene Läufe angezeigt. Das eingängige Farbschema zeigt auch hier mögliche Fehler direkt beim zugehörigen Task an. Mit nur zwei Klicks können die Log Files bequem ausgelesen werden. Das Monitoring und die Fehlersuche gehörten definitiv zu Airflows Stärken.

DAG Example Complex


Ob Machine Learning Workflow oder ETL Prozess, ein Blick auf Airflow lohnt sich in jedem Fall. Nehmen Sie gerne Kontakt mit uns auf, falls Sie Unterstützung bei der passgenauen Konfiguration benötigen oder Ihre bestehende Installation aufrüsten wollen. Gerne geben wir unser Wissen auch in praxisnahen Workshops weiter.

Erfahren Sie mehr über Apache Airflow

avatar

Luise Wiesalla

Luise Wiesalla ist seit 2019 als Werkstudentin / studentische Beraterin im Bereich Data Analytics und Machine Learning bei der NextLytics AG tätig. Sie hat Erfahrung mit Full-Stack-Data-Science-Projekten und dem Einsatz der open-source Workflow-Management-Lösung Apache Airflow. Ihre Freizeit verbringt sie gerne damit, ihre Umgebung zu erkunden und in Bewegung zu sein.

Sie haben eine Frage zum Blog?
Fragen Sie Luise Wiesalla

Gender Hinweis Aufgrund der besseren Lesbarkeit wird im Text das generische Maskulinum verwendet. Gemeint sind jedoch immer alle Menschen.

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Informieren Sie mich über Neuigkeiten

Verwandte Beiträge

Letzte Beiträge