Proudy událostí mění integrační paradigma. Firmy potřebují, aby systémy běžely bez výpadků
Petr Dlouhý v Trasku řídí integrační kompetenci a popisuje, jak optimalizovat systémy, aby byly schopné rychleji reagovat a efektivně škálovat.
Společnosti dnes kvůli zajištění kvalitních služeb a hladkého chodu online aplikací často potřebují, aby jejich data byla neustále v pohybu. Digitalizují se prakticky všechny procesy, které probíhají uvnitř firem i směrem ke klientům, a je potřeba, aby vše běželo jako na drátkách. Když se tak neděje, ztrácíte zákazníky, peníze, nebo minimálně drahocenný čas. Důležité tedy je, aby mezi sebou jednotlivé systémy efektivně komunikovaly. A právě ve světě integrací se neustále přichází s novými přístupy.
Petr Dlouhý se v české technologické společnosti Trask věnuje integrační kompetenci dlouhé roky a specializuje se například na dodávky komplexních řešení hlavně pro finanční instituce. Integrace se nicméně řeší napříč všemi sektory a Dlouhý ve svém textu pro CzechCrunch popisuje, co do integračního paradigmatu přináší takzvané proudy událostí a o co vlastně jde.
***
Většina firem se dnes už neobejde bez online aplikací, k nimž přistupují buď samy v rámci interních aktivit, nebo díky nim komunikují se svými zákazníky a nabízí jim vybrané služby. Součástí všech procesů je vždy mnoho dat, které musí být neustále v pohybu a efektivně se dostávat tam, kde jsou zrovna potřeba. I proto je v oblasti IT na vzestupu takzvaná event-driven integrace, která s využitím kvalitní streamovací platformy dokáže zajistit efektivní výměnu informací mezi systémy. Jak přesně tento koncept firmám pomáhá?
V bankovním prostředí vidíme stále větší poptávku po digitalizaci všech agend a služeb. S tím roste i počet systémů a jejich vzájemná výměna dat. Klienti zároveň očekávají, že budou mít své produkty a služby stále dostupné s okamžitou reakcí na jejich požadavky.
Události přenášejí informace
Vedle dlouhodobých trendů v integraci, jako je decentralizace, kontejnerizace, využití API managementu a snahy vytvářet menší a pružnější řešení, představuje event-stream neboli proud událostí další téma, kterému je třeba věnovat pozornost. Jde o architektonicko-technologický koncept, který pomáhá řešit narůstající požadavky v integrační sféře, a to především v oblasti event-driven integrace. Řada českých bank už event streamy využívá jako kritický integrační nástroj.
Za událost se v tomto integračním schématu považuje popis něčeho, co je (fakt) – například adresa zákazníka nebo účetní zůstatek. Spadá pod ni ale i oznámení o změně stavu, jako je změna adresy zákazníka nebo notifikace o překročení povoleného limitu, či různé pokyny k akci v rámci daného systému.
Jak se zpracovávají proudy událostí
Jednou z možností, jak efektivně řídit a zpracovávat události, je zapojení platformy pro streamování dat. Převládající technologií se v tomto ohledu stala Apache Kafka, open-source distribuovaná streamovací platforma, kterou lze použít k vytváření aplikací a kanálů pro streamování dat v reálném čase.
Za vznikem Apache Kafka stojí vývojáři ze společnosti LinkedIn, kteří potřebovali nástroj pro rychlý, bezpečný a škálovatelný přenos velkého množství dat v rámci celého světa. Tehdejší integrační nástroje a postupy nedokázaly tyto požadavky dostatečně reflektovat. Dnes se Kafka používá v mnoha odvětvích a společnostech od těch středních až po globální korporace.
Když tuto streamovací platformu použijete jako páteřní technologii pro integraci, lze implementovat systémy služeb a mikroslužeb tak, aby si vyměňovaly události v reálném čase a zároveň vytvářely události nové. Například v reakci na to, co právě dělá koncový uživatel v aplikaci.
Odměnou za správnou realizaci je obrovský potenciál do budoucna.
V praxi tak například může událost po přidání položky do košíku na e-shopu vést k vytvoření aktualizovaného obsahu košíku, nastavení nové odpovídající ceny a aktualizaci skladových zásob. Kafka zároveň umožňuje s událostmi pracovat v bezvýpadkovém režimu 24 hodin denně sedm dní v týdnu. Události jsou spolu se svými daty bezpečně uložené v Kafka clusteru a dostupné mnoha aplikacím a službám.
To je v dnešní době klíčové – všechno se totiž zrychlilo a klienti očekávají, že služby poběží bez výpadků, budou škálovatelné a vše bude hned vyřízené. Dostát tomuto požadavku lze díky tomu, že veškerá komunikace mezi systémy v Kafce probíhá asynchronně. To znamená, že systémy jsou mezi sebou volně svázané a jsou navzájem nezávislé.
K výhodám tohoto přístupu patří možnost systémy snadno aktualizovat, škálovat a provozovat v mnoha replikách po celém světě tak, aby dokázaly zpracovat neustále zvyšující se počet klientských požadavků.
Je však důležité, aby na začátku celého projektu nejprve proběhla datová analýza, výběr integračních vzorů, které Kafka umožňuje, správná definice přenosových kanálů (topiců) v Kafce a jejich schémat. Podstatné je také ošetřit chyby, ke kterým může docházet při vytváření i čtení zpráv – správný návrh je jako vždy pro úspěch klíčový.
Kdy má událostmi řízená architektura smysl?
Využití Kafky dává smysl všude tam, kde je potřeba zpracovat obrovské množství dat v reálném čase a bez prodlevy. Typicky se event-driven integrace prosazuje v prostředí, které používá mikroservisní architekturu, kterou dobře doplňuje v oblasti škálovatelnosti, odolnosti proti výpadkům a agility.
Typickým příkladem, se kterým se setkáváme a který pomáháme našim klientům řešit, je zpracování logů (aplikačních i auditních), monitoring uživatelských aktivit a online vyhodnocení klientských nabídek či „klasická“ aplikační integrace. Především v posledním případě je nutné navrhnout správný přístup k distribuci a konzumaci událostí, protože event-streaming pro stávající systémy může být složitější na implementaci než jiné typy integrace.
Odměnou za správnou realizaci je pak obrovský potenciál do budoucna – schopnost rychleji reagovat na nové klientské požadavky (často bez nutnosti výpadku), efektivně škálovat s růstem klientské základny a zajistit stabilní a stále dostupné služby pro zákazníky.
Nahlásit komentář
Zdá se vám, že komentář je urážlivý, nebo sprostý? Dejte nám vědět.