Im Team inc(AI) probieren wir immer wieder verschiedene Werkzeuge und Methoden aus. Die Slack-Zeit hat sich dafür als gutes Mittel erwiesen, in der wir alleine oder auch zusammen lernen.
Motivation für solche Slack-Zeit stammt natürlich aus den Challenges, die wir während der Arbeit lösen müssen. Unsere Strategie ist: immer erstmal in die Open-Source Community zu schauen, um dort geeignete Lösungen für uns zu finden. Hintergrund: es ist sehr wahrscheinlich, dass andere Leute ein ähnliches Problem bereits gelöst haben. Die Lösungen sollen außerdem unsere folgenden Kriterien erfüllen: einfach, erweiterbar und produktionsfreundlich.
So haben wir vor einiger Zeit auch ein neues Werkzeug namens Dagster in unserer Slack-Zeit untersucht. Bei Dagster handelt es sich um ein Orchestrierungswerkzeug, das verschiedene Aufgaben im Bereich der Daten- und ML-Pipelines steuert und verwaltet. Dabei steuert Dagster, wo und wann die unterschiedlichen Schritte einer Pipeline ausgeführt werden und speichert dazu Metadaten ab.
Abb. 1: Data Lineage eines Use Cases
Der Einsatz von Dagster zahlt auf das Moal (Mid term goal) der “effektiven und effizienten Organisation” von OTTO ein. In unserem Bereich in der BI konzentrieren wir uns dabei auf “Best Practices zum Heben technischer Synergien”.
Dies ist eine Standardaufgabe in unserer täglichen Arbeit. Vergleichbare Werkzeuge gab es auch schon vor Dagster und sie sind in ihren unterschiedlichen Ausprägungen in der BI im Einsatz. Dagster macht aber Einiges anders. So führt es das Konzept der “Software Assets” ein, mit deren Hilfe sich die Pipelines besser strukturieren lassen und die Wiederverwendbarkeit erhöht wird. Zudem ist es möglich, den Datenverlauf (Data Lineage) einfach zu visualisieren. Ein großer Pluspunkt, wenn es um Fehlersuche geht.
Abb. 2: Metadaten eines Assets
Dagster lässt sich problemlos auf einem lokalen Rechner installieren und betreiben. Diese Eigenschaft ist besonders bei der Entwicklung der Pipelines von Vorteil, da es die Testzyklen deutlich verkürzt. Eine Cloud-Instanz von Dagster sorgt dann für den produktiven Betrieb. Die mitgelieferte Weboberfläche von Dagster ist sehr nutzerfreundlich, sodass auch ‘nicht tech-affine' Leute die Produktionsstrecke bedienen können.
Natürlich haben wir auch mit Dagster manchen tiefen Moment gehabt. Einer davon ist die Natur von Open Source Software: sehr schnelle Entwicklung führt zu Inkompatibilität und Instabilität. Dabei diskutieren wir im Detail gemeinsam, um herauszufinden, welche Änderung oder welcher Fix bei unseren Vorhaben notwendig wäre. Danach teilen wir die Erkenntnis mit anderen.
Nachdem wir Dagster erfolgreich auch in unseren internen Projekten verprobt und an einzelne Teams übergeben hatten, konnten wir zusammen mit Team Warp einen bestehenden Use Case von Argo nach Dagster erfolgreich umstellen.
Zurzeit evaluieren mehrere Teams den Einsatz von Dagster für ihre Use Cases und das Interesse wächst weiter. So auch der Personenkreis, der sich rund um Dagster austauscht und sich in der täglichen Arbeit unterstützt. Für inc(AI) bedeutet es einen doppelten Treffer: wir schaffen eine Lösung für uns, und für die anderen Teams auch.
Möchtest du Teil des Teams werden?
We have received your feedback.