Stack Grafana, który zbudowałem i utrzymuję
Platforma observability, którą zaprojektowałem, zbudowałem i utrzymuję. Obejmuje metryki, centralne logowanie, własne collectory i procesy operacyjne zarządzane jako kod.
Opis projektu / Projekt własny
Ranking 63 ról IT, który zaczął się w Excelu, a teraz działa jako aplikacja webowa. Wagi można zmieniać, każda liczba ma podane źródło, a dane rynkowe pochodzą z oficjalnego API SOLID.Jobs.
Otwórz Career RadarJakiś czas temu zrobiłem arkusz, który porównywał role IT w Polsce pod kątem zarobków, odporności na AI, popytu, stresu, progu wejścia, pracy zdalnej i prestiżu. Działał, ale trudno było go przeglądać i komuś pokazać. Większość liczb to były moje szacunki i nic nie mówiło, które pochodzą z rynku.
Wszystko, od modelu danych po wydanie. Ustaliłem sposób liczenia wyniku, oznaczenia źródeł i zasady zbierania danych rynkowych, a potem zbudowałem aplikację oraz skonfigurowałem hosting i wdrażanie. Narzędzia AI pomagały w implementacji, a każda zmiana przechodziła przez mój przegląd.
Dane rynkowe pochodzą tylko z oficjalnego API SOLID.Jobs. Inne portale z ogłoszeniami zabraniają automatycznego pobierania albo jasno na nie nie pozwalają, więc zostają poza projektem, dopóki któryś nie zgodzi się na piśmie. Nie ma tu scrapowania. Zapisywane są tylko dane zbiorcze, nigdy treści ogłoszeń ani dane osobowe. Role z mniej niż dziesięcioma ogłoszeniami pokazują dane swojej kategorii zamiast niepewnych liczb.
Aplikacja to statyczna strona w Astro, napisana w TypeScript. Na Cloudflare działają osobne Workery dla STAGE i produkcji, a STAGE jest za Cloudflare Access z jednorazowym kodem wysyłanym mailem. Skrypt pobierający dane odpytuje API z przerwami między zapytaniami, przypisuje stanowiska do ról i przed zapisem porównuje pokrycie oraz zmiany z poprzednim pobraniem. Na razie uruchamiam go ręcznie i sprawdzam wynik. Azure Pipelines weryfikuje każdą zmianę, wdraża STAGE, uruchamia testy smoke i czeka na moją akceptację przed produkcją.
Career Radar działa publicznie pod adresem radar.piwowarpawel.com. Są tam wszystkie 63 role z arkusza, z regulowanymi wagami, stronami ról, mapą przejść między rolami i opisem metodologii. Każda liczba ma etykietę, która mówi, czy to szacunek, wartość wyliczona, dane z ogłoszeń czy dane mieszane. Interfejs jest na razie po polsku, a wersja angielska jest w planach.
Uczciwe pokazanie danych wymaga więcej pracy niż rysowanie wykresów. Najwięcej czasu zajęły oznaczenia źródeł, minimalna liczba ogłoszeń i sprawdzenie, na co pozwala każdy portal. Następne w kolejce są cotygodniowe pobieranie danych w pipeline i kolejne źródła z publikowanych raportów.
Platforma observability, którą zaprojektowałem, zbudowałem i utrzymuję. Obejmuje metryki, centralne logowanie, własne collectory i procesy operacyjne zarządzane jako kod.
Produkcyjna migracja z centrum danych na VMware do Azure i IONOS. W trakcie systemy musiały działać, a po przeniesieniu trzeba było zadbać o rozmiary maszyn i koszty.
Kontakt
Chmura hybrydowa, observability, automatyzacja albo ciekawy problem techniczny.