Transformacja TransRisk - budowa skalowalnej i bezpiecznej architektury mikrousług

O projekcie

Klient:

Trans.eu – wiodący dostawca rozwiązań IT dla branży transportowej, oferujący platformę umożliwiającą zarządzanie zleceniami transportowymi. W ramach platformy rozwijany jest wskaźnik TransRisk, system oceniający wiarygodność finansową kontrahentów na podstawie danych historycznych. Jego celem jest zmniejszenie ryzyka współpracy z nierzetelnymi partnerami biznesowymi.

Cel projektu:
Migracja systemu do nowoczesnej architektury mikroserwisowej oraz stworzenie wersji 2.0 wskaźnika TransRisk, opartej na bardziej wydajnych technologiach. Projekt miał zapewnić większą elastyczność, skalowalność i bezpieczeństwo systemu oraz poprawić proces obliczania wskaźników.

Doświadczenie klienta

Tak duża liczba zmiennych i chęć ciągłego doskonalenia algorytmu stanowią ogromne wyzwanie. Dlatego bardzo cenię sobie współpracę z fireup.pro w zakresie stałego rozwoju rozwiązania.

Grzegorz Szydłak

Product Owner

Buckle
Od wyzwania

Kluczowe wyzwania

1

Migracja do mikroserwisów

Migracja rozpoczęła się w wersji 1.0 TR. Dla v2.0 podstawowa motywacja działań to brak wsparcia dla ES 2.0, z czym wiązało się zagrożenie bezpieczeństwa, jak również zwiększone koszty infrastruktury.

2

Migracja źródeł danych

Wraz z rozwojem platformy klienta pojawiła się potrzeba uwzględnienia nowych źródeł danych, dostarczanych przez mikroserwisy.

3

Optymalizacja wskaźnika TransRisk

Poprawa dokładności obliczeń oraz szybkości działania wskaźnika, który wspiera użytkowników w ocenie wiarygodności kontrahentów.

4

Weryfikacja wyników

Przejście na nową architekturę wymagało porównania wyników generowanych przez wersję 1.0 i 2.0, co stanowiło duże wyzwanie dla zespołu.

Kluczowe wymagania funkcjonalne i niefunkcjonalne

Obliczanie wskaźnika na podstawie algorytmu dostarczonego przez klienta, uwzględniającego aktywność kontrahentów na giełdzie oraz ich historię finansową.

Zapewnienie harmonogramu codziennych obliczeń z obsługą błędów.

Skalowalność i elastyczność systemu w celu obsługi rosnącej liczby użytkowników.

Przez rozwiązanie

Proces realizacji

Projekt został zrealizowany iteracyjnie z zastosowaniem metodyki Scrum. Kluczowe etapy obejmowały:

  • Zapoznanie się z algorytmem klienta i jego doprecyzowanie. with the client's algorithm and refining it.
  • Migrację danych ze starego systemu do nowego.
  • Tworzenie i weryfikację automatycznych testów oraz końcową walidację wyników.
  • Stopniowe wdrożenie nowego systemu z równoległą analizą porównawczą wersji 1.0 i 2.0.

Innowacje i technologie

  • Wprowadzenie przetwarzania batchowego oraz integracji z Kafką, co pozwoliło na efektywniejsze zarządzanie strumieniami danych.
  • Zmiana bazy danych z ElasticSearch na PostgreSQL, co zwiększyło wydajność i bezpieczeństwo systemu.
  • Użycie nowoczesnego frameworka Quarkus zaprojektowanego specjalnie na potrzeby mikroserwisów i konteneryzacji.
Po sukces

Efekty technologiczne

Skrócenie czasu przetwarzania wskaźnika

z 3 godzin w wersji 1.0 do 1 godziny w wersji 2.0.

Zmniejszenie kosztów infrastruktury

dzięki wydajniejszej technologii użytej do implementacji mikroserwisu i zmianie bazy danych

Zwiększona skalowalność

Intuicyjna obsługa i nowoczesny interfejs.

Lepsze bezpieczeństwo

Eliminacja zagrożeń związanych z brakiem wsparcia dla ElasticSearch 2.0.

Poprawa wydajności

Poprawienie wydajności dzięki nowej architekturze.

Korzyści biznesowe

Usprawnienie procesu oceny wiarygodności kontrahentów.

Zmniejszenie ryzyka związanego z nierzetelnymi partnerami biznesowymi.

Projekt potwierdził wartość długoterminowej współpracy z klientem, umożliwiając zespołowi dokładne zrozumienie jego potrzeb.


Zespół projektowy
Abstract background
Aleksander
Jacek
Mikołaj
Emanuel

Aleksander

Team Leader

Odpowiedzialny za szczegółową analizę i doprecyzowanie algorytmu dostarczonego przez klienta, co stanowiło fundament projektu.
Koordynował prace związane z migracją danych ze starego systemu do nowej architektury mikroserwisowej.
Zarządzał projektowaniem mikroserwisów, angażując się aktywnie w proces ich implementacji.
Współpracował przy integracji systemu z Kafką, zapewniając płynność i efektywność przepływu danych.
Przeprowadził końcową walidację wyników, współpracując z zespołem TransRisk.
Kierował iteracyjnym wdrażaniem nowego systemu, w tym równoległą analizą porównawczą wersji 1.0 i 2.0.
Angażował się w optymalizację wydajności systemu oraz dalszy rozwój jego funkcjonalności.
Pełnił kluczową rolę w organizacji pracy zespołu, zapewniając efektywną komunikację i realizację celów projektu.

Kluczowe kompetencje zespołu

  • Znajomość Kafki
  • Doświadczenie w migracji danych
  • Doświadczenie w tworzeniu architektury mikroserwisowej

Tech stack

Java 11

Spring

ElasticSearch 2.0

RabbitMQ

JUnit 4

Maven

Python

Quarkus

PostgreSQL

Kafka

Serenity

Gradle

Cucumber

Git

GitLab

Jenkins

Twoja sukces to nasz sukces!

Zobacz, jak możemy wspólnie zbudować technologiczną przewagę dla Twojej firmy

Umów się na konsultację!

Mamy zespół, który naprawdę zna się na rzeczy — pomożemy Ci znaleźć rozwiązanie, które działa.

Background

Czas na Twój projekt!

Przekształć idee w rzeczywiste rozwiązanie i skontaktuj się z nami.

Twoja wizja, nasza realizacja
Napisz, omówimy szczegóły.

Wyrażam zgodę na przetwarzanie moich danych osobowych przez Fire ...