Data Reliability Platform
Najgroźniejsze awarie danych są ciche: procesy kończą się „sukcesem”, a raporty pokazują nieprawdę. Ta platforma w środowisku enterprise na AWS wychwytuje takie niespójności codziennie — automatyczną walidacją, testami integracyjnymi i monitoringiem, z wynikami, które można sprawdzić, zamiast brać je na wiarę. Założyciel firmy pracował przy niej jako inżynier w większym zespole, odpowiadając za automatyzację walidacji danych i testy.
- Klient
- Międzynarodowe środowisko enterprise — szczegóły projektu objęte poufnością

Kontekst projektu
Firmy podejmują decyzje na podstawie raportów, a raporty są dokładnie tak dobre, jak dane, które przez pipeline'y do nich dopływają. Najgroźniejsze awarie danych są ciche: procesy kończą się „sukcesem”, dashboardy dalej się renderują — tylko pokazują nieprawdę. Ten projekt dotyczył platformy, której zadaniem jest wykrywanie takich sytuacji, zanim ktokolwiek zdąży na ich podstawie podjąć decyzję.
Platforma działa w środowisku enterprise na AWS i w sposób ciągły waliduje dane przepływające przez chmurowe pipeline'y: sprawdza schematy, kompletność, spójność między etapami przetwarzania i świeżość danych, a odchylenia zgłasza zespołowi, zanim zauważą je odbiorcy raportów.
Nasza część pracy dotyczyła inżynierskiej strony tej niezawodności: automatyzacji walidacji, testów integracyjnych pipeline'ów i monitoringu. Opisujemy ją w zakresie, na jaki pozwala poufność — bez nazwy klienta, bez jego danych i bez szczegółów jego systemów.
Wyzwanie biznesowe
Skala i różnorodność danych wykluczały kontrolę ręczną: wiele zbiorów z różnych źródeł, przetwarzanych etapami, z zależnościami między etapami. Do tego najpoważniejsze błędy nie wywracają procesu — brakujące wiersze, duplikaty czy zerwane powiązania między zbiorami przechodzą przez pipeline bezszelestnie i wypływają dopiero w raportach.
Walidacja nie mogła przy tym spowalniać dostarczania. Kontrole musiały działać wewnątrz pipeline'ów i procesu CI, a nie obok nich — z jasnym rozróżnieniem, które problemy zatrzymują przepływ danych, a które tylko podnoszą alarm. Zbyt czułe reguły blokowałyby pracę, zbyt luźne przepuszczałyby błędy.
Zakres realizacji
Nasz zakres w tym projekcie obejmował automatyzację walidacji danych i testy: projektowanie kontroli jakości danych, implementację frameworku testowego w Pythonie i PyTest oraz wpięcie go w pipeline'y i proces CI/CD. Platforma jako całość była dziełem większego zespołu — opisujemy tu wyłącznie tę część.
Do zakresu należało też to, żeby wyniki kontroli były użyteczne: metryki i alerty w Amazon CloudWatch oraz raportowanie, które pokazuje zespołowi, co dokładnie się nie zgadza, gdzie i od kiedy.
Rola założyciela
Zakres realizował osobiście założyciel firmy, Jakub Zając, pracując jako inżynier w większym zespole klienta i odpowiadając za automatyzację walidacji danych oraz testy.
Zaangażowane kompetencje
- Inżynieria jakości
- Wiedza, co jest przetestowane — i co świadomie nie jest.
- Automatyzacja testów
- Regresja sprawdzana przy każdej zmianie, nie raz przed wydaniem.
- DevOps i chmura
- Powtarzalne wdrożenia i środowiska, które da się odtworzyć.
- Bazy danych
- Model danych i zapytania, które nie zwalniają razem ze wzrostem firmy.
- Niezawodność danych
- Kontrole, które wychwytują błąd w danych przed raportem zarządu.
Lista dyscyplin, których wymagała ta realizacja — nie lista stanowisk.
Rozwiązanie
Framework walidacji danych w Pythonie
Kontrole jakości danych zbudowaliśmy jako kod: sprawdzenia schematów, kompletności, unikalności, spójności referencyjnej między zbiorami i świeżości danych. Silnikiem wykonawczym jest PyTest, więc walidacje uruchamia się, raportuje i utrzymuje tak samo jak zwykłe testy — bez autorskiego narzędzia, którego trzeba by się osobno uczyć.
Testy integracyjne pipeline'ów danych
Ścieżka przetwarzania — od plików w Amazon S3, przez zadania AWS Glue, po tabele w Amazon Redshift — jest testowana od końca do końca na kontrolowanych zbiorach danych. Test przepuszcza dane przez rzeczywisty pipeline i sprawdza, czy na wyjściu jest dokładnie to, co powinno być, a nie tylko czy proces „się wykonał”.
Walidacja wbudowana w proces, nie obok niego
Kontrole działają w dwóch trybach: w CI (GitHub Actions) przy każdej zmianie logiki przetwarzania oraz cyklicznie na produkcyjnych przepływach danych. Poważne naruszenia zatrzymują pipeline, mniejsze odchylenia generują ostrzeżenie — dzięki temu błędy nie przechodzą dalej, a zespół nie jest blokowany przez każdą drobną anomalię.
Monitoring i alerty jakości danych
Wyniki walidacji zasilają metryki i alarmy w Amazon CloudWatch. Zespół widzi stan kontroli w czasie i dostaje powiadomienie, gdy coś odbiega od normy — o problemie z danymi informuje monitoring, a nie zdziwiony odbiorca raportu tydzień później.
Raportowanie i obsługa niespójności
Wykryta niespójność ma swoją ścieżkę: raport pokazuje, która kontrola zawiodła, na którym zbiorze i od kiedy, co skraca diagnozę z godzin przeszukiwania danych do przejrzenia wyniku. To zamienia jakość danych z tematu „wszyscy wiedzą, że bywa różnie” w mierzalny, obsługiwany proces.
Powtarzalna infrastruktura testowa
Środowiska, w których działają walidacje, są opisane w Terraformie i konteneryzowane w Dockerze. Framework można dzięki temu uruchomić w kolejnym środowisku bez ręcznej konfiguracji, a infrastruktura testowa podlega review tak samo jak kod kontroli.
Stos technologiczny
Testy i walidacja
- Python
- PyTest
- SQL
Chmura i dane (AWS)
- Amazon S3
- AWS Glue
- Amazon Redshift
Bezpieczeństwo i monitoring
- AWS IAM
- Amazon CloudWatch
Infrastruktura i CI/CD
- Docker
- Terraform
- GitHub Actions
Podejście techniczne
- 01
Walidacje są kodem, wersjonowanym razem z logiką pipeline'ów. Każda reguła przechodzi review i ma historię — wiadomo, kto ją dodał, dlaczego i co dokładnie sprawdza.
- 02
Dwa poziomy powagi zamiast jednego: twarde naruszenia zatrzymują przepływ danych, miękkie anomalie tylko alarmują. To rozróżnienie chroni jednocześnie przed cichymi błędami i przed ciągłym blokowaniem zespołu.
- 03
Testy integracyjne pracują na deterministycznych, kontrolowanych zbiorach danych, a nie na kopiach produkcji — wynik testu jest powtarzalny, a dane wrażliwe nie krążą po środowiskach.
- 04
Kontrole zaprojektowaliśmy tak, żeby były tanie i idempotentne — da się je uruchamiać często. Częsta, automatyczna weryfikacja wygrywa z gruntowną kontrolą robioną raz na miesiąc.
- 05
Postawiliśmy na standardowe narzędzia — PyTest zamiast autorskiego runnera. Każdy inżynier znający Pythona może dopisać kontrolę pierwszego dnia pracy z platformą.
Jakość i niezawodność
- Dostępy według zasady najmniejszych uprawnień w AWS IAM: komponenty walidacyjne czytają wyłącznie te zbiory danych, które sprawdzają — nic ponadto.
- Dane produkcyjne nie opuszczają kontrolowanego środowiska. Testy korzystają ze zbiorów syntetycznych lub zanonimizowanych, przygotowanych specjalnie do tego celu.
- Sekrety i poświadczenia są obsługiwane przez zarządzane mechanizmy chmury i CI — nie występują w kodzie ani w plikach konfiguracyjnych repozytorium.
- Zmiany w infrastrukturze przechodzą przez Terraform i review kodu, co daje pełną ścieżkę audytu — istotną w środowisku enterprise nie mniej niż samo działanie systemu.
Efekt
Niespójności danych wychodzą na jaw na etapie pipeline'u, a nie w raportach. Cała klasa cichych błędów, wcześniej wykrywanych przypadkiem, jest wychwytywana systematycznie.
Zespół ma powtarzalny sposób obejmowania kontrolą nowych zbiorów danych — platforma rośnie razem z danymi, zamiast być jednorazowym projektem.
Zaufanie do danych przestaje być kwestią wiary: odbiorcy mogą sprawdzić stan kontroli, zamiast zakładać, że „pewnie jest dobrze”.
Galeria
Przykładowy raport z walidacji danych (dane zanonimizowane)
1600×1000 px, AVIF/WebP
Dashboard metryk jakości danych w CloudWatch (zanonimizowany)
1920×1080 px, AVIF/WebP
Przebieg testów walidacyjnych w CI (zanonimizowany)
1920×1080 px, AVIF/WebP
Powiązane usługi
Zakres, z którego korzystał ten projekt — opisany szerzej na stronach usług.
Testy manualne i automatyczne, testy API, UI i regresji oraz strategia testów — proces jakości, który realnie zabezpiecza wydania.
Projektowanie i optymalizacja PostgreSQL, migracje, raportowanie i automatyczna walidacja danych — żeby liczby w firmie wreszcie się zgadzały.
CI/CD, Docker, Terraform i AWS — żeby wdrożenia były jednym kliknięciem, a o awariach wiedzieć przed klientami, nie od nich.
Inne realizacje

01Aplikacja lojalnościowa i panel administracyjny
IZAPzoo
Sieć sklepów stacjonarnych IZAP chciała mieć własny program lojalnościowy w telefonach klientów zamiast plastikowych kart. Zaprojektowaliśmy i zbudowaliśmy całość — aplikację na Androida i iOS, backend w chmurze i panel administracyjny — a punkty, nagrody i promocje personel sklepów obsługuje dziś samodzielnie.
Zobacz case study
02Prywatne narzędzie do wyszukiwania okazji z analizą AI
ThomasSeekerAI
Prywatny handlarz codziennie ręcznie przeczesywał OLX, Otomoto, Allegro i kilka mniejszych serwisów w poszukiwaniu rzeczy wartych odsprzedaży. Zbudowaliśmy wewnętrzne narzędzie, które przejmuje tę pracę: wyszukiwania opisane zwykłym zdaniem prowadzi cyklicznie w tle, odsiewa szum i układa resztę według oceny okazji — godziny ręcznego przeglądania zamienione w automat.
Zobacz case study
Porozmawiajmy o Twoim projekcie
Chętnie opowiemy, jak podobne podejście sprawdziłoby się u Ciebie — i czego byśmy uniknęli.