Observability dla managera: skąd wiedzieć, że biznes działa
- Dla kogo:
- CTO, CIO, managerowie IT i liderzy zespołów SRE oceniający monitoring i koszt platformy observability
- Czas czytania:
- 9 min
- Odcinek:
- 29 min
Po kliknięciu wideo załaduje się z YouTube (Google). Google może zapisać dane na Twoim urządzeniu i przetwarzać je także w USA. Więcej (PDF) · Obejrzyj na YouTube
Słuchaj też: Spotify · Apple Podcasts · RSS
W skrócie
Jeśli Twoja infrastruktura jest monitorowana, a o awarii i tak dowiadujesz się z telefonu od biznesu, sam monitoring procesora i pamięci nie wystarcza. Observability daje biznesowi, deweloperom i utrzymaniu te same dane o tym, co dzieje się w systemach, więc problem widać wcześniej, a spory rozstrzygają liczby. Z tekstu dowiesz się, kiedy optymalizacja i wyższa dostępność się nie opłacają, co zrobić z drogą platformą vendora i czego wymaga wdrożenie na otwartym standardzie.
Kluczowe wnioski
- Monitoring zasobów nie powie, czy biznes działa, a observability pozwala zobaczyć problem, zanim się zacznie, więc zespół wychodzi z trybu strażaka i może sam uprzedzić biznes.
- Własne narzędzia w każdym zespole trzeba kupić, poznać i utrzymać, a przy awarii jedni ją widzą, drudzy mogą jej nie widzieć.
- Liczby pokazują, dla ilu użytkowników system działa wolno i które maszyny można zmniejszyć, więc wiesz, gdzie wydawać pieniądze, a gdzie przestać.
- Przy wysokim rachunku za komercyjną platformę alternatywą jest stos Grafany z OpenTelemetry, który Twój zespół SRE pewnie już zna, choć wdrożenie wymaga zmian po stronie aplikacji.
- Najpierw są narzędzia, potem procesy: alerty, wykrywanie anomalii i standardy logowania, które w tle może wdrażać zespół platformowy.
- Zamiast pełnej dostępności ustalasz z biznesem mierzalne zobowiązanie i sprawdzasz, które systemy mogą czasem nie działać.
Monitoring widzi zasoby, observability widzi zachowanie systemu
Monitoring to sprawdzanie, czy procesor, pamięć, a może też dysk nie są pełne. Menedżer pyta o coś innego: czy jego biznes działa. Monitoring informuje o awarii albo, jeśli się uda, ostrzega przed nią.
Rozmówcy nieraz słyszą w firmach, że jest tam jakiś monitoring albo observability, a mimo to prawie zawsze trafiają na tę samą sytuację. Biznes dzwoni do menedżera, często dość gniewnie, że system nie działa od pół godziny. Zespół utrzymania sprawdza procesor i RAM, widzi, że są w porządku, i odpowiada, że system chyba działa.
Observability nie jest modną nazwą monitoringu, to coś zupełnie innego. Observability to cel: stan, w którym z danych o systemie da się wywnioskować, jak się zachowuje i co dzieje się w jego wnętrzu. Obejmuje systemy i procesy. Dzięki niej widzisz, że coś się dzieje, a nawet widzisz to, zanim zacznie się dziać.
Logi, metryki i trace’y to kolejne stopnie dojrzałości
Logi ma każdy, lepsze lub gorsze. Zdarza się, że deweloperzy logują się na maszyny i czytają przewijające się logi jak w Matriksie. To umiejętność, ale w większej skali niekoniecznie przydatna.
Metryki dają realne liczby i można ich zbierać naprawdę dużo. Trace to zapis tego, jak cały proces biznesowy przepływa przez serwisy i mikroserwisy w organizacji. Trace’y pokazują, która komunikacja działa, a która nie, jakie ma opóźnienia, gdzie się wywala i jaki jest rozkład czasu odpowiedzi. Dzięki nim wiesz, gdzie warto inwestować czas w optymalizację.
Zespół w trybie strażaka nie realizuje planu
Zespół, który reaguje na awarie, działa w trybie strażaka. Musi tu i teraz szybko przywrócić system do działania, z reguły kosztem jakości. Problem wraca, bo zespół robi to, co trzeba na już, a potem zwykle nie ma czasu naprawić go poprawnie.
W takim trybie nie da się nic zaplanować. Zespół zapowiada coś na kwartał, kwartał mija, a praca nawet się nie zaczęła. Robił dużo, ale nie były to wartościowe rzeczy.
Dzięki observability zespół inwestuje w procesy utrzymaniowe, ma więcej zaplanowanego czasu, a awarii jest po prostu mniej. Zostaje czas, żeby pokazać deweloperom, że coś działa wolno, coś jest źle wykorzystane albo wydajność aplikacji jest zła.

Gdy zespół wie, że awaria nadchodzi, sam dzwoni do biznesu: coś dzieje się z systemem, pracujemy nad tym. Nawet przy poważnej awarii to zupełnie inna sytuacja niż gniewny telefon od biznesu.
Osobne narzędzia w każdym zespole to dodatkowy koszt
Administratorzy, deweloperzy, opsi i zespoły SRE pracują na swoich kawałkach systemu. Każdy patrzy w swoje i każdy mówi, że jest dobrze. Przy awarii DevOps siada z deweloperem, każdy ma swoją prawdę i nie potrafią się dogadać. Jedni widzą awarię, drudzy mogą jej nie widzieć.
Każdy zespół ma własne narzędzia. Trzeba za nie zapłacić, ludzie muszą się ich nauczyć, trzeba je utrzymać. Deweloperom lokalny debugger już nie wystarcza: w ostatnich latach chcą widzieć, jak system realnie się zachowuje, i mieć liczby. Jeśli sami utrzymują swoje narzędzia, tracą na to czas, a wytwarzanie i wdrażanie oprogramowania zwalnia.
Kierunek to centralizacja. Gdy narzędzia są zunifikowane, wytwarzanie, utrzymanie i monitorowanie posługują się tymi samymi liczbami, czyli jednym językiem. Mało kto będzie się spierać o liczby, które organizacja sama zbiera.
Liczby pokazują, co optymalizować i gdzie zmniejszyć maszyny
Dobry poziom observability pozwala mówić o tym, co się dzieje, a nie o odczuciach, bo każdą sytuację opisują dashboardy i liczby. Menedżer dostaje argument w dyskusji z każdym zespołem.
W dużej organizacji ktoś zawsze będzie narzekał, że system działa wolno. Z liczbami widać, dla ilu osób działa wolno, na przykład dla 2% użytkowników. Wtedy decydujesz, czy warto wydawać pieniądze, żeby ten wynik poprawić. Szymon Warda: „Nie wszystkie systemy opłaca się optymalizować do granicy możliwości.”
Liczby porządkują też decyzje o infrastrukturze. Dla nowego systemu zespół zamawia 20 CPU i 100 GB RAM-u, a potem okazuje się, że korzysta z 50% tych zasobów. Gdy wykresy z miesiąca pokazują, że procesor, pamięć i dysk nie przekraczają pewnej wartości, wniosek brzmi: użyjmy mniejszych maszyn. To bardzo duże oszczędności, a im więcej infrastruktury, tym łatwiej je uzyskać.
Komercyjne platformy observability to znaczący koszt
System observability od vendora kosztuje 5–6 cyfr w dolarach rocznie. Dla średniego zespołu to dość znaczący koszt, a kwota zależy od wielkości organizacji.
Duży klient z sektora finansowego (nazwa nie pada) płaci jednemu z wielkich dostawców rachunek, który ma już 7 i 8 cyfr w dolarach rocznie. Klient zobaczył możliwości platformy, którą rekomenduje Protopia, i rozważa odejście od tego dostawcy. Kilka lat temu publikacje rynkowe opisywały organizacje, które płaciły za systemy observability 15 i 50 milionów dolarów rocznie.
Stos Grafany jest rynkowym standardem
Platforma, którą rekomenduje Protopia, opiera się na stosie Grafany i natywnie integruje się z Kubernetesem. Gdy zaproponujesz ją deweloperom, pewnie odpowiedzą, że ją znają. Twój zespół SRE wie, o jaki system chodzi, bo z niego korzysta. Jeśli poszukasz, znajdziesz go w swojej organizacji, tylko pewnie gorzej utrzymany i niewpięty w procesy.
Te systemy są standardem rynkowym w Kubernetesie i u gigantów chmurowych, czyli hyperskalerów. Narzędzia open source z tego stosu bardzo dobrze się skalują, są opłacalne i łatwe w utrzymaniu. Nie opierasz się na zamkniętym narzędziu, więc korzystasz z wiedzy ogromnej grupy użytkowników, a część dobrych praktyk wdrażasz gotowymi elementami rozwijanymi w ekosystemie. Open source ma też swoje kłopoty.
Wdrożenie wymaga pracy po stronie aplikacji
Observability wymaga pewnej pracy i zmian po stronie aplikacji, choć te zmiany są coraz mniejsze. Im więcej zespół zrobi, tym więcej wartości dostanie, a to praca długofalowa. Warto to zrobić raz a dobrze, bo OpenTelemetry stał się standardem w observability. Korzystają z niego także duzi vendorzy, żeby integrować się z aplikacjami.
Nie jest tak, że wszystko zadziała samo. Jeden z klientów włączył na swoim klastrze automatyczne observability z bardzo znanego rozwiązania i cały system się złożył. Mechanizm wpinał się w miejsce, w które nie powinien, i system natychmiast przestał działać. Ustalenie przyczyny zajęło dwa dni. Tak często działają rozwiązania „magiczne”: obiecują zbyt dużo i potem często nie dowożą, bo nie mogą.
Celem jest biznes, który działa przewidywalnie. Nie chcesz sytuacji, w której podbijasz wersję systemu utrzymaniowego i Twojego biznesu nie ma przez cały dzień, a nikt nie wie dlaczego. Szymon Warda: „Doskonale wiemy, że wdrożenie każdego systemu kosztuje.”
Alerty mogą uprzedzić o awarii, wykresy pokazują ją po fakcie
Spadający wykres pokazuje awarię, która już się wydarzyła. W organizacjach zdarzają się 4, 5, 6 i więcej monitorów z ładnymi wykresami. Wyglądają jak choinka na pokaz, a nikt z nich nie korzysta.
Alerty pozwalają działać wcześniej: mogą powiadomić, że coś wydarzy się za dzień, za dwa albo za jakiś czas. Observability obejmuje też zmianę nawyków organizacji. Kolejność jest taka: najpierw część techniczna daje możliwości, potem zespół wdraża procesy, na przykład alerting i wykrywanie anomalii, czyli sygnałów, że coś zaczyna się psuć.
Systemy produkują czasem dziesiątki tysięcy metryk, więc trzeba umieć je odsiać. Bez tego to picie z hydrantu, przy którym można stracić zęby.
Deweloperzy widzą, jak ich kod działa na produkcji
Jedno zunifikowane narzędzie umożliwia shift left: deweloperzy widzą, jak system zachowuje się na produkcji. Znika tłumaczenie, że na maszynie dewelopera działa, bo są liczby z produkcji, łącznie z wykonywanymi zapytaniami SQL. Dane pokazują, że trzeba coś poprawić albo że jest dobrze i dalsza praca nad wydajnością nie ma sensu, bo system działa tam bardzo dobrze.
Pętla zwrotna się skraca. Zespół wdraża nową wersję i dzień później widzi, czy działa, nie działa albo działa wolno, zamiast dowiadywać się o tym po kwartale. Pomiar pokazuje, czy nowa wersja jest lepsza, czy gorsza, więc zespół dużo szybciej wykrywa regresję i wie dokładnie, co się wydarzyło.

W systemach krytycznych, tam gdzie to ma sens, można wdrożyć nową wersję częściowo i obserwować, jak zachowuje się ruch. Takie wdrożenia nie opłacają się wszędzie.
SLA, SLO i SLI określają, do czego zespół się zobowiązuje
Bez liczb nie zmierzysz, czy inwestycja w poprawę wskaźnika przynosi wartość. Z liczbami można ustalić wskaźniki SLA, SLO i SLI, czyli poziom utrzymania, do którego zespół się zobowiązuje.
Zdarzają się firmy, które mówią, że muszą mieć 100% uptime’u. To nierealne. Żartobliwie mówiąc, każda kolejna dziewiątka po przecinku to kolejne zero przed przecinkiem w kosztach, czasem nawet więcej, czasem nie.
Przy takim zobowiązaniu da się zmierzyć, czy kontrakt z biznesem jest spełniony. Potencjalne awarie i przerwy utrzymaniowe można przełożyć na realne finanse organizacji. Czasem wychodzi, że niektóre systemy mogą bez problemu nie działać w pewnym przedziale czasu, a inne są bardziej krytyczne.
Te same pomiary usuwają tarcia między zespołami deweloperskimi, które tłumaczą, że ich system nie działa, bo nie działa inny. Zespół zobowiązuje się, że jego system działa w ustalonym SLA, a development przestaje być narzekaniem, że komuś coś nie działa.
Standardy wdraża zespół platformowy w tle
Organizacja nie musi przed startem sama ustalać, co i jak monitorować. Są uniwersalne standardy i dobre praktyki, które trzeba wdrożyć, zamiast wymyślać koło na nowo. Każda organizacja jest w pewnym stopniu inna, więc standardy trzeba dostosować.
Jeśli masz zespół platformowy, wdraża on w tle kolejne standardy: jak logować, jakie metryki zbierać, jakie poziomy błędów raportować i co ma się znaleźć w logach. Gdy weszło RODO, zespoły miały dużo pracy z usuwaniem z logów imion, nazwisk i danych identyfikujących użytkowników. To był jednorazowy wysiłek, a teraz te zasady trafiają do standardu.
Deweloperzy nie muszą o tym myśleć: nowy system dostaje ustalone elementy oraz biblioteki i raportuje w ustalony sposób. Odpada kosztowny kawałek wytwarzania systemu. Standard jest aktualny i ogólnorynkowy.
Dane z systemów legacy, nowych, rozwijanych i zewnętrznych można zebrać do jednej rury i raportować w zunifikowany sposób. Zamiast kawałków w różnych narzędziach widać całą organizację i wiadomo, co, gdzie i jak się zachowuje.

Rozmawiają

Szymon Warda
Founder, Managing Partner, Technology Advisor.
Szymon Warda jest współzałożycielem Protopii i członkiem programu Grafana Champions. Współprowadzi podcast Patoarchitekci, w którym od 2019 roku rozmawia o systemach rozproszonych, observability i FinOps.
Wszystkie wpisy autora
Mikołaj Szczerbicki
Head of Sales & Business Development.
Mikołaj Szczerbicki jest Head of Sales & Business Development w Protopii i współprowadzi podcast Powered by Protopia. Ustala zakres i wycenę projektów, więc pyta o koszty, ryzyko i czas wdrożeń AI, Azure i Kubernetes.
Wszystkie wpisy autora
FAQ
Jak mierzyć systemy różnych zespołów, które komunikują się ze sobą?
Część rzeczy w komunikacji między systemami można mierzyć także w API Management, na dużo wyższym poziomie.
Jak wyjście z trybu strażaka wpływa na zespół?
Wpływa na retencję pracowników, bo po prostu lepiej się pracuje. Praca od awarii do awarii to nie jest dobre zarządzanie systemami ani czasem zespołu.
Po jakim czasie od wdrożenia organizacja działa inaczej?
Kwartał od wdrożenia to już inna organizacja, która myśli przyszłościowo. Zmiana bierze się z wyjścia z trybu strażaka i ze standaryzacji procesów wytwórczych.
Pełna transkrypcja
00:00 Zapowiedź: system działa wolno dla 2% użytkowników
Szymon Warda: Mając liczby, konkretne zachowania i wiedzę, dla ilu osób system działa wolno — bo zawsze będzie działał wolno, nie oszukujmy się — wiemy jedno: nie wszystkie systemy opłaca się optymalizować do granicy możliwości. Można powiedzieć: zgadza się, system działa wolno, ale dla 2% użytkowników. Jeśli zespół jest w trybie strażaka, musi działać tu i teraz, szybko, żeby działało. Zwykle kosztem jakości. A jeśli cierpi jakość, problem będzie powtarzalny: nie naprawiamy go poprawnie, tylko łatamy tu i teraz, a potem nie mamy czasu, żeby zrobić to dobrze. I to się powtórzy. Przejście na observability daje nam to, że wyprzedzamy problemy. Inwestujemy nie tylko w procesy gaszenia, ale w procesy utrzymaniowe, patrzące do przodu. Mamy więcej zaplanowanego czasu, a awarii jest po prostu mniej.
Mikołaj Szczerbicki: Cześć! Witamy w Powered by Protopia. Jestem Mikołaj Szczerbicki, a dzisiaj jest ze mną Szymon Warda, który w jednym z poprzednich odcinków zapowiedział, że poruszymy temat observability.
Szymon Warda: A co my powiemy, to się ziści.
01:12 Czy mój biznes działa? Monitoring a observability
Mikołaj Szczerbicki: Dokładnie. Szymon, na początku chciałbym postawić się w roli managera, dla którego kluczowe pytanie w ocenie systemu brzmi: czy mój biznes działa, czy nie? Wydaje mi się, że większość słuchaczy powie: dobrze, ale moja infrastruktura jest już monitorowana, więc po co mam słuchać dzisiejszego odcinka? Przekonaj mnie, że warto.
Szymon Warda: Słuchaj, Mikołaj, nieraz widziałem, że każdy twierdzi, że ma jakiś monitoring czy observability. Różnicę jeszcze wyjaśnimy, ale prawie zawsze widziałem taką sytuację: jako manager dostajesz telefon od biznesu, często dość gniewny. Czemu system nie działa od pół godziny? Idziesz do zespołu utrzymania, adminów, DevOpsów, jakkolwiek ich nazwiemy, i pytasz: co się dzieje? A oni: jak to? Widzimy, że wszystko działa. Procesor i RAM są w porządku, to chyba system działa. Jak się czujesz w takiej sytuacji? Bo taką sytuację miałeś albo będziesz miał, i to pewnie prędzej niż później.
Mikołaj Szczerbicki: Myślę, że w tym momencie komuś zaczyna się palić pod stopami.
Szymon Warda: Albo przychodzą flashbacki, kiedy to ostatnio wystąpiło, bo wystąpiło na pewno. Przejdźmy więc do tego, czym różni się monitoring od observability. Monitoring to patrzenie na system z punktu widzenia tego, czy pamięć, procesor, może jeszcze dysk są pełne. Czy to jest w porządku.
Mikołaj Szczerbicki: Czyli poczekaj, observability to nie jest tylko modna nazwa dla tego samego?
Szymon Warda: Nie, to jest coś zupełnie innego. Observability to obserwowalność, czyli właściwie cel, który chcemy osiągnąć: z danych, które mamy, jesteśmy w stanie wywnioskować, jak system się zachowuje i czy jest dobrze. Patrząc na liczby, możemy powiedzieć, co tak naprawdę dzieje się w jego wnętrzu. Będziemy jeszcze mówili, że to nie tylko systemy, ale też procesy. To cała droga, która musi się gdzieś zacząć. Finalnie widzimy, że coś się dzieje, a nawet więcej: widzimy to, zanim zacznie się dziać. Przechodzimy od reaktywności do proaktywności w tym, jak obserwujemy nasze systemy.
03:29 Każdy zespół ze swoimi narzędziami
Mikołaj Szczerbicki: Dobrze, rozumiem już różnicę między monitoringiem a observability. Jak wspomniałeś, mamy administratorów, developerów, opsów, zespoły SRE. Każdy z nich pracuje na swoim kawałku systemu, każdy patrzy w swoje i każdy mówi, że jest dobrze. Jak możemy to usprawnić?
Szymon Warda: A wiesz, co jest najlepsze? Jest awaria, siada DevOps z developerem tego systemu, każdy ze swoimi zabawkami, i zaczyna się „moje, twoje”. Nie są w stanie się dogadać. Każdy z tych zespołów ma swoje systemy. Spójrzmy na to z Twojego punktu widzenia: za to trzeba zapłacić, ludzie muszą się tych narzędzi nauczyć, trzeba je utrzymać. To dodatkowe koszty, które organizacja ponosi, bo ma bałagan: nic nie jest zunifikowane ani scentralizowane, a podczas awarii jedni ją widzą, a drudzy mogą jej nie widzieć. Co więcej, zespoły developerskie w ostatnich latach mocno przyzwyczaiły się do tego, że chcą mieć widoczność. Nie tylko lokalny debugger, ale to, jak system zachowuje się naprawdę. Chcą mieć liczby. Skoro mają swoje narzędzia, same je utrzymują, czyli tracą czas.
Szymon Warda: Proces wytwarzania oprogramowania znowu zwalnia, proces wdrażania znowu zwalnia, bo dochodzą kolejne zabawki, przy których tracimy czas. My idziemy w kierunku: scentralizujmy to i dajmy narzędzia aktualne, zgodne z najnowszym trendem, które faktycznie przynoszą wartość. Kiedy to zunifikujemy, będziemy mogli komunikować się tymi samymi liczbami w wielu departamentach: wytwarzania, utrzymania, monitorowania i tak dalej. Mamy te same liczby, więc możemy mówić liczbami. Mało kto będzie dyskutował, że są inne niż te, które raportujemy, bo to my je zbieramy.
05:43 Liczby zamiast uczuć i mniejsze maszyny
Mikołaj Szczerbicki: Dobrze. Monitoring informuje nas o awarii albo…
Szymon Warda: Jak się uda.
Mikołaj Szczerbicki: …ostrzega przed awarią. Ale mówimy tylko o straszeniu, o złych scenariuszach. Czy są jeszcze inne obszary, w których observability nam pomoże?
Szymon Warda: Bardzo się cieszę, że wychodzisz poza reakcję na awarię. Co jeszcze możemy zrobić? Bardzo dużo. Wspomniałem, że będziemy mieli liczby, a liczby są krytyczne w kilku scenariuszach. W każdej dużej organizacji, w dowolnym systemie, ktoś będzie narzekał, że coś działa wolno. Mając liczby, konkretne zachowania i wiedzę, dla ilu osób działa wolno — bo zawsze będzie działał wolno, nie oszukujmy się — wiemy, że nie wszystkie systemy opłaca się optymalizować do granicy możliwości. Można powiedzieć: zgadza się, system działa wolno, tylko dla 2% użytkowników. Zadajmy sobie pytanie, czy warto wydawać pieniądze, żeby to jeszcze poprawić.
Mikołaj Szczerbicki: Rozumiem, że mówimy o konkretnych przypadkach, które widziałeś.
Szymon Warda: Tak, dokładnie. Dobry stan observability pozwala nam mówić nie o uczuciach, tylko o tym, co się dzieje. W dowolnej sytuacji mówimy: to są liczby, to są nasze dashboardy. Czemu są wartościowe, a czemu czasem śmieszne, jeszcze powiemy. Ale układamy wszystko w liczby.
Mikołaj Szczerbicki: Czyli jako manager biznesowy dostaję oręż, którego mogę używać w dialogu z każdym zespołem.
Szymon Warda: Tak. I to nie tylko w tym dialogu. Częsta sytuacja: infrastruktura, chmurowa czy na Kubernetesie, jest przeskalowana w górę. Przychodzi nowy system i słyszymy, że potrzebuje 20 CPU i 100 GB RAM-u, a potem okazuje się, że korzystamy z 50% tego. Maszynom daje się za dużo zasobów. Mając wykresy, mówimy: w ciągu miesiąca procesor realnie nie przekracza pewnej wartości, podobnie pamięć i dysk. Użyjmy mniejszych maszyn. To bardzo duże oszczędności na infrastrukturze, a im więcej jej mamy, tym łatwiej je osiągnąć.
08:37 Z trybu strażaka do planowania
Mikołaj Szczerbicki: Wspomniałeś o Kubernetesie. Mówiliśmy chwilę o kwestiach biznesowych, wejdźmy teraz głębiej w technikę. Na rynku jest dużo rozwiązań i dużo vendorów, którzy mówią, że ich rozwiązanie jest świetne i zawsze Ci pomoże. Po co więc observability jako całość, a nie konkretne rozwiązanie konkretnego vendora?
Szymon Warda: Zanim do tego przejdziemy, jeszcze jeden kluczowy element wartości: przejście z reaktywności na proaktywność. Jeśli Twój zespół — a to pewnie brzmi znajomo dla większości managerów — jest reaktywny, czyli reaguje na awarie, które już się wydarzyły, to jest w trybie strażaka. Musi działać tu i teraz, szybko, żeby działało. Zwykle kosztem jakości. A jeśli cierpi jakość, problem będzie powtarzalny: nie naprawiamy go poprawnie, tylko łatamy tu i teraz, a potem nie mamy czasu, żeby zrobić to dobrze. I to się powtórzy.
Mikołaj Szczerbicki: Czyli gaszenie od pożaru do pożaru.
Szymon Warda: Od pożaru do pożaru. A wtedy nie jesteś w stanie niczego zaplanować. Mówimy, że w tym kwartale coś zrobimy, kwartał mija, a my nawet tego nie ruszyliśmy. Czemu? Bo cały czas biegaliśmy z wiaderkiem i z taczkami, które często były puste. Robiliśmy dużo, ale nie były to wartościowe rzeczy, tylko reakcja na to, co tu i teraz. Przejście na observability daje nam to, że wyprzedzamy problemy. Inwestujemy nie tylko w procesy gaszenia, ale w procesy utrzymaniowe, patrzące do przodu. Mamy więcej zaplanowanego czasu, a awarii jest po prostu mniej. Mamy czas, żeby zadbać o infrastrukturę i powiedzieć zespołowi developerskiemu: to działa wolno, tu coś źle wykorzystujecie, tu wydajność aplikacji jest zła. Mamy widoczność i możemy szybko powiedzieć, co zrobić, żeby było lepiej, a nie tylko żeby przeżyć kolejny dzień.
Szymon Warda: To oczywiście przekłada się też na retencję pracowników. Po prostu życie jest lepsze. Ale wracając do pytania…
10:26 Trzy filary: metryki, logi, trace'y
Mikołaj Szczerbicki: Jeśli wejdziemy trochę głębiej: czym technicznie jest observability? Z czego się składa?
Szymon Warda: Słuchaj, mówi się o trzech filarach: metrykach, logach i trace'ach. Nazywam je stopniami dojrzałości. Logi ma każdy, lepsze lub gorsze. Czasem widzimy w organizacjach, jak developerzy wchodzą na maszyny i przeglądają logi jak biegające cyferki w Matriksie: o, tu jest błąd. Podziwiam umiejętności, ale w większej skali niekoniecznie są przydatne. Potem metryki, czyli realne liczby, które zbieramy. Możemy ich zbierać naprawdę dużo. I trace'y, które mówią nam, jak cały proces zachowuje się w sensie biznesowym, gdy przepływa przez wszystkie serwisy i mikroserwisy w organizacji. Dzięki nim wiemy, co jak się zachowuje, a co więcej: gdzie warto inwestować czas w optymalizację, która komunikacja działa, a która nie, jaką ma latencję, gdzie się wywala i jaki jest rozkład czasu odpowiedzi. To bardzo ważny element całego Kubernetesa. Czemu o tym mówimy? Żeby dać liczby.
11:37 Koszty vendorów i stos Grafany
Szymon Warda: Liczby są fajne, bardzo lubię liczby. System od vendorów, o których wspomniałeś, to dla średniego zespołu 5–6 cyferek w dolarach rocznie. To brzmi jak dość znaczący koszt.
Mikołaj Szczerbicki: Zależy od wielkości organizacji, ale myślę, że ten rząd wielkości robi na każdym wrażenie.
Szymon Warda: Słuchaj, z naszego doświadczenia: ostatnio rozmawialiśmy z dużym klientem z sektora finansowego — mówię ogólnie, bo nie możemy zdradzać szczegółów. Pokazaliśmy mu możliwości platformy, którą promujemy, bo uznaliśmy, że ma sens. Teraz rozważa wycofanie się od jednego z wielkich dostawców, ponieważ jego rachunek to już nie 6 cyferek, tylko 7 i 8 cyferek w dolarach rocznie. Ucięcie takiego kosztu to sukces, którym każdy może zabłysnąć, powiedzmy sobie szczerze. Kilka lat temu były też publikacje, z których wynikało, że organizacje płaciły 15 i 50 milionów dolarów rocznie za systemy observability. To znaczące koszty, które każda organizacja zauważy. A czemu w ogóle o tym mówimy? Z bardzo prostego powodu. Wspomniałeś o Kubernetesie. Mówimy o platformie opartej na stosie Grafany, która integruje się z nim natywnie. Jeśli pójdziesz do zespołu developerskiego i powiesz, że będziecie mieli tę platformę, usłyszysz…
Szymon Warda: …przybij piątkę, znamy to. Jeśli pójdziesz do zespołu SRE, będą wiedzieli, o jaki system chodzi, bo z niego korzystają. Gwarantuję Ci, że jak poszukasz, znajdziesz go w organizacji. Tylko pewnie gorzej utrzymany, nie do końca ogarnięty i niewdrożony procesowo. To systemy, które są standardem rynkowym: od Kubernetesa po gigantów chmurowych, hyperskalerów, o których wspominał Łukasz.
13:26 Pułapka „magicznego” narzędzia i OpenTelemetry
Mikołaj Szczerbicki: Czyli observability na rozwiązaniach open source daje radę Twoim zdaniem?
Szymon Warda: Daje radę, a nawet więcej niż daje radę. Korzystają z tego hyperskalerzy, a Kubernetes integruje się z tym natywnie. To droga, którą należy iść. Wiadomo, ma to swoje kłopoty. Ale nie jest też tak, że pójdziemy do vendora, zapłacimy i wszystko będzie działać. Mieliśmy przypadek u klienta, który włączył takie observability na swoim klastrze i cały system się złożył. Wszystko przestało działać. Okazało się, że automatyczne observability w tym bardzo znanym rozwiązaniu wpinało się w miejsce, w które nie powinno, i system momentalnie przestał działać. Dojście do przyczyny zajęło dwa dni. Słaby scenariusz, ale tak często działają magiczne rozwiązania, które obiecują za dużo, a potem nie dowożą, bo nie mogą.
Mikołaj Szczerbicki: Wracając do tego, od czego zacząłem: z punktu widzenia managera najważniejsze jest dla mnie, żeby biznes działał.
Szymon Warda: Żeby działał przewidywalnie. A przewidywalnie to nie znaczy, że podbijasz wersję systemu do monitorowania i nagle Twojego biznesu nie ma przez cały dzień, a nikt nie wie czemu. Obiecanki są różne i przy takich kwotach każdy obieca bardzo dużo. My mówimy prosto: będzie to wymagało części pracy po stronie aplikacji i pewnych zmian. Tych zmian jest coraz mniej. Im więcej pracy wykonamy, tym więcej wartości dostaniemy. Trzeba wejść w aplikację, żeby złapać kontekst, ale to się opłaca długofalowo. Magia u vendorów, którzy biorą za to wielkie pieniądze, polega na tym, że mówią: wszystko będzie działało. No nie do końca. Doskonale wiemy, że wdrożenie każdego systemu kosztuje. Nasza propozycja jest taka: zróbmy to raz, a dobrze. Czemu raz? Bo na rynku są standardy takie jak OpenTelemetry, które zawładnęły światem observability. Stały się standardem. Co więcej, duzi vendorzy korzystają z tego standardu, żeby integrować się z aplikacjami.
Szymon Warda: To już dużo mówi. Możemy wejść w rozwiązania open source, które nie dość, że świetnie się skalują i są opłacalne kosztowo, to jeszcze łatwo je utrzymać. Tę trójkę bardzo miło usłyszeć, a możemy z nią zrobić bardzo dużo.
16:03 Więcej niż dashboardy: alerty, anomalie, shift left
Mikołaj Szczerbicki: Kiedy tego słucham, widzę przede wszystkim, że observability to nie tylko dashboardy ze wszystkich systemów, które pokazują piękne wykresy i mnóstwo wartości, błyszczą się i migają wszystkimi kolorami. Poza samą platformą to także zmiana nawyków organizacji, tak?
Szymon Warda: Słuchaj, dotknąłeś dwóch bardzo ważnych tematów. Zawsze śmieję się, kiedy wchodzę do organizacji — a widzieliśmy już niejedno — i widzę cztery, pięć, sześć albo więcej monitorów z ładnymi wykresami. Wtedy wiem, że to choinka, która ładnie wygląda na pokaz, a nikt z niej nie korzysta. Czemu? Bo jak wykres spada, jest już po fakcie. My mówimy inaczej: chodzi o bycie proaktywnym. Mamy alerty, możemy powiadomić, że coś wydarzy się za dzień, za dwa, za jakiś czas. Wokół techniki budujemy procesy, dzięki którym organizm organizacji działa lepiej. Nie będę się oszukiwał: samą techniką nie rozwiążemy tematów miękkich. Dlatego kiedy doradzamy klientom, technika to jedno, czyli dajemy możliwości realizowania procesów. Potem mówimy: macie możliwości, korzystajcie z nich. Teraz wdrażamy alerting, teraz wykrywamy anomalie, czyli widzimy, że coś zaczyna się chyba psuć.
Szymon Warda: Może się temu przyjrzyjmy. To nie jest tak, że masz jedną metrykę. Systemy produkują czasem dziesiątki tysięcy różnych metryk, więc trzeba umieć odsiać. Inaczej to próba picia z hydrantu: można stracić zęby. My pokazujemy, jak z tego realnie korzystać i co robić dalej. Takie narzędzia umożliwiają też procesy reagowania i bardzo popularny teraz ruch, czyli shift left. Nie jest tak, że zespół utrzymania ma swoje zabawki, a developerzy nie wiedzą, co z tym zrobić. Mówimy developerom: tak Wasz system zachowuje się na produkcji, przyjrzyjcie się, bo to jedno zunifikowane narzędzie, jeden system. Nie ma „works on my machine”, czyli „na mojej maszynie działa”. Mówimy: tak jest na produkcji i nie ma co dyskutować. Mamy liczby, mamy zapytania SQL, które się wykonują, mamy wszystko. I nagle okazuje się, że to wygląda inaczej, więc zróbcie coś z tym. Albo wiemy, że jest dobrze.
Szymon Warda: Nie ma sensu dalej poprawiać wydajności, bo na produkcji działa bardzo dobrze.
18:47 SLA, SLO, SLI i jeden język zespołów
Mikołaj Szczerbicki: Wydaje mi się, że to jedna z ważniejszych rzeczy, przynajmniej dla osób, które patrzą z biznesowego punktu widzenia. Rozmawialiśmy kiedyś prywatnie o tym, że poprawianie wszystkich wskaźników na siłę może się po prostu nie opłacać.
Szymon Warda: Tak, dokładnie. Warto inwestować pieniądze tam, gdzie to ma sens i gdzie będzie wartość. Tej wartości nie zmierzymy jednak, dopóki nie będziemy mieli liczb, które powiedzą nam, czy doszliśmy do optymalnego poziomu. Idźmy kawałek dalej. Mówiliśmy o adminach i tak dalej, mamy liczby, możemy coś powiedzieć developerom. A Ciebie interesuje, jak to będzie działało z biznesem. Kiedy mierzymy, możemy ustalić coś krytycznego, czyli wskaźniki SLA, SLO i SLI. Możemy powiedzieć, do jakiego poziomu utrzymania się zobowiązujemy. Rozmawialiśmy z firmami, które mówią, że muszą mieć uptime 100%. Odpowiadamy, że to nierealne. Przy 99,99% mówimy o godzinach. Dodam jeszcze jedną dziewiątkę i mówimy o minutach w skali roku.
Mikołaj Szczerbicki: Zawsze się śmieję, że jak dokładamy kolejną dziewiątkę po przecinku, to w kwocie wydawanych pieniędzy musimy dokładać kolejne zero przed przecinkiem.
Szymon Warda: Czasem nawet więcej, im dalej idziemy.
Mikołaj Szczerbicki: Możemy to zanotować.
Szymon Warda: Tak, dokładnie. Ale ważne jest to, że dajemy jasną świadomość, do czego się zobowiązujemy. Umiemy to zmierzyć i powiedzieć, czy kontrakt wobec biznesu był spełniony, czy nie. Możemy też przełożyć potencjalne awarie albo przerwy utrzymaniowe na realne finanse organizacji. Czasem wyjdzie, że niektóre systemy mogą nie działać w pewnym przedziale czasu, bo nie ma z tym problemu, a inne są bardziej krytyczne. Nagle mamy dyskusję opartą na liczbach. Co dalej? Mówimy nie tylko o biznesie. Usuwamy też tarcia między developerami: ten system nie działa, bo tamten, bo my nie możemy, bo tamten nie działa. Mówimy: dobrze, zmierzmy to w ramach systemów, które się ze sobą komunikują. Rozmawialiśmy z Markiem o API Management, prawda? Tam też możemy mierzyć pewne rzeczy na dużo wyższym poziomie.
Mikołaj Szczerbicki: Czyli dzięki temu różne zespoły mogą rozmawiać jednym językiem.
Szymon Warda: Tak. Zespół mówi: zobowiązujemy się, że nasz system będzie działał w takim SLA, niezależnie od innych systemów. Nasz proces developmentu przestaje być narzekaniem, że komuś coś nie działa. Mówimy: takie było zobowiązanie, na to się zgadzamy, a organizacja mówi, że to jest w porządku. To kolejne kroki. Co więcej, tworzymy pętlę zwrotną. Developerzy wdrażają nową wersję i nie dowiadują się za kwartał, że coś działa albo nie działa, albo działa wolno. Mówimy: wdrożyliście wersję, a dzień później widzicie, jak się zachowuje. Jest dobrze albo niedobrze. Możemy też wdrożyć częściowo i patrzeć, jak zachowuje się ruch. W systemach krytycznych, tam gdzie ma to sens, bo nie oszukujmy się: nie wszędzie będziemy robili takie rozbudowane wdrożenia, bo to się nie opłaca. Ale gdzieniegdzie ma to wartość.
Szymon Warda: Mierząc, możemy powiedzieć, czy nowsza wersja jest gorsza, czy lepsza. Dzięki temu czas wykrycia regresji jest dużo, dużo krótszy. Dokładnie wiemy, co się wydarzyło.
22:09 Standardy i zespół platformowy
Mikołaj Szczerbicki: Nasuwa mi się jeszcze jedno pytanie: w którym momencie organizacja musi na nie odpowiedzieć? Czy zanim zdecydujemy się zbudować całą platformę i wdrożyć nowe procedury i zasady, musimy wiedzieć, co i w jaki sposób chcemy monitorować, ustalić to i dopiero od tego punktu wszystko budować? Czy odwrotnie: najpierw sprawdzamy, co możemy zobaczyć, a na końcu mówimy, że wyznaczamy standardy i od teraz będziemy je stosować?
Szymon Warda: Słuchaj, jest takie fajne zdanie Tołstoja: wszystkie udane małżeństwa są do siebie podobne, a wszystkie nieudane są unikalne. Możemy wymyślać koło na nowo i mówić, że u nas będzie inaczej. Ale są standardy i dobre praktyki, które są uniwersalne i które trzeba wdrożyć. Narzędzia, które proponujemy, dają pewne możliwości, a na bazie tych możliwości muszą wejść dobre praktyki. One są uniwersalne. Oczywiście każda organizacja jest w pewnym stopniu inna i to kwestia dostosowania. Nie powiedzieliśmy jeszcze, że przy takiej platformie może działać zespół platformowy, który w tle wdraża kolejne elementy, żeby żyło się lepiej. Wdrażamy standardy: jak logujemy, jakie metryki zbieramy, jakie poziomy błędów raportujemy, co tak naprawdę jest w logach. Pamiętamy, jak wchodziło RODO i trzeba było magicznie usuwać z logów imiona, nazwiska i dane identyfikujące użytkowników. Ile było z tym roboty! To był jednorazowy strzał, a teraz mówimy: standaryzujemy to i wiemy, jak się zachowujemy.
Szymon Warda: Nagle nie chodzi tylko o to, że systemy do monitorowania i observability zachowują się lepiej. Developerzy nie muszą o tym myśleć. Mówią: robimy nowy system, musi mieć takie elementy, korzystamy z takich bibliotek, tak raportujemy. I co? Ten kawałek tortu, który jest kosztowny przy wytwarzaniu systemu, odchodzi. Wiedzą, że to nasz standard, a nawet standard ogólnorynkowy, aktualny, i wiemy, jak go wdrożyć. Co więcej, możemy zrobić przelotki, żeby zbierać dane także z systemów legacy. Nowe systemy, stare, te w trakcie developmentu i zewnętrzne możemy zbierać w jedną rurę i raportować w zunifikowany sposób. Nie jest tak, że ten system widzimy w jednym narzędziu, tamten w innym, a każdy ma inny kawałek tortu. Mamy spojrzenie na całą organizację i dokładnie wiemy, co, gdzie i jak się zachowuje. To bardzo potężny mechanizm, który daje całościowy obraz, zamiast pytania po kawałku różnych działów.
24:57 Podsumowanie: wartość biznesowa observability
Mikołaj Szczerbicki: Jeśli dobrze zrozumiałem wszystko, co powiedziałeś, observability naprawdę mi się podoba, bo jest bardzo kompleksowe. Daje organizacji dużo więcej niż zbiór narzędzi: całą kulturę pracy z nimi, a z nią spokój, bezpieczeństwo i unifikację. Nie tylko dashboardy i alerting po fakcie, ale dużo lepszą obserwowalność.
Szymon Warda: Tak. Stajemy się proaktywni w każdym obszarze: nie tylko w zespole platformowym, nie tylko u developerów, nie tylko wobec biznesu. Wszystko całościowo. To daje bardzo duże możliwości i jest punktem wyjścia do dalszej iteracji. Ponieważ nie opieramy się na zamkniętym narzędziu, korzystamy z ogromnej wiedzy użytkowników całego ekosystemu. Dobre praktyki możemy czasem po prostu wdrożyć dzięki zewnętrznym komponentom, które ktoś rozwija. To bardzo potężne. To punkt konieczny, żeby budować dalej. Oczywiście nie rozwiąże wszystkich problemów. W przyszłym odcinku będziemy mówili o bardzo wyspecjalizowanych problemach i narzędziach, które pomagają jako ostatnia deska ratunku. Kiedy nie mamy się już czego złapać, włączamy je i, jak mówi młodzież, kopara opada.
Mikołaj Szczerbicki: Nie wiem, czy chcesz już dzisiaj zdradzić, jaki to będzie temat.
Szymon Warda: Potrzymam w napięciu. Będziemy mówili o bardzo wielu rzeczach. Observability daje spokój i porządek w obszarze, o którym zwykle nie chcemy myśleć, i sprawia, że nie żyjemy od awarii do awarii. Takie życie to nie jest dobre zarządzanie ani systemami, ani czasem pracowników.
Mikołaj Szczerbicki: Szymon, zrób na koniec naprawdę krótkie podsumowanie observability.
Szymon Warda: Dobrze. Gdzie jest tak naprawdę jego wartość? Bo o to pytasz?
Mikołaj Szczerbicki: Tak, o wartość biznesową.
Szymon Warda: Jego wartość polega na tym, że wychodzimy z trybu strażaka, czyli możemy planować czas. Wiemy, że awaria się wydarzy, i to my możemy zadzwonić do biznesu i powiedzieć: coś się dzieje z systemem, pracujemy nad tym. Wyobraź sobie, jak zupełnie inna to rozmowa. Nawet jeśli awaria będzie poważna, a może się tak zdarzyć, to my dzwonimy i informujemy. To zupełnie inna sytuacja. Druga wartość to standaryzacja wokół procesów wytwórczych: tego, jak wytwarzamy, naszych procesów i zachowań wokół systemu. Budujemy wartość z każdym dniem, a nie tylko spalamy czas na bieżące sprawy. Dla mnie to ogromne rzeczy, bo kwartał po wdrożeniu jesteśmy tak naprawdę inną organizacją. Taką, która myśli przyszłościowo, a nie próbuje przeżyć tu i teraz, obecny dzień, i wypala się nie wiadomo jak.
Mikołaj Szczerbicki: Szymon, bardzo Ci dziękuję. Mam wrażenie, że nie tylko dla mnie, ale dla wielu naszych słuchaczy to będzie bardzo pouczające i temat observability trochę im się rozjaśni. Tak jak w przypadku agentów AI, o których rozmawiałem z Łukaszem w jednym z poprzednich odcinków, to nie jest tylko modne słowo, ale coś, co w wielu organizacjach będzie dużym game changerem.
Szymon Warda: Wydaje mi się, że tak, i nieraz widzieliśmy to u klientów. Słuchajcie…
Mikołaj Szczerbicki: Dzięki wielkie. Pozdrawiamy, cześć!
Szymon Warda: Na razie, hej!

