Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.


Innowise z powodzeniem przeprowadził migrację platformy klienta z architektury monolitycznej do mikrousług, zwiększając zarówno backend, jak i frontend w celu uzyskania lepszej skalowalności i wydajności.
Our client is a top-tier healthcare staffing service that helps healthcare providers handle soaring staffing needs and simplify the hiring process. On the other side, job seekers get to choose positions that fit their schedules and preferences perfectly. Our client is all about matching the right people with the right jobs.
Szczegółowe informacje o kliencie nie mogą być ujawnione zgodnie z postanowieniami NDA.
W miarę szybkiego rozwoju działalności klienta, stawał on przed coraz większymi wyzwaniami technicznymi i operacyjnymi, które groziły spowolnieniem jego postępów. Ich niegdyś niezawodny monolityczny system z trudem nadążał za rosnącymi wymaganiami ze strony placówek opieki zdrowotnej i personelu medycznego. W rezultacie napotkali wąskie gardła wydajności, opóźnione wdrażanie funkcji i nieefektywność operacyjną.
Klient potrzebował modernizacji systemu, aby móc się rozwijać, ale nie chciał zatrudniać nadmiernej liczby pracowników i generować dodatkowych kosztów. Poszukiwano partnera w zakresie outsourcingu IT, który mógłby zapewnić elastyczne skalowanie zasobów w oparciu o konkretne zadania i terminy, przy jednoczesnym utrzymaniu kosztów w ryzach. Właśnie wtedy Innowise wkroczył z naszymi eksperckimi spostrzeżeniami, aby przywrócić ich na właściwe tory.
Innowise zbudowało skalowalną architekturę mikrousług dla klienta, ułatwiając rozwój jego platformy. Zaktualizowaliśmy zarówno backend, jak i frontend, dzięki czemu wszystko działa płynnie, szybko się wdraża i zapewnia użytkownikom znacznie lepsze wrażenia. Ponadto, dzięki zautomatyzowanym testom i ciągłemu dostarczaniu, nasi eksperci zapewnili niezawodność i działanie zgodnie z oczekiwaniami.
Innowise rozpoczęło od dokładnego audytu monolitycznego systemu klienta, mapując komponenty i identyfikując wąskie gardła. Ściśle współpracowaliśmy z zespołami klienta, aby ocenić kluczowe funkcje biznesowe i upewnić się, że wszystkie potrzeby interesariuszy zostały uwzględnione w planowaniu.
Zidentyfikowaliśmy obszary, które uzyskałyby największy wzrost dzięki tej zmianie i stworzyliśmy szczegółową mapę drogową migracji. Nasz zespół skupił się również na strategiach ograniczania ryzyka, przygotowując się na takie rzeczy, jak problemy z migracją danych, przy jednoczesnym utrzymaniu płynnego działania firmy podczas transformacji.
Po solidnym planowaniu nasz zespół rozpoczął płynną migrację z systemu monolitycznego do mikrousług. Podzieliliśmy kluczowe komponenty platformy na niezależne mikrousługi, pozwalając każdej z nich skalować się samodzielnie. Ta modułowa konfiguracja naprawiła wąskie gardła wydajności, dzięki czemu usługi mogły obsługiwać zmiany popytu bez spowalniania całej platformy.
Skonfigurowaliśmy również bazy danych specyficzne dla usług, aby usprawnić przepływ danych i ograniczyć zależności, które powodowały spowolnienia. Dzięki Kubernetes i Docker nasz zespół zautomatyzował wdrażanie i skalowanie każdej mikrousługi. W ten sposób platforma może obsługiwać skoki użytkowania bez żadnego ręcznego wysiłku.
Skonfigurowaliśmy warstwę orkiestracji mikrousług przy użyciu Apache Kafka do komunikacji opartej na komunikatach. Dzięki temu usługi były luźno połączone, co pozwoliło na ich niezależne skalowanie. Korzystając z komunikacji asynchronicznej, nasi eksperci zmniejszyli opóźnienia i sprawili, że system był bardziej responsywny.
Podczas modernizacji backendu, poświęciliśmy frontendowi uwagę, na jaką zasługiwał. Nasz zespół przebudował interfejs użytkownika, dzieląc go na modułowe komponenty za pomocą Angular, przyspieszając rozwój i zapewniając bezproblemowe dodawanie funkcji. Nasi specjaliści dopracowali również połączenie frontendu z backendem za pomocą niestandardowych interfejsów API CRUD, gwarantując aktualizacje w czasie rzeczywistym i minimalne opóźnienia.
Aby utrzymać stabilność zarówno starszego kodu, jak i nowych mikrousług, stworzyliśmy solidny zestaw testów integracyjnych przy użyciu JUnit. Skoncentrowaliśmy te testy na kluczowych interakcjach, takich jak synchronizacja danych i uwierzytelnianie użytkowników, aby zapobiec awariom podczas wdrażania nowych funkcji.
Pracując w ramach naszego istniejącego środowiska testowego, zapewniliśmy spójne testy we wszystkich głównych przypadkach użycia. Każdy test dokładnie sprawdzał interakcję nowych i starszych komponentów, zmniejszając ryzyko migracji i zwiększając stabilność platformy.
Front-end
Angular, TypeScript
Back-end
Java 11
Kontenery
Docker, Docker Compose, Kubernetes
VCS
VCS: Git, BitBucket
Testowanie
JUnit
Chmura
Azure
W przypadku tego projektu zastosowaliśmy metodologię Scrum dostosowaną do potrzeb klienta, realizując skoncentrowane dwutygodniowe sprinty, aby utrzymać postęp na właściwym torze. Nasz zespół korzystał z Jira do monitorowania każdego zadania, zapewniając pełny wgląd w kamienie milowe projektu i rezultaty. Codzienna koordynacja za pośrednictwem Slacka utrzymywała zespół w kontakcie, umożliwiając nam szybkie rozwiązywanie problemów.
Our project manager held weekly meetings with the client, sharing detailed updates on development, discussing any challenges, and gathering feedback to keep everyone in sync. This tried-and-tested approach minimized downtime and kept steady progress throughout the project.
1
Kierownik projektu
1
Architekt oprogramowania
3
Programiści Java
2
Deweloperzy Angular
2
Inżynierowie DevOps
2
Inżynierowie QA
1
Analityk biznesowy

Our team revamped the client’s platform, boosting operational efficiency. The system now handles more requests without slowing down. Switching to a microservices architecture helped drop response times so that healthcare providers could connect with available medical personnel faster and more reliably.
Automatyzacja wdrażania i skalowania zmniejszyła wysiłek manualny i koszty operacyjne, umożliwiając klientowi obsługę szczytowych skoków zapotrzebowania bez konieczności zatrudniania dodatkowego personelu lub zwiększania wydatków na infrastrukturę.
Dodatkowo, testowanie automatyczne reduced system failures and made the platform much more stable. New features could now roll out smoothly without disrupting ongoing services.
25%
szybszy czas reakcji
30%
wzrost wydajności operacyjnej
Wiadomość została wysłana.
Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

Rejestrując się, wyrażasz zgodę na naszą Polityką Prywatności, w tym korzystanie z plików cookie i przekazywanie Twoich danych osobowych.