finxp logo

Transformacja cloud-native DevOps firmy FinXP

Innowise pomogło firmie FinXP zmodernizować infrastrukturę usług finansowych poprzez migrację starszych interfejsów API i aplikacji opartych na języku PHP do architektury natywnej dla chmury.

11 aplikacji

przeniesiono z maszyn wirtualnych do usługi aplikacji Azure

100% 

Infrastruktura jako kod

Transformacja cloud-native DevOps firmy FinXP
Branża FinTech
Pracownicy 50+
Region Malta
Usługi Azure – doradztwo w zakresie DevOps, Cloud – modernizacja infrastruktury
Klient od 2024

Opis klienta

Podsumuj artykuł za pomocą AI

FinXP to europejska firma z branży fintech zajmująca się płatnościami, założona w 2014 roku. FinXP pomaga przedsiębiorstwom w zarządzaniu płatnościami przychodzącymi i wychodzącymi za pośrednictwem rachunków IBAN, wydawania kart oraz systemu SEPA Direct Debit. Oferuje również usługi rozliczeniowe, rozwiązania w zakresie wypłat oraz wielokanałowe bramki płatnicze.

FinXP jest zarejestrowana w Europejskiej Radzie Płatniczej w zakresie płatności SEPA, współpracuje z SWIFT i jest głównym członkiem sieci Mastercard. Firma posiada licencję wydaną przez Maltański Urząd Nadzoru Usług Finansowych.

Wyzwanie

Firma FinXP musiała zmodernizować infrastrukturę obsługującą jej usługi płatnicze, zapewniając jednocześnie stabilność bieżącej działalności. Główne działania skupiały się na ograniczeniu nakładu pracy ręcznej, poprawie bezpieczeństwa oraz przygotowaniu systemu do rozwoju w środowisku chmury natywnej.

  • Podstawowe usługi finansowe opierały się na infrastrukturze, którą trudno było skalować i utrzymywać.
  • Ręczne prace związane z infrastrukturą sprawiały, że terminy dostaw były mniej przewidywalne i spowalniały wprowadzanie zmian.
  • Ograniczona dokumentacja projektowa utrudniała przekazywanie wiedzy i długoterminową konserwację.
  • Zadania były często omawiane ustnie, co ograniczało przejrzystość planowania i ustalania priorytetów.
  • Słaba struktura procesów utrudniała zarządzanie długiem technicznym oraz przyszłymi pracami modernizacyjnymi.
  • Luki w zabezpieczeniach stanowiły dodatkowe zagrożenie dla firmy z branży fintech działającej w środowisku podlegającym regulacjom.
  • Zespół wewnętrzny potrzebował wsparcia w zakresie nowszych praktyk DevOps, Kubernetes oraz wdrożeń kontenerowych.
  • Starsze aplikacje i interfejsy API napisane w języku PHP utrudniały obsługę, rozbudowę i migrację systemu.
  • Niektóre elementy infrastruktury działały w starszych środowiskach hostingowych i wymagały migracji do Azure.
  • Kilka zasobów w chmurze było przestarzałych, nieużywanych lub słabo udokumentowanych.
  • Niektóre środowiska zostały skonfigurowane ręcznie, co zwiększyło ryzyko wystąpienia niespójności.
  • Procesy wdrażania opierały się na czynnościach wykonywanych ręcznie, co utrudniało odtworzenie i kontrolę nad wydaniami.
  • Niektóre elementy infrastruktury korzystały z publicznych adresów IP, co wymagało zwrócenia szczególnej uwagi na izolację sieci, kontrolę dostępu oraz wzmocnienie zabezpieczeń.
  • NATS.io wymagało instalacji, konfiguracji oraz integracji z mikrousługami.
  • Infrastruktura Kubernetes wymagała bezpieczniejszej konfiguracji prywatnej przed szerszym wdrożeniem w środowisku produkcyjnym.
  • Monitorowanie i rejestrowanie danych obejmowały jedynie część systemu, co utrudniało wykrywanie i usuwanie usterek.
  • Starsze aplikacje PHP miały problemy z integracją z bazami danych Oracle w nowym środowisku Azure.
  • Przesyłanie wiadomości za pośrednictwem protokołu FTP oraz dostarczanie wiadomości e-mail w usłudze Office 365 spowodowały problemy operacyjne, które wymagały zbadania i usunięcia.

Bezpieczna migracja do chmury

Rozwiązanie

Firma Innowise dołączyła do projektu, aby wesprzeć modernizację infrastruktury FinXP, usprawnić praktyki DevOps oraz pomóc klientowi w przejściu na bezpieczniejszą architekturę natywną dla chmury.

Ocena i planowanie infrastruktury

Na początku nasz inżynier DevOps przeanalizował istniejącą infrastrukturę FinXP, aktywne usługi, zależności aplikacji oraz wyniki audytu. Pomogło to zespołowi przejść od ogólnego celu modernizacji do praktycznego planu z jasno określonymi priorytetami, ryzykiem i kolejnymi krokami.

Aby skupić się na obszarach, które miały największy wpływ na stabilność i przyszłą migrację, nasz specjalista:

  • Przeanalizowano istniejące zasoby w chmurze, aktywne usługi oraz zależności między aplikacjami, aby zrozumieć, w jaki sposób systemy te współdziałają i gdzie modernizacja mogłaby wiązać się z ryzykiem.
  • Przeanalizowano wyniki audytu zewnętrznego i przełożono je na konkretne zadania infrastrukturalne, które zespół inżynierów mógł realizować krok po kroku.
  • Zidentyfikowano przestarzałe, nieużywane lub słabo udokumentowane zasoby, co pomogło ustalić, co należy przenieść, usunąć lub pozostawić bez zmian.
  • Wspierał planowanie infrastruktury dla usług płatniczych i aplikacji opartych na interfejsach API, kładąc nacisk na bezpieczny dostęp, skalowalność oraz łatwiejszą konserwację.
  • Udoskonalono dokumentację techniczną w systemie SharePoint, dzięki czemu zespół FinXP mógł śledzić decyzje dotyczące infrastruktury, przekazywać wiedzę oraz wspierać przyszłe zmiany, będąc w mniejszym stopniu uzależnionym od poszczególnych inżynierów.

Konfiguracja infrastruktury Azure i Kubernetes

Firma FinXP chciała przejść na bardziej skalowalną architekturę opartą na modelu Azure. Model Innowise pomógł w przygotowaniu infrastruktury Kubernetes, która mogłaby obsługiwać mikrousługi, przyszłą migrację interfejsów API oraz zapewnić większą kontrolę nad środowiskami chmurowymi.

Aby stworzyć solidne podstawy dla wdrożeń w chmurze natywnej, nasz zespół:

  • Wdrożono testowy klaster Kubernetes Azure, aby klient mógł zweryfikować docelową architekturę przed przeniesieniem kolejnych usług do środowiska Kubernetes.
  • Wspieraliśmy migrację wybranych elementów infrastruktury do platformy Azure, pomagając firmie FinXP ograniczyć fragmentację w różnych środowiskach hostingowych.
  • Przygotowano infrastrukturę Kubernetes przeznaczoną dla mikrousług, co zapewniło klientowi podstawę do skalowania usług i zarządzania wdrożeniami w bardziej uporządkowany sposób.
  • Przeanalizowałem starsze zasoby w chmurze i pomogłem ustalić priorytety migracji, dzięki czemu zespół mógł skupić się na systemach mających największe znaczenie dla stabilności i modernizacji.
  • Pracowałem nad prywatną konfiguracją Kubernetes z zaostrzonymi środkami bezpieczeństwa, pomagając spełnić wymagania klienta z branży fintech oraz ograniczyć niepotrzebne ryzyko.
  • Przyczyniło się to do ograniczenia zależności od publicznych punktów dostępowych w poszczególnych elementach infrastruktury, dzięki czemu przyszłe środowisko będzie bezpieczniejsze i łatwiejsze w zarządzaniu.

Wdrożenie NATS.io

Firma FinXP wybrała platformę NATS.io do obsługi komunikacji między mikrousługami. Firma Innowise pomogła w przygotowaniu infrastruktury komunikacyjnej i współpracowała z programistami klienta podczas integracji.

Aby pomóc zespołowi we wdrożeniu i przetestowaniu bardziej skalowalnego podejścia do komunikacji w ramach usług, podjęliśmy następujące działania:

  • Zainstalowano i skonfigurowano testowy klaster NATS.io, aby zapewnić programistom środowisko robocze umożliwiające wczesną integrację.
  • Stworzyłem infrastrukturę wspierającą serwis NATS.io, dzięki czemu warstwa komunikacyjna mogła zostać wkomponowana w szerszą architekturę opartą na Kubernetesie.
  • Przygotowano konfigurację opartą na Helmie do wdrożenia NATS.io, co ułatwi odtworzenie i utrzymanie przyszłych konfiguracji.
  • Pomagałem programistom w podłączaniu ich usług do warstwy komunikacyjnej oraz sprawdzałem, jak te usługi zachowują się poza środowiskami lokalnymi.
  • Przetestowaliśmy mikrousługi w środowisku klastrowym, co pozwoliło wykryć problemy, które nie ujawniły się podczas pracy nad projektem w środowisku lokalnym.
  • Rozwiązywałem problemy związane z integracją w miarę przenoszenia usług do środowiska Kubernetes, pomagając zespołowi w realizacji prac modernizacyjnych zgodnie z harmonogramem, bez utrudniania pracy programistom.

Migracja starszych aplikacji i konfiguracja aplikacji internetowej Azure

Firma FinXP nadal korzystała ze starszych aplikacji PHP, które obsługiwały bieżące procesy biznesowe. Usługi te musiały zachować stabilność w trakcie przechodzenia firmy na nowoczesną architekturę, dlatego migracja wymagała ostrożnego podejścia.

Aby zapewnić ciągłość działania starszych systemów w trakcie ich stopniowego dostosowywania do nowej architektury, nasz zespół:

  • Przeniesiono środowisko UAT do aplikacji internetowej Azure, zapewniając FinXP bardziej przejrzystą platformę do przeprowadzania testów akceptacyjnych.
  • Skonfiguruj automatyczne wdrażanie w środowisku UAT, aby ograniczyć liczbę ręcznych czynności związanych z wydaniem i poprawić spójność aktualizacji.
  • Skonfigurowano starsze aplikacje PHP w nowym środowisku Azure, pomagając klientowi w utrzymaniu działania starszych usług w trakcie procesu przejścia.
  • Zapewniono integrację między starszymi aplikacjami a bazami danych Oracle, co pomogło zagwarantować ciągłość działania firmy podczas zmian infrastrukturalnych.
  • Skonfigurowano połączenie FTP i rozwiązano problemy związane z przesyłaniem wiadomości, eliminując przeszkody utrudniające wymianę danych.
  • Pomagałem w badaniu problemów z dostarczaniem wiadomości e-mail związanych z usługą Office 365, zapewniając stabilną komunikację w ramach procesów związanych z aplikacjami.

Automatyzacja DevOps z wykorzystaniem Terraform, Helm i CI/CD

Procesy wdrażania u klienta nadal wymagały ręcznej pracy. Firma Innowise rozpoczęła wprowadzanie automatyzacji w obszarze infrastruktury i dostarczania aplikacji, aby ułatwić odtwarzanie środowisk i kontrolę nad wydaniami.

Aby skutecznie zastąpić jednorazowe czynności wykonywane ręcznie powtarzalnymi praktykami DevOps, nasz inżynier:

  • Rozpocząłem tworzenie skryptów Terraform dla nowych interfejsów API, kładąc podwaliny pod wdrożenie podejścia „infrastruktura jako kod” (IaC) we wszystkich przyszłych środowiskach.
  • Opracowano praktyki IaC, aby ułatwić przeglądanie, odtwarzanie i śledzenie zmian konfiguracyjnych.
  • Opracowałem i dostosowałem wykresy Helm dla obciążeń w Kubernetes, aby wdrożenia miały bardziej spójną strukturę.
  • Planowane wdrożenie interfejsu API w środowisku Kubernetes, łączące automatyzację infrastruktury z szerszym planem modernizacji interfejsów API klienta.
  • Wspierałem proces przechodzenia na bardziej dopracowane potoki CI/CD, pomagając zespołowi zmniejszyć zależność od ręcznych czynności związanych z wdrażaniem.
  • Wprowadzono powtarzalne procedury wdrażania, aby pomóc firmie FinXP w skalowaniu dostaw w miarę przenoszenia kolejnych usług do środowiska Kubernetes.

Modernizacja infrastruktury pod kątem bezpieczeństwa

Bezpieczeństwo pozostało jednym z głównych priorytetów, ponieważ firma FinXP działa w branży fintech. Projekt Innowise wspierał zmiany infrastrukturalne mające na celu zapewnienie bezpieczniejszego dostępu, lepszej izolacji oraz większej kontroli nad zasobami chmury.

Aby wzmocnić bezpieczeństwo i kontrolę dostępu na poziomie infrastruktury, nasz specjalista:

  • Planowana prywatna infrastruktura Kubernetes mająca na celu zapewnienie bezpieczniejszego modelu świadczenia usług finansowych.
  • Wprowadził rozwiązanie umożliwiające dostęp do systemów klienckich za pośrednictwem sieci VPN, pomagając zespołowi w utrzymaniu kontrolowanych punktów dostępu do infrastruktury.
  • Przyczyniło się do poprawy izolacji sieci w środowiskach chmurowych, eliminując ryzyko związane z szeroką ekspozycją systemu.
  • Ograniczono publiczny dostęp do elementów infrastruktury, co pozwoliło dostosować architekturę do bardziej rygorystycznych wymagań w zakresie bezpieczeństwa.
  • Wprowadzono praktyki dostępu oparte na certyfikatach, aby zapewnić dodatkową warstwę kontroli nad dostępem do infrastruktury.
  • Zaktualizowano i skonfigurowano SonarQube we wszystkich repozytoriach, rozszerzając zakres jego zastosowania z częściowej kontroli na szerszą kontrolę jakości kodu i bezpieczeństwa.
  • Wprowadzono narzędzie Snyk w celu usprawnienia wykrywania luk w zabezpieczeniach w zależnościach projektowych oraz umożliwienia wcześniejszego wykrywania problemów w procesie programowania.
  • Brałem udział w dyskusjach dotyczących monitorowania cyberbezpieczeństwa, DevSecOps oraz zabezpieczeń Azure, pomagając firmie FinXP w opracowaniu kolejnego etapu jej planu działania w zakresie bezpieczeństwa.

Monitorowanie, rejestrowanie i wsparcie w zakresie audytu

W miarę jak coraz więcej usług przechodziło na platformę Kubernetes, firma FinXP potrzebowała lepszego wglądu w działanie infrastruktury. Rozwiązanie Innowise umożliwiło wprowadzenie usprawnień związanych z audytem i pomogło klientowi opracować skuteczniejsze podejście do monitorowania i rejestrowania zdarzeń.

Aby zapewnić klientowi jaśniejszy obraz stanu infrastruktury oraz ułatwić przeprowadzanie przyszłych audytów bezpieczeństwa,:

  • Przeanalizowano luki w monitorowaniu i rejestrowaniu danych, aby ustalić, w jakich miejscach rozwiązywanie problemów może napotkać trudności.
  • Wspierałem działania związane z ulepszaniem infrastruktury w zakresie audytu, pomagając klientowi przełożyć wyniki oceny na konkretne działania techniczne.
  • Współpracowaliśmy z istniejącymi narzędziami monitorującymi podstawowe usługi, dzięki czemu zespół mógł nadal śledzić zachowanie kluczowych elementów infrastruktury w trakcie modernizacji.
  • Skonfigurowano usługę Log Analytics oraz narzędzie Azure Monitor, aby zapewnić zespołowi szerszy wgląd w zasoby w chmurze, działanie aplikacji oraz zdarzenia związane z infrastrukturą.
  • Skonfigurowano zarządzaną instancję Grafana o numerze Azure wraz z pulpitami nawigacyjnymi, zapewniając platformie FinXP wygodniejszy sposób monitorowania stanu usług i wskaźników infrastruktury.
  • Skonfigurowano procedury powiadamiania w obszarach, w których powiadomienia są ograniczone lub ich brakuje, aby pomóc zespołowi szybciej reagować na problemy związane z infrastrukturą.
  • Wspomogliśmy w wyborze rozwiązania ClickHouse do gromadzenia logów, zapewniając klientowi możliwość bardziej uporządkowanego przechowywania i analizy logów.
  • Przygotowano infrastrukturę umożliwiającą skuteczniejsze rozwiązywanie problemów, zwłaszcza w związku z przenoszeniem usług ze starszych środowisk do Kubernetes.
  • Przyczyniłem się do uzyskania jaśniejszego obrazu infrastruktury przedsiębiorstwa dzięki schematom sieciowym, co ułatwiło planowanie, komunikację oraz przyszłą konserwację.

Usprawnianie procesów i wsparcie zespołu

Innowise pomogło również firmie FinXP usprawnić codzienne praktyki inżynieryjne. Nasz inżynier DevOps wspierał zespół klienta, udzielając mu porad, prowadząc mentoring, pomagając w rozwiązywaniu problemów oraz zapewniając praktyczne wsparcie podczas integracji usługi.

Aby przekształcić codzienne prace techniczne w bardziej usystematyzowane działania modernizacyjne, nasz inżynier:

  • Uczestniczyłem w codziennych spotkaniach technicznych, aby uzgodnić priorytety, omówić przeszkody oraz zapewnić spójność prac związanych z infrastrukturą z zadaniami programistycznymi.
  • Przedstawiłem zalecenia dotyczące wspólnej infrastruktury zainteresowanym stronom z branży technicznej, pomagając im wybrać praktyczne ulepszenia zamiast doraźnych rozwiązań.
  • Przeprowadziłem szkolenie dla inżyniera DevOps klienta w zakresie DNS, kontenerów i zadań związanych z wdrażaniem, aby wzmocnić kompetencje zespołu wewnętrznego w zakresie rozwiązań chmurowych.
  • Wspierałem programistów podczas testowania interfejsów API i integracji usług, pomagając im dostosować usługi do nowej infrastruktury.
  • Pomagałem w tworzeniu kolekcji Postman do testowania nowych interfejsów API, co sprawiło, że testowanie stało się bardziej uporządkowane i łatwiejsze do odtworzenia.
  • Zbadałem problemy z połączeniem z bazą danych podczas testowania API i usunąłem przeszkody, zanim zdążyły spowolnić prace integracyjne.
  • Zalecane usprawnienia w zakresie dokumentacji, śledzenia zadań oraz procesów DevOps, zapewniające klientowi bardziej przejrzysty sposób zarządzania zmianami technicznymi.

Technologie

Zabezpieczenia i zarządzanie dostępem

VPN, uwierzytelnianie oparte na certyfikatach, prywatne adresy IP, Darktrace

Rozwój i modernizacja interfejsu API

PHP, Go, mikrousługi, Postman

Konteneryzacja i orkiestracja

Docker, Kubernetes, Helm

Cloud i infrastruktura

Azure, usługa Kubernetes Azure, aplikacja internetowa Azure, brama VPN Azure, Microsoft Entra ID, maszyny wirtualne

Komunikacja i integracja

NATS.io, FTP, Office 365, bazy danych Oracle, REST API

CI/CD i jakość kodu

GitHub Actions, SonarQube

Monitorowanie i rejestrowanie

Grafana, ClickHouse

Automatyzacja infrastruktury

Terraform, wykresy Helm

Zespół

Data icon 1
Starszy inżynier DevOps
zespół Innowise

Wyniki

Czas trwania projektu

Lipiec 2024 r. – Stałe

Projekt wciąż jest w toku, ale firma FinXP zyskała już solidniejsze podstawy pod infrastrukturę natywną dla chmury, bezpieczniejsze działanie oraz bardziej przewidywalne procesy DevOps.

  • Firma FinXP uzyskała jaśniejszą ścieżkę modernizacji swojej podstawowej infrastruktury API, a Kubernetes, Azure, NATS.io, Terraform i Helm stanowią podstawę przyszłego rozwoju.
  • Przejście ze starszych środowisk hostingowych na Azure ograniczyło rozdrobnienie infrastruktury i ułatwiło zarządzanie konfiguracją.
  • Test klastra Kubernetes o oznaczeniu Azure zapewnił klientowi praktyczną podstawę do przeniesienia mikrousług z konfiguracji ręcznych lub opartych na maszynach wirtualnych do wdrożenia kontenerowego.
  • Wdrożenie platformy NATS.io stworzyło podstawy dla bardziej niezawodnej komunikacji między mikrousługami w miarę postępującej modernizacji interfejsów API przez klienta.
  • Przeniesienie środowiska UAT do aplikacji internetowej Azure zapewniło większą stabilność środowiska testowego i przygotowało je do zautomatyzowanego wdrażania.
  • Integracja starszych aplikacji PHP z bazami danych Oracle pomogła klientowi w utrzymaniu działania istniejących usług o kluczowym znaczeniu dla działalności firmy w trakcie modernizacji.
  • Przejście na prywatną infrastrukturę Kubernetes oraz dostęp oparty na sieci VPN zmniejszyło zagrożenia bezpieczeństwa związane z ekspozycją infrastruktury publicznej.
  • Wdrożenie narzędzi Terraform i Helm pozwoliło klientowi odejść od ręcznego wprowadzania zmian w infrastrukturze na rzecz powtarzalnych wdrożeń podlegających kontroli wersji.
  • Udoskonalenia w zakresie monitorowania, rejestrowania danych oraz infrastruktury związanej z audytami zapewniły klientowi lepszy wgląd w działanie systemu oraz przyszłe potrzeby w zakresie bezpieczeństwa.
  • Dzięki dokumentacji i zaleceniom dotyczącym procesów łatwiej było śledzić, udostępniać i aktualizować wyniki prac technicznych w całym zespole klienta.
  • Mentoring dla inżyniera DevOps klienta pomógł zespołowi wewnętrznemu z większą pewnością radzić sobie z zadaniami związanymi z DNS, kontenerami i wdrażaniem.
  • Codzienne rozwiązywanie problemów związanych z protokołem FTP, usługą Office 365, certyfikatami oraz działaniem klastrów pomogło usunąć przeszkody operacyjne i zapewnić płynny przebieg prac modernizacyjnych.
  • Kontrole bezpieczeństwa stały się bardziej kompleksowe i systematyczne dzięki konfiguracji SonarQube we wszystkich repozytoriach oraz skanowaniu zależności za pomocą narzędzia Snyk.
  • Widoczność infrastruktury została poprawiona dzięki usługom Log Analytics, narzędziu Azure Monitor oraz pulpitom nawigacyjnym Azure Managed Grafana.
  • Reagowanie na incydenty stało się bardziej usystematyzowane dzięki wdrożeniu procedur powiadamiania w obszarach, w których wcześniej powiadomienia były ograniczone.

Spis treści

Bezpieczna migracja do chmury

    Skontaktuj się z nami

    Umów się na rozmowę lub wypełnij poniższy formularz, a my odezwiemy się do Ciebie po przetworzeniu Twojego zgłoszenia.

    Wyślij nam wiadomość głosową
    Załącz dokumenty
    Prześlij plik

    Można załączyć 1 plik o rozmiarze do 2 MB. Prawidłowe formaty plików: pdf, jpg, jpeg, png.

    Klikając "Wyślij", wyrażasz zgodę na przetwarzanie Twoich danych osobowych przez Innowise zgodnie z naszą Polityką prywatności w celu przekazania Ci odpowiednich informacji. Podając numer telefonu, zgadzasz się na kontakt za pośrednictwem połączeń głosowych, SMS-ów lub komunikatorów. Mogą obowiązywać opłaty za połączenia, wiadomości i transmisję danych.

    Możesz także wysłać swoje zapytanie
    na contact@innowise.com
    Co dalej?
    1

    Po otrzymaniu i przetworzeniu zgłoszenia skontaktujemy się z Tobą, aby szczegółowo opisać projekt i podpisać umowę NDA w celu zapewnienia poufności.

    2

    Po zapoznaniu się z Twoimi potrzebami i oczekiwaniami, nasz zespół opracuje projekt wraz z zakresem prac, wielkością zespołu, wymaganym czasem i szacunkowymi kosztami.

    3

    Zorganizujemy spotkanie w celu omówienia oferty i ustalenia szczegółów.

    4

    Na koniec podpiszemy umowę, błyskawicznie rozpoczynając pracę nad projektem.

    arrow