Automatyzacja psuje się po cichu

Autor
Sebastian Antolik
Utworzono
Dojrzałość
dojrzała, etap 3 z 3
Co znaczy „dojrzała”?

Teksty na tej stronie rosną z czasem. Dojrzałość pokazuje, na jakim etapie jest dany tekst.

szkic, etap 1 z 3
Tekst w przygotowaniu, jeszcze nieopublikowany.
kiełek, etap 2 z 3
Wczesna wersja. Teza może się jeszcze zmienić.
dojrzała, etap 3 z 3
Wersja dopracowana, zmieniana rzadko.

Strona działała. Domena opłacona, certyfikat ważny, wszystko się ładowało. Tylko że od prawie dwóch lat nic się na niej nie pojawiło. I długo nie wiedziałem dlaczego.

Co się stało

Ten ogród to prosta automatyzacja: piszę notatkę w Obsidianie, plugin wysyła ją na GitHuba, a hosting buduje z niej stronę. Kiedy po przerwie chciałem do niego wrócić, okazało się, że po drodze zepsuły się trzy rzeczy:

%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#dfdfdf", "primaryBorderColor": "#cdcecf", "primaryTextColor": "#252525", "lineColor": "#5f5f5f", "edgeLabelBackground": "#e6e6e6", "tertiaryColor": "#e6e6e6"}}}%%
flowchart LR
    A["Notatka"] -. "stary vault" .-> B["Plugin"]
    B -- "token nieważny" --> C["GitHub"]
    C --> D["Build"]
    D -- "Node: 6 dni do wyłączenia" --> E["Strona ✅"]
    linkStyle 0,1,3 stroke:#b3261e,stroke-width:2px

Czerwone połączenia zepsuły się bez żadnego komunikatu. Strona na końcu przez cały czas wyglądała dobrze.

Żadna z tych rzeczy nie była trudna do naprawienia. Trudne było to, że żadna nie dała znać, że się zepsuła.

Najgroźniejsza awaria to ta bez komunikatu

Automatyzacje psują się inaczej niż aplikacje. Aplikacja, która nie działa, ma użytkowników, którzy od razu to zgłaszają. Automatyzacja, która nie działa, po prostu przestaje robić swoje, a jej widoczna część wygląda tak samo jak wczoraj. Dowiadujesz się dopiero wtedy, gdy chcesz jej użyć. Czasem po tygodniu, czasem po dwóch latach.

Zanim uznasz automatyzację za skończoną, zadaj jej trzy pytania:

  1. Kiedy wygasa? Tokeny, certyfikaty, wersje runtime'u na hostingu. Wszystko ma datę ważności, nawet jeśli nikt jej nie zapisał.
  2. Kto jej używa i jak często? Automatyzacja bez rytmu użycia to automatyzacja bez monitoringu.
  3. Skąd się dowiem, że przestała działać? Jeśli odpowiedź brzmi „zobaczę przy okazji”, to znaczy, że nie ma odpowiedzi.

Karta tego ogrodu

Sam trzymam się tych pytań. Tak wygląda karta tego ogrodu po naprawie:

Pytanie Ten ogród
Kiedy wygasa? Token nie wygasa, ale ma dostęp tylko do jednego repozytorium i dwa uprawnienia. Wersja Node jest zapisana w projekcie, więc zmienia się razem z kodem.
Kto jej używa i jak często? Ja, co tydzień w niedzielę. Przypomnienie przychodzi samo.
Skąd się dowiem, że przestała działać? Każda publikacja kończy się sprawdzeniem strony. Opis całego pipeline'u i znanych pułapek mam w jednej notatce, więc naprawa to minuty, a nie całe popołudnie.

Ta notatka jest pierwszą po przerwie. Doszła na stronę, bo tym razem wiem, co może ją po cichu zatrzymać.