SellTracking
SellTracking
Firma
SellTracking to kompleksowy system przygotowany dla firmy Vehis, który wykorzystuje moduły GPS montowane w pojazdach, aby zapewnić monitorowanie i śledzenie aut. Rozwiązanie wspiera zarówno pojedyncze pojazdy, jak i duże floty samochodowe. Dzięki SellTracking klienci i pracownicy otrzymują w czasie rzeczywistym informacje o lokalizacji pojazdów oraz stanie floty, co ułatwia utrzymanie kontroli i podejmowanie trafnych decyzji operacyjnych. Informacje o aktualnej lokalizacji pojazdów w leasingu są dostarczane w czasie rzeczywistym.
Firma Vehis zdecydowała się na migrację swojego środowiska stand-alone na środowisko oparte na Kubernetesie (k8s). Decyzja ta wynikała głównie z wyzwań związanych z wydajnością oraz skalowalnością istniejącego środowiska. Cała infrastruktura pod system SellTracking była niewydajny dla tak dużej skali samochodów. W celu poprawy wydajności oraz zapewnienia stabilności infrastruktury, zdecydowano się na migrację na mocniejsze fizyczne serwery oraz implementację Kubernetesa przy użyciu dystrybucji RKE2.
Projekt
Celem było zbudowanie stabilnej i skalowalnej platformy, która utrzyma jakość usług monitoringu nawet przy gwałtownym wzroście floty, a także umożliwi dalszą rozbudowę o nowe moduły i funkcjonalności. Taka architektura jest niezbędna, gdy rozwiązanie ma wspierać nie tylko monitoring GPS, lecz także zaawansowane monitorowanie parametrów jazdy i eksploatacji, takich jak prędkość pojazdu, obroty silnika czy zużycie paliwa. Dane te, obok lokalizacji, stanowią podstawę do optymalizacji, planowania tras oraz oceny stylu jazdy i zgodności zachowań kierowców z polityką bezpieczeństwa i kosztową firmy.
Migracja na wydajniejsze serwery fizyczne oraz wdrożenie Kubernetesa z wykorzystaniem dystrybucji RKE2 pozwoliły zwiększyć wydajność, poprawić stabilność i zapewnić spójne działanie usług w czasie rzeczywistym.
Cele projektu
Zwiększenie wydajności i stabilności środowiska SellTracking poprzez migrację na Kubernetesa oraz przygotowanie infrastruktury pod monitoring pojazdów GPS na dużą skalę.
Zapewnienie skalowalności wraz ze wzrostem liczby pojazdów, tak aby monitoring i śledzenie działały w czasie rzeczywistym bez przestojów.
Zapewnienie wysokiej dostępności usług dla klientów i pracowników, aby możliwe było bieżące monitorowanie i szybka reakcja w przypadku awarii, zdarzeń drogowych lub potrzeb operacyjnych.
Kubernetes wspierający monitoring GPS w czasie rzeczywistym
Kluczowym elementem projektu było zbudowanie architektury klastra Proxmox na serwerach fizycznych. Infrastruktura składała się z 6 maszyn wirtualnych oraz 3 klastrów. Najważniejsze komponenty obejmowały: 3 węzły master, 3 węzły worker oraz 3 węzły bazodanowe działające niezależnie poza klastrem. Taki układ zapewnił stabilne zasoby do przetwarzania strumienia danych GPS oraz umożliwił sprawniejsze zarządzanie obciążeniem, co ma kluczowe znaczenie dla systemów dostarczających dane w czasie rzeczywistym wielu użytkownikom.
Priorytetem stało się zarządzanie bazą danych, dlatego zastosowano PostgreSQL Patroni. Dzięki temu zapewniono wysoką dostępność, integralność oraz bezpieczeństwo danych, a redundancję wzmocniono przez uruchomienie instancji w trybie failover. Dodatkowo trzy serwery etcd pełniły rolę warstwy koordynacyjnej, nadzorując synchronizację i wybór lidera (master). Takie podejście zwiększa odporność na awarie i ogranicza ryzyko przerw w monitoringu, co jest szczególnie istotne, gdy flota wymaga stałego podglądu lokalizacji, historii tras oraz parametrów jazdy.
Architektura mikroserwisów dająca pełną kontrolę w monitorowaniu pojazdów GPS
Architektura mikroserwisowa opiera się na uruchamianiu wielu replik usług równolegle, co zapewnia wysoką dostępność i stabilność. Wdrożenie wielu replik umożliwia ciągłość działania nawet w przypadku awarii jednego z serwerów, pozostałe instancje przejmują ruch, dzięki czemu monitoring i śledzenie pozostają aktywne.
Takie podejście wspiera również rozbudowę platformy o kolejne funkcjonalności, np. automatyzację alertów i powiadomień, analitykę stylu jazdy, raporty wykorzystania floty czy mechanizmy pozwalające identyfikować oszczędności w zużyciu paliwa i w całkowitym koszcie utrzymania floty.
Wyzwania w monitorowaniu pojazdów
Podczas wdrożenia Kubernetesa zespół Core Logic mierzył się z wyzwaniami migracyjnymi oraz optymalizacją infrastruktury przy dużej liczbie operacji. W trakcie przenoszenia usług część zleceń była kolejkowana, co wymagało szybkich działań i dopasowania parametrów środowiska do specyfikacji sprzętowej.
Istotnym elementem był Artemis jako system kolejkowy, który należało zoptymalizować pod uruchomienie w klastrze, aby przesyłanie danych z GPS i przetwarzanie informacji o pojazdach było stabilne. W systemach monitorowania kluczowe jest utrzymanie spójności danych lokalizacji i telemetrii, ponieważ od tego zależą: kontrola operacji, szybka reakcja w razie awarii oraz wiarygodność danych historycznych (np. historii tras czy odczytów prędkości).
Rezultaty
- Kubernetes znacząco poprawił wydajność i stabilność środowiska SellTracking, co przełożyło się na wyższą niezawodność usług monitoringu.
- Wdrożenie Kubernetesa ułatwiło skalowanie infrastruktury wraz z rozwojem firmy i wzrostem liczby pojazdów, utrzymując monitoring GPS i śledzenie w czasie rzeczywistym.
- Klaster zapewnił wsparcie dla procesów biznesowych związanych z zarządzaniem flotą i monitorowaniem pojazdów, dając pełną kontrolę nad usługami i zasobami.
- Zastosowanie klastra bazodanowego PostgreSQL z Patroni wzmocniło bezpieczeństwo, integralność i ciągłość danych, również w przypadku awarii.
- Nowa infrastruktura umożliwia przetwarzanie ok. 1 000 000 ramek dziennie zawierających informacje o pojazdach (lokalizację, parametry jazdy, np. prędkość, oraz zdarzenia operacyjne), co wspiera podejmowanie decyzji, optymalizację i planowanie tras oraz realne ograniczanie kosztów operacyjnych floty.