IT@BANK 2021 | TECHNOLOGIE – AB INITIO SOFTWARE | Automatyzacja procesów biznesowych bez kodowania

IT@BANK 2021 | TECHNOLOGIE – AB INITIO SOFTWARE | Automatyzacja procesów biznesowych bez kodowania
fot. adobe stock
Udostępnij Ikona facebook Ikona LinkedIn Ikona twitter
Ciągły rozwój technologiczny prowadzi do powstawania nowych typów transakcji, a banki muszą za tym nadążać. Istniejące systemy monolityczne nie radzą sobie z tempem tych zmian. Dodawanie nowych rodzajów transakcji wymaga tygodni pracy wysoce wykwalifikowanych programistów, a zmiana systemów wsadowych na działające w czasie rzeczywistym to inżynieryjny koszmar.

logo-abinitioNiskokodowe podejście firmy Ab Initio do orkiestracji mikroserwisów umożliwia szybki rozwój i testowanie oprogramowania, a orkiestracja usług wykorzystująca metadane umożliwia specjalistom biznesowym szybkie dodawanie nowych rodzajów transakcji bez konieczności pisania kodu. Rozwinięta infrastruktura Ab Initio do zarządzania danymi sprawia, że latencja nie stanowi już problemu. Rozbudowane możliwości logowania i śledzenia błędów pozwalają specjalistom biznesowym łatwo zrozumieć, co robi system oraz rozwiązać wszelkie pojawiające się problemy.

Podejście LOW-CODE do orkiestracji mikroserwisów

Tworzenie i utrzymywanie pojedynczego, monolitycznego systemu jest na dłuższą metę mało racjonalne, zwłaszcza że są one trudne w modernizacji. Gdy potrzebna jest obsługa nowej funkcji – nowych wiadomości, nowych typów płatności, nowych transakcji – dodawanie funkcjonalności jest powolne i kosztowne.

Ale samo przełączenie się na zbiór mikroserwisów tworzy całkiem inne problemy. Celem mikroserwisów jest skomponowanie złożonych transakcji biznesowych z szeregu drobnych usług – nie chodzi tu o to, by wiele usług przetwarzało wiele transakcji, ale by jedna transakcja została rozłożona między wiele usług. Istnieje ryzyko, że zarządzanie masą mikroserwisów doprowadzi do nieprzejrzystości kodu. Koordynowanie mikroserwisów wymaga zrozumienia, z czym i w jakiej kolejności kontaktują się usługi, śledzenia stanu poszczególnych transakcji, ich rezultatów oraz obsługiwania błędów. Sam kod musi być łatwy w utrzymaniu, debugowaniu i modernizacji, gdy pojawi się zapotrzebowanie na nowe transakcje. Innymi słowy – rozwiązanie wymaga zwinnego, podejścia Low-Code do orkiestracji mikroserwisów.

Wymagania

Najważniejszym celem systemu orkiestracji mikroserwisów jest możliwość konstruowania złożonych transakcji biznesowych z mniejszych usług. Z kolei konstruowanie złożonej transakcji biznesowej wymaga zrozumienia kroków potrzebnych do przetworzenia transakcji, śledzenia, który jest wykonywany, przechodzenia do kolejnego oraz obsługiwania błędów. Ponadto taki system orkiestracji powinien:

  • ułatwiać szybkie dodawanie nowych rodzajów transakcji, wymagając pisania zerowej lub niewielkiej ilości kodu;
  • być bardzo wydajny, zdolny do spełniania rygorystycznych SLA;
  • być skalowalny do dowolnego wolumenu transakcji;
  • umożliwiać uruchamianie tych samych reguł biznesowych wsadowo, jak i w czasie rzeczywistym;
  • działać lokalnie, na dowolnej chmurze, na maszynach wirtualnych lub w kontenerach oraz w ich dowolnych kombinacjach;
  • nigdy nie gubić transakcji;
  • oferować wysoką dostępność;
  • zapewniać szerokie możliwości monitorowania;
  • oferować możliwość łatwego śledzenia;
  • obsługiwać nieudane transakcje i wystąpienia błędów;
  • obsługiwać standardowe interfejsy API RESTful lub SOAP dla usług;
  • współpracować z usługami legacy;
  • współpracować z usługami lokalnymi i w chmurze;
  • chronić użytkowników przed nieprzewidywalnymi okolicznościami oraz zmianami w technologii.

Dodatkową korzyścią może być to, że udana orkiestracja mikroserwisów ukrywa szczegóły implementacji. Starsze technologie legacy, które kryją się za mikroserwisami, mogą być stopniowo wymieniane bez zakłócania całości systemu.

Silnik orkiestracji Ab Initio

Platforma Ab Initio jest w pełni zintegrowanym stosem oprogramowania zbudowanym zgodnie z pierwszymi zasadami (łac. Ab initio) w celu rozwiązywania problemów przetwarzania i zarządzania dużymi ilościami danych niezależnie od ich lokalizacji. Wszystkie produkty Ab Initio dzielą ten sam model przetwarzania i mają wspólne metadane, co zapobiega powstawaniu słabych punktów między produktami. Wysoki poziom integracji radykalnie przyspiesza wyniki pracy oraz zapewnia spójność, przejrzystość i kontrolę biznesową nad systemem – to wszystko znacznie skraca czas rozwoju oprogramowania i zmniejsza jego złożoność. Wystarczy raz zbudować oprogramowanie i można je wdrożyć w dowolnym miejscu, lokalnie lub w chmurze, na maszynach wirtualnych lub w kontenerach na platformie Kubernetes.

Rys. 1. Silnik orkiestracji AB Initio
Źródło: AB Initio

Ab Initio rozwiązuje problem orkiestracji, modelując proces i koordynując mikroserwisy z automatem skończonym, inaczej maszyną stanową. Automat skończony (FSM – finite state machine) w danym momencie może być tylko w jednym z wielu arbitralnych możliwych stanów. Moment, w którym będzie przechodzić między stanami, dyktują deterministyczne zasady. Niezależnie od tego, w jakim stanie jest maszyna, kolejny stan nigdy nie jest niejasny: automat ma tylko jeden prawidłowy stan, do którego może przejść w zależności od obecnego stanu i spełnienia zasad przejścia.

Przetwarzanie transakcji to inaczej przemieszczanie jej przez szereg stanów. Każdy stan reprezentuje krok przetwarzania. Chociaż różne rodzaje transakcji przechodzą przez różne stany w różnej kolejności, przez niektóre przechodzą wszystkie. Kluczową ideą jest to, że dla każdego rodzaju transakcji znany jest szereg stanów i zasad przejścia.

Ponieważ Ab Initio może połączyć dowolny element z dowolnym innym, silnik orkiestracji może z łatwością uruchamiać odpowiednie mikroserwisy z prawidłowymi danymi wejściowymi w prawidłowym formacie w oparciu o stan automatu FSM. Ponieważ praca niektórych mikroserwisów trwa dłużej lub wymaga interakcji z człowiekiem, silnik orkiestracji zapisuje stan takich długo trwających transakcji w trwałym magazynie danych i przechodzi do przetwarzania innych. Gdy mikroserwis zwróci wynik, silnik orkiestracji zaczyna w miejscu, w którym skończył, i przenosi transakcję do kolejnego odpowiedniego stanu.

Transakcje po otrzymaniu są walidowane. Transakcja następnie przechodzi do przetwarzania w silniku orkiestracji. Jego opóźnienie jest niezwykle niskie: proces płatności zajmuje zaledwie jedną sekundę, a silnik można przeskalować do ponad 10 tys. transakcji na sekundę. Aktualny stan transakcji jest zapisywany w trwałym magazynie danych i aktualizowany wraz z jej przetwarzaniem. Gdy silnik orkiestracji zakończy pracę, ukończona transakcja przechodzi ostatnie etapy przetwarzania i jest przesyłana do kolejnego przystanku na swojej trasie.

Transakcje mogą przychodzić indywidualnie lub w jednym pakiecie komunikatów zawierającym dowolnie dużą ich liczbę. Po przybyciu pakietu musi on zostać prawidłowo zdekonstruowany, aby wyodrębnić i przetworzyć znane rodzaje transakcji, a nieznane ich rodzaje oznaczyć i zgłosić. Następnie specjaliści biznesowi analizują nieznane rodzaje transakcji i mapują stany wymagane do ich przetworzenia.

Zgłaszanie i śledzenie błędów

Silnik orkiestracji utrzymuje stan poszczególnych transakcji w trwałym magazynie danych. Ab Initio potrafi:

  • określić stan dowolnej transakcji;
  • określić, ile transakcji lub wywołań usługi nie powiodło się;
  • odzyskać transakcję w trakcie realizacji z nieznanym wynikiem;
  • przywracać sprawność po awarii węzłów;
  • dokumentować opóźnienia oraz wydajność dla wszystkich usług i transakcji;
  • udostępniać pulpity kontrolne na żywo;
  • pokazywać, jak transakcja została obsłużona, jakie usługi są wywoływane, ile trwa ich praca, jakie dane są zwracane itd.

Ponieważ magazyn danych jest typu trwałego, silnik orkiestracji może odzyskiwać dane nawet w przypadku całkowitych awarii.

Praca z istniejącymi technologiami

Żadna duża firma nie może sobie pozwolić na wyrzucenie istniejących technologii i zaczęcie od zera. Ab Initio przoduje w rozwiązaniach do współpracy z systemami legacy i starszymi formatami danych. Może też z łatwością zamknąć przepaść między mikroserwisami i technologiami legacy, w tym z systemami klasy mainframe. Silnik orkiestracji potrafi pracować z mikroserwisami, które są oparte na różnych systemach legacy, umożliwiając firmom dalsze czerpanie korzyści ze swoich inwestycji w dotychczasowe technologie. Ab Initio zapewnia, że dane o dowolnym stopniu złożoności mogą zostać dostarczone we właściwym formacie, we właściwym momencie i we właściwe miejsce i przeskalować ten proces na dowolnie dużą liczbę transakcji.

Korzyści

  • Zdolność wykorzystywania istniejących technologii poprzez ukrycie ich za mikroserwisami/API.
  • Zdolność dodawania nowych rodzajów transakcji za pomocą metadanych – nie potrzeba programowania.
  • Kompletne monitorowanie transakcji wraz z aktualną wiedzą o stanie transakcji.
  • Automatyczne limity czasu dla usług i ponawianie prób.
  • Reguły, które można uruchomić jako wsad o dużym wolumenie lub przetwarzać w czasie rzeczywistym.
  • Oprogramowanie, które może działać na dowolnej platformie, w tym na chmurach publicznych i prywatnych, kontenerach, Kubernetes, Hadoop, Unix/Linux, Windows i w systemach mainframe.
  • Zdolność pracy w czasie rzeczywistym i bezproblemowe przełączanie się pomiędzy pracą w chmurze i lokalnie.
  • Ulepszona „zwinność”.
  • Automatyczne przywracanie sprawności po awariach oprogramowania lub sprzętu.

Takie podejście umożliwia stopniową modernizację systemu, maksymalizując korzyści z nowych technologii bez potrzeby przepisywania całego systemu na raz. Zmiany w zakresie poszczególnych usług są niewidzialne na poziomie systemu jako całości.

Źródło: AB Initio