Wenn du ein Data Orchestration Tool verwendest, musst du sowohl schnell erkennen können, wenn etwas nicht wie vorgesehen funktioniert, als auch eine gute Strategie haben, um Probleme zu beheben, wenn sie auftreten. Das Apache Airflow SLA (Service Level Agreement) bietet einen sehr nützlichen Benachrichtigungsmechanismus, der dich über Ineffizienzen informieren kann. Warum ist das eine sinnvolle Lösung und wie nutzt man sie? Lies unseren Artikel, um mehr zu erfahren.
Tatsächlich statten viele Service Provider ihre Nutzer in der Geschäftswelt mit Standard-SLAs aus – sie beschreiben explizit das Service Level, auf das sich beide Vertragsparteien geeinigt haben. Du solltest jedoch wissen, dass Airflow das Thema etwas anders angeht. Das SLA legt die Zeit fest, die ein Task oder DAG für die Ausführung benötigt. Airflow bietet einen Mechanismus, der eine Benachrichtigung sendet, falls ein Task oder DAG die erwartete SLA-Zeit nicht einhält. Die Benachrichtigung muss natürlich nicht per E-Mail erfolgen – sie kann auch an deinen Slack-Account gesendet werden. Aber fangen wir von vorne an…
Was ist ein SLA – Service Level Agreement?
In der Geschäftswelt ist ein Service Level Agreement (SLA) ein Dokument, das das vom Kunden erwartete und vom Anbieter garantierte Service Level enthält. Es werden in der Regel die Metriken genannt, anhand derer beurteilt wird, ob der Service dem Vertrag entspricht. Das SLA enthält auch Schritte, die im Falle von Abweichungen zu ergreifen sind, sowie Strafen für den Anbieter, wenn das vereinbarte Service Level nicht erreicht wird. Das SLA besteht meist zwischen zwei verschiedenen Unternehmen (Geschäftspartner oder Dienstleister und Kunde), kann aber auch zwischen zwei Abteilungen derselben Organisation bestehen. Die beliebtesten SLA-Typen sind:
- Customer SLA – zwischen einem Anbieter und einem externen Kunden (eine Person oder Organisation, die nicht Teil des Anbieters ist).
- Internal SLA – zwischen zwei Abteilungen derselben Institution.
- Multilevel SLA – an dem mehrere Parteien beteiligt sind.
Elemente eines SLA-Vertrags
Service Level Agreements bestehen in der Regel aus zwei Hauptkomponenten: Service- und Management-Elementen. Beide sollten den Vertragspartnern wichtige Informationen liefern, damit sie das vereinbarte Service Level sicherstellen können.
Das Service-Element eines SLA-Vertrags enthält die Details der vom Anbieter angebotenen Services. Es ist gute Praxis, im SLA auch zu erklären, was vom Service ausgeschlossen ist, damit keine Zweifel entstehen. Ein SLA ist ein recht komplexes Dokument. Es sollte die Services detailliert beschreiben, um Geschäftstransparenz zu gewährleisten. Daher sollten Bedingungen zur Serviceverfügbarkeit, Verantwortlichkeiten aller Parteien, Eskalationsverfahren und zusätzliche Kosten Teil eines solchen Vertrags sein.
Das Management-Element des SLA-Dokuments erklärt, wie das Service Level gemessen werden soll. Es sollten Metriken aufgeführt werden, anhand derer die Parteien die Servicequalität beurteilen können. Alle Methoden, Standards, Reporting-Prozesse und die Häufigkeit der Service Level Assessments sollten in diesem Teil des SLA-Vertrags beschrieben werden. Außerdem ist dies der Ort, um zu klären, wie der Streitbeilegungsprozess im Bedarfsfall ablaufen soll. Und natürlich dürfen mögliche SLA-Updates nicht vergessen werden. Die Marktrealität ändert sich dynamisch, und es kann notwendig sein, das SLA an neue Bedingungen, Erwartungen oder Vorschriften anzupassen. Die Methoden zur Aktualisierung des SLA sollten ebenfalls im Vertrag beschrieben werden.
Bedeutung des SLA-Reportings
Jetzt verstehst du sicher, warum du ein SLA für die Services brauchst, die du in deinem Unternehmen nutzen möchtest. Es ist ein sehr wichtiger Teil eines Vertrags – besonders im IT-Bereich. Ein Service Level Agreement bündelt alle wichtigen Informationen zu deinem beauftragten Service. Aus dem SLA-Dokument erfährst du, welche garantierte Performance die Lösung bietet, für die du bezahlst, und wie du prüfen kannst, ob die Servicequalität nicht unter dem vereinbarten Level liegt.
Mit einem SLA musst du keine eigenen Methoden und Strategien zur Leistungsmessung entwickeln (du kannst aber natürlich zusätzliche Lösungen nutzen, um deine Neugier zu stillen oder doppelt zu prüfen). Der gesamte Prozess der Service Level Messung, die Häufigkeit und die verwendeten Tools und Metriken sind im SLA-Dokument für alle Parteien beschrieben. Es enthält auch die Verantwortlichkeiten und Erwartungen sowohl des Anbieters als auch des Kunden (oder anderer Institutionen).
Dank des SLA:
- musst du keine Zeit mit der Planung des Bewertungsprozesses für einen neuen Service verschwenden,
- werden alle Zweifel bezüglich eines niedrigen Service Levels beseitigt, sodass es keine Meinungsverschiedenheiten zwischen den Parteien gibt,
- sind alle Beteiligten durch eine umfassende Vereinbarung geschützt, die die wichtigsten Punkte abdeckt.
Service Level Agreement – Beispiele für den Einsatz in der IT-Branche
Unternehmen weltweit bemühen sich, ihre Performance, Sicherheit usw. zu messen. IT-Organisationen nutzen verschiedene Monitoring-Tools, um sicherzustellen, dass die Effizienz der eingesetzten Geschäfts- und Technologielösungen auf dem richtigen Niveau ist. Diese Monitoring-Tools können den Nutzern jedoch nur Daten zur Bewertung der Produktivitätsfähigkeit liefern, aber nicht wirklich helfen, dieses Level zu steigern.
Fragst du dich, wofür SLA-Verträge in der IT genau verwendet werden? Ihr Zweck ist es vor allem, Folgendes sicherzustellen:
- hohe Serviceverfügbarkeit – der Anbieter muss sicherstellen, dass der Service gemäß SLA verfügbar ist,
- niedrige Fehlerquoten – das SLA gibt die Anzahl oder den Prozentsatz der Fehler in den wichtigsten Deliverables an, und der Anbieter sollte die tatsächliche Fehlerquote unter diesem Schwellenwert halten,
- Zuverlässigkeit – ein Unternehmen erwartet, dass es bei Investitionen in Business-Tools die Anwendungen mit allen Funktionen und vollem Potenzial nutzen kann, wenn der Service verfügbar sein sollte,
- Sicherheit – bei strengen regulatorischen Anforderungen müssen Organisationen sicherstellen, dass ihre Daten jederzeit sicher sind, daher muss der Anbieter für Antivirus-Updates sorgen und moderne Cybersecurity-Lösungen einsetzen.
Service Level Agreement – Airflow
Was steht also im SLA für Airflow? Du fragst dich vielleicht, wie Apache Airflow die Performance der Tasks und DAGs überwacht, die es ausführt. Das SLA wird als die Zeit verstanden, bis zu der Tasks/DAGs erfolgreich abgeschlossen sein sollten. Wenn einige davon nicht gemäß den Anforderungen (in der vordefinierten Zeit) ausgeführt werden, wird eine E-Mail-Benachrichtigung an den Nutzer gesendet. Wenn ein “SLA miss” auftritt, bedeutet das, dass ein bestimmter Task oder DAG die erwartete Abschlusszeit überschritten hat. Die Benachrichtigung enthält Details zu den Tasks, die ihr SLA verfehlt haben. Zusätzlich wird das Ereignis in der Datenbank protokolliert und kann mit Details im Web UI von Airflow eingesehen werden.
Die SLA-Monitoring-Funktionalität, die für das Senden von Benachrichtigungen verantwortlich ist, kann nach dem Hinzufügen nur einer Codezeile im Task-Operator genutzt werden. Die Überprüfung auf mögliche Verstöße erfolgt zu Beginn und am Ende des Tasks – und wenn sie erkannt wird, wird die E-Mail-Benachrichtigung nach Abschluss des Tasks gesendet. Du solltest wissen, dass das auf Task-Ebene definierte SLA die Zeit ab Beginn der DAG-Ausführung ist – nicht die Task-Ausführung (die Definition des SLA auf Task-Basis ist optional).
Zusammenfassung
Die E-Mail-Alert-Funktion des Airflow SLA ist sehr nützlich. Sie erleichtert einfach den Arbeitsalltag, da du über Fehler informiert bist und entsprechend reagieren kannst. So kannst du die höchste Effizienz deiner Data Pipelines sicherstellen. Kontaktiere uns gerne, wenn du Unterstützung beim Einrichten deiner SLAs benötigst. Wir teilen gerne weitere wertvolle Tipps zur Nutzung von Apache Airflow mit dir.
Google cloud wie spart man infrastrukturkosten
Targeting first party daten verstehen
Kubernetes in fmcg automatisierung von anwendungen