Kiedy korzystasz z narzędzia do data orchestration, musisz być w stanie szybko dowiedzieć się, gdy coś nie działa tak, jak powinno, oraz mieć dobrą strategię rozwiązywania problemów, gdy się pojawią. Apache Airflow SLA (Service Level Agreement) oferuje bardzo przydatny mechanizm powiadomień, który może informować Cię o nieefektywnościach. Dlaczego to takie użyteczne rozwiązanie i jak z niego korzystać? Przeczytaj nasz artykuł, aby dowiedzieć się więcej.
W rzeczywistości wielu dostawców usług wyposaża swoich użytkowników w standardowe SLA w świecie biznesu – jasno opisując poziom usług, na który obie strony umowy się zgodziły. Jednak musisz wiedzieć, że Airflow podchodzi do tego nieco inaczej. Jego SLA określa czas, w jakim task lub DAG powinien się wykonać. Airflow zapewnia użytkownikom mechanizm, który wysyła powiadomienie, jeśli task lub DAG nie spełni oczekiwanego czasu SLA. Powiadomienie nie musi być oczywiście e-mailem – może być też wysłane na Twoje konto Slack. Ale zacznijmy od początku…
Co to jest SLA – service level agreement?
W świecie biznesu Service Level Agreement (SLA) to dokument, który zawiera poziom usług oczekiwany przez klienta i gwarantowany przez dostawcę. Zazwyczaj wymienia metryki, które będą używane do oceny, czy usługa jest zgodna z umową. SLA zawiera także kroki, które należy podjąć w przypadku braku zgodności oraz kary dla dostawcy, jeśli uzgodniony poziom usług nie zostanie osiągnięty. SLA najczęściej występuje między dwiema różnymi firmami (partnerami biznesowymi lub dostawcą i klientem), ale może też być między dwoma działami tej samej organizacji. Najpopularniejsze typy SLA to:
- Customer SLA – między dostawcą a zewnętrznym klientem (osobą lub organizacją spoza firmy dostawcy).
- Internal SLA – między dwoma działami tej samej instytucji.
- Multilevel SLA – w którym zaangażowanych jest wiele stron.
Elementy kontraktu SLA
Service Level Agreements zazwyczaj składają się z dwóch głównych komponentów: definiujących usługi i zarządzanie. Każdy powinien dostarczać kluczowych informacji, umożliwiając stronom zapewnienie uzgodnionego poziomu usług.
Element usługowy SLA zawiera szczegóły dotyczące usług oferowanych przez dostawcę. Dobrą praktyką jest także wyjaśnienie, co jest wyłączone z usługi, aby nie było wątpliwości. SLA to dość złożony dokument. Powinien szczegółowo opisywać usługi dla przejrzystości biznesowej. Dlatego warunki dostępności usług, odpowiedzialności wszystkich stron, procedury eskalacji i dodatkowe koszty powinny być częścią takiego kontraktu.
Element zarządzania w dokumencie SLA wyjaśnia, jak poziom usług powinien być mierzony. Powinny być wymienione metryki, na podstawie których strony będą mogły ocenić jakość usług. Wszystkie metody, standardy, procesy raportowania i częstotliwość ocen poziomu usług powinny być opisane w tej części kontraktu SLA. Ponadto jest to miejsce na wyjaśnienie, jak powinien przebiegać proces rozstrzygania sporów, jeśli zajdzie taka potrzeba. Oczywiście nie można zapomnieć o możliwych aktualizacjach SLA, które mogą być konieczne. Rzeczywistość rynkowa zmienia się dynamicznie i może być konieczne dostosowanie kontraktu SLA do nowych warunków, oczekiwań lub regulacji. Metody utrzymania SLA w aktualności również powinny być opisane w kontrakcie.
Znaczenie raportowania SLA
Teraz na pewno rozumiesz, dlaczego potrzebujesz SLA dla usług, z których chcesz korzystać w swojej firmie. To bardzo ważna część kontraktu – szczególnie w IT. Service level agreement gromadzi kluczowe informacje dotyczące zamówionej usługi. Z dokumentu SLA dowiesz się, jaka jest gwarantowana wydajność rozwiązania, za które płacisz, i jak możesz sprawdzić, czy jakość usług nie jest niższa niż uzgodniona.
Dzięki SLA nie musisz samodzielnie ustalać metod i strategii pomiaru wydajności (choć oczywiście możesz korzystać z dodatkowych rozwiązań, by zaspokoić ciekawość lub podwójnie sprawdzić). Cały proces pomiaru poziomu usług, częstotliwość tego zdarzenia oraz narzędzia i metryki do użycia są opisane w dokumencie SLA dla wszystkich stron. Zawiera on także obowiązki i oczekiwania zarówno dostawcy, jak i klienta (lub innych instytucji).
Dzięki SLA:
- nie musisz tracić czasu na planowanie procesu oceny nowej usługi,
- wszelkie wątpliwości dotyczące niskiego poziomu usług są eliminowane, więc nie ma nieporozumień między stronami,
- wszystkie strony są chronione przez złożoną umowę obejmującą najważniejsze kwestie.
Service level agreement – przykłady zastosowania w branży IT
Firmy na całym świecie starają się mierzyć swoją wydajność, bezpieczeństwo itd. Organizacje IT korzystają z różnych narzędzi monitorujących, by mieć pewność, że efektywność wykorzystywanych rozwiązań biznesowych i technologicznych jest na odpowiednim poziomie. Jednak te narzędzia monitorujące mogą jedynie dostarczać użytkownikom danych do oceny możliwości produkcyjnych firmy, ale nie mogą realnie pomóc w podniesieniu tego poziomu.
Zastanawiasz się, do czego dokładnie służą kontrakty SLA w IT? Ich celem jest głównie zapewnienie:
- wysokiego poziomu dostępności usług – dostawca ma zapewnić, że dana usługa będzie dostępna zgodnie z SLA,
- niskiego poziomu błędów – SLA określa liczbę lub procent błędów w głównych deliverables, a dostawca powinien utrzymać rzeczywisty poziom błędów poniżej tego progu,
- niezawodności – firma inwestując w narzędzia biznesowe oczekuje, że będzie mogła korzystać z aplikacji ze wszystkimi funkcjami i pełnym potencjałem, gdy usługa powinna być dostępna,
- bezpieczeństwa – przy rygorystycznych wymaganiach regulacyjnych organizacje muszą mieć pewność, że ich dane są zawsze bezpieczne, więc dostawca musi dbać o aktualizacje antywirusowe i stosować nowoczesne rozwiązania cybersecurity.
Service Level Agreement – Airflow
A więc, co zawiera SLA dla Airflow? Możesz się zastanawiać, jak Apache Airflow monitoruje wydajność zadań i DAG-ów, które uruchamia. SLA jest rozumiane jako czas, w którym task/DAG powinien się zakończyć sukcesem. Jeśli któryś z nich nie zostanie uruchomiony zgodnie z wymaganiami (w określonym czasie), użytkownik otrzyma alert e-mailowy. Jeśli wystąpi “SLA miss”, oznacza to, że dany task lub DAG przekroczył oczekiwany czas zakończenia. Powiadomienie będzie zawierać szczegóły dotyczące zadań, które nie spełniły SLA. Dodatkowo zdarzenie jest rejestrowane w bazie danych i można je zobaczyć ze szczegółami w web UI Airflow.
Funkcjonalność monitorowania SLA, odpowiedzialna za wysyłanie powiadomień, może być użyta po dodaniu tylko jednej linii kodu w operatorze taska. Sprawdzenie potencjalnych naruszeń odbywa się na początku i na końcu taska – a jeśli zostanie wykryte, alert e-mailowy zostanie wysłany po zakończeniu wykonania taska. Powinieneś wiedzieć, że SLA zdefiniowane na poziomie taska to czas od początku wykonania DAG-a – nie taska (definiowanie SLA na podstawie tasków jest opcjonalne).
Podsumowanie
Funkcja alertów e-mailowych w SLA Airflow jest bardzo przydatna. Po prostu ułatwia codzienną pracę, bo jesteś świadomy awarii i możesz odpowiednio zareagować. Dzięki temu możesz zapewnić najwyższą efektywność swoich data pipelines. Skontaktuj się z nami, jeśli potrzebujesz pomocy przy konfiguracji SLA. Chętnie podzielimy się dodatkowymi wskazówkami dotyczącymi korzystania z Apache Airflow.
Targetowanie zrozumienie first party data
Kubernetes w fmcg automatyzacja aplikacji
Google cloud jak oszczedzać na infrastrukturze