Projektowanie rozwiązań
Odtworzenie procesu monitorowania certyfikatów
Rezultat: Monitorowanie certyfikatów działa produkcyjnie bez incydentów, zbędnych alarmów i nocnych interwencji wsparcia.
01 / Zagadnienie
Wymiana odziedziczonego mechanizmu monitorowania certyfikatów okazała się czymś więcej niż przepisaniem kodu. Mechanizm realizował więcej funkcji, niż wynikało z zakresu zadania — od synchronizacji danych po raporty, powiadomienia i zgłoszenia — a jego komunikat o sukcesie nie mówił nic o poprawności wyniku.
Wyniki były niewiarygodne w obie strony: błędy zgłaszane przy poprawnym wykonaniu i sukces przy niekompletnych danych. Samo przepisanie logiki przeniosłoby te błędy do nowej implementacji.
02 / Metodologia
Nową implementację oparłem na czterech zasadach:
- Odtworzenie rzeczywistego działania procesu — ustalenie przepływu danych, funkcji i zależności między komponentami, zanim powstanie nowa implementacja.
- Kontrola kompletności danych — niekompletne dane nie są interpretowane jako brak problemów, a awarie techniczne są oddzielone od wyników biznesowych.
- Rekoncyliacja danych ze źródłem — dane przechowywane w systemach zależnych są uzgadniane ze źródłem, a elementów, z których mogą korzystać inne procesy, nie usuwa się bez potwierdzenia.
- Diagnostyka zależności przed zmianą danych — każda integracja jest sprawdzana osobno, a wdrożenie przebiega etapami, zanim rozwiązanie zacznie modyfikować dane.
03 / Autorskie rozwiązanie i rezultat
Na podstawie istniejącego kodu odtworzyłem przepływ danych i zależności całego procesu oraz ustaliłem źródła błędnych wyników.
Zaprojektowałem i wdrożyłem nową implementację z rekoncyliacją danych ze źródłem, kontrolą kompletności, rozdzieleniem awarii technicznych od wyników biznesowych oraz diagnostyką poszczególnych integracji. Rozwiązanie zachowuje funkcje biznesowe dotychczasowego procesu — raportowanie, powiadomienia i zgłoszenia — nie zgłasza wielokrotnie tego samego certyfikatu i zamyka nieaktualne alarmy.
Rozwiązanie działa produkcyjnie bez incydentów, zbędnych alertów i nocnych interwencji wsparcia. Liczbę zewnętrznych zależności programowych ograniczyłem z siedmiu do jednej biblioteki, która była już dostępna.
Wartość: zakończenie programu nie jest traktowane jako dowód poprawnego wyniku — proces rozróżnia awarie techniczne od wygasających certyfikatów, utrzymuje spójność danych ze źródłem i pozwala diagnozować każdą integrację osobno.
- Obszary technologiczne
- Programowanie · Integracje · Bazy danych · Rekoncyliacja danych · Diagnostyka zależności · Alerting · Zgłoszenia