Modernizacja platformy SaaS — od serwera aplikacyjnego sprzed dekady do pełnego DevOps
Platforma danych motoryzacyjnych dla rynku amerykańskiego działała na serwerze aplikacyjnym sprzed kilkunastu lat i była budowana ręcznie. Przenieśliśmy ją na nowoczesny stos, zbudowaliśmy nowe interfejsy dla klientów i zespołu oraz pełny proces CI/CD na własnym klastrze Kubernetes.
- środowiska — test, beta, canary, produkcja
- 4
- testy automatyczne w modernizowanej usłudze
- 0 → 200+
- aplikacji na własnym klastrze
- ~20
- panel administracyjny dla wszystkich narzędzi wewnętrznych
- 1
Punkt wyjścia
Platforma udostępnia dane o pojazdach przez API i panel klienta. Jej rdzeń działał na serwerze aplikacyjnym, którego ostatnia wersja ukazała się kilkanaście lat temu. Budowa i wdrożenie były ręczne: kompilacja „ad hoc”, kopiowanie artefaktów, restart. Każda zmiana wymagała osoby, która pamiętała, jak to zrobić — i odwagi.
Co zrobiliśmy
Modernizacja rdzenia bez zatrzymywania biznesu. Usługę przepisaliśmy na Spring Boot, zachowując wszystkie istniejące protokoły (REST i SOAP) oraz cztery mechanizmy uwierzytelniania używane przez klientów. Zanim przełączyliśmy pierwszego klienta, zbudowaliśmy testy porównawcze: te same żądania trafiały do starego i nowego systemu na wspólnej bazie, a wyniki — odpowiedzi, rozliczenia, stan bazy — były porównywane automatycznie. Ruch przełączaliśmy stopniowo, przez wydanie canary, z możliwością natychmiastowego powrotu.
Nowe interfejsy. Nowy panel klienta (Next.js, GraphQL) z kontem, płatnościami, uwierzytelnianiem OAuth2 i MFA. Nowy panel administracyjny, który stał się jedynym miejscem pracy zespołu: obsługa klientów, system kuponów, raporty, a później także zadania procesów BPM.
Integracje. Kilku zewnętrznych dostawców danych z mechanizmem przełączania awaryjnego, CRM i system księgowy połączone przez Apache Camel, procesy biznesowe w silniku BPM.
Pełny DevOps. Każde repozytorium ma pipeline: build, testy, obraz, wdrożenie. Cztery środowiska — test, beta, canary i produkcja — działają na klastrze Kubernetes, który zbudowaliśmy i utrzymujemy na własnym sprzęcie. Certyfikaty, DNS i monitoring są zautomatyzowane.
Praca z agentami AI. Modernizację prowadzimy z agentami AI jako stałą częścią warsztatu. W głównej usłudze liczba testów wzrosła od zera do ponad dwustu, a dokumentacja techniczna — od zera do kilkudziesięciu dokumentów, w tym planów migracji i opisów decyzji architektonicznych.
Efekt
- Wdrożenie zmiany to dziś minuty i jeden pipeline, a nie dzień pracy.
- Nowe usługi trafiają na produkcję w dniach — np. silnik procesów BPM w cztery dni od pierwszego commita.
- Stary i nowy system działały równolegle do momentu, w którym testy porównawcze potwierdziły zgodność. Klienci nie musieli niczego zmieniać po swojej stronie.
Powiązane teksty
2026-10-10
AI nie psuje kodu. W rękach architekta podnosi jego jakość
Rynkowa opinia mówi, że modele językowe zalewają repozytoria kodem gorszej jakości. Nasze doświadczenie z modernizacji dużej platformy jest odwrotne — pod jednym warunkiem.
2026-09-25
Migracja kilkunastu aplikacji na własny klaster k3s — problemy i korzyści
Nasz trzeci klaster Kubernetes na bare metal — pierwszy produkcyjny u klienta. Działa od listopada 2023 roku i obsługuje około 20 aplikacji w czterech środowiskach. Opisujemy architekturę, siedem problemów, które nas zaskoczyły, i to, co realnie zyskaliśmy.
2026-10-18
Kubernetes to nie tylko nowy sposób wdrażania. To zmiana nawyków operacyjnych
Przeniesienie aplikacji z serwerów do kontenerów to mniejsza część pracy. Większa to porzucenie przyzwyczajeń — monitoringu hostów, logów w /var/log, założenia, że aplikacja działa w jednym egzemplarzu, i tego, że wiadomo, na której maszynie działa.