Streaming platformy na summite v Londýne – boli sme pri tom

30.04.2018

Lukáš Matějka, šéf brnianskej vývojárskej pobočky a taktiež vedúci aktivít streaming dáta platforiem Lundegaardu zaznamenal svoje postrehy z konferencie Kafka Summit.

V pondelok 22. apríla sa po prvýkrát konala v Európe dvojdňová konferencia Kafka Summit London 2018. V minulých rokoch sa odohrávala len na americkom kontinente v San Franciscu a New Yorku. Vďaka veľkému úspechu po celom svete sa tento rok usporiadala konferencia aj v Londýne, ktorej som sa tak mohol osobne zúčastniť. Konferenciu usporiadala spoločnosť Confluent, ktorá zastrešuje vývoj kľúčovej open-source technológie Apache Kafka.

Na úplnom začiatku Jay Kreps (spoluzakladateľ a CEO Confluent) poukázal na znovuzrodenie konceptu event-driven architektúr, ktoré najlepšie podporujú súčasný digitálny business. Ten nereprezentuje nič iného než súbor rôznych udalostí a instantných (pokiaľ možno) reakcií na nich , čomu je paradigma event-driven systému najbližšie. Také systémy nie sú novinkou, ale až vďaka novým distribuovaným technológiám (a možnosti horizontálneho škálovania) sa dnes začínajú masívne využívať.

Stále viac spoločností si uvedomuje potrebu obsluhovať svoje služby/klientov vo veľkom meradle automatizovane a prechádza tak postupnou evolúciou. Apache Kafka ako distribuovaná streamovacia platforma je kľúčovou technológiou pre takýto prechod a v postupnej evolúcii hrá nenahraditeľnú súčasť podnikovej architektúry.

The Death and Rebirth of the Event Driven Architecture, Jay Kreps, CEO, Confluent

Jednou z hviezd konferencie bol aj Martin FowlerThoughtWorks (patrí medzi niekoľkých ľudí, ktorí podstatne ovplyvňujú smerovanie softwarového vývoja). Hovoril o nesporných výhodách event-based systémov v momente, kedy začne byť systém "veľký" a tým pádom distribuovaný. Také systémy lepšie reflektujú reálny svet, ktorý je vlastne neustálym tokom zmien. A zároveň dovoľuje digitálnemu businessu byť viac agilný vďaka možnosti rýchlo na tieto zmeny reagovať. Martin Fowler taktiež upozornil na ich možné nebezpečenstvo (všetka zodpovednosť prenesená na konzumentov dát môže pôsobiť nakoniec ako paralýza niečo meniť na úrovni toku dát). Kolega Martina Fowlera Toby Clemson v priebehu zdieľal praktický príklad a ponaučenie z vývoja systému na zelenej lúke a jeho evolúcie, kde sa postupne z jednoduchej monolitickej aplikácie posunuli až k distribuovanému event-based systému.

Enabling Experimentation Using Event-based Systems, Martin Fowler, Chief Scientist and Toby Clemson, Lead Consultant, ThoughtWorks

Niektoré ďalšie vybrané témy poukazovali na použitie súvisiacich technológií tzv. streamovacieho enginu - Kafka Streams. Streaming engine všeobecne vie spracovávať, agregovať a obohacovať kontinuálne toky dát v distribuovanom prostredí. Zákazník si napríklad mení svoje preferencie vo svojom profile a podľa toho sa mu zobrazuje relevantný obsah – kontinuálne sa vtedy spájajú toky udalostí o zmene preferencií a obsahu, ktorý týmto preferenciám odpovedá.

Andreas LundstenForefront Consulting Group ukázal case study, kde vytvorili AML (anti money laundery) riešenie pre bankovú spoločnosť s využitím Kafka Streams. Zásadnou požiadavkou bola možnosť spracovávať veľké množstvo transakcií v takmer reálnom čase a kontrolovať tak, či nedochádza niekde k podvodu (aplikovaním sady existujúcich pravidiel) a zároveň vytvoriť základ pre možnosti pokročilej analytiky a strojového učenia sa (všeobecne hľadanie ďalších potenciálnych vzorcov možných podvodov).

Konzultant Peter Hannan6point6 pomáha spoločnostiam v bankovom prostredí prechádzať na event-based systémy využívajúce Kafku. V rámci svojej prezentácie predstavil konkrétnu prípadovú štúdiu využívajúcu Kafka Streams s veľmi podrobným popisom vrátane nastavenia konkrétnych parametrov v produkčnom prostredí. Ukázal, akým jednoduchým spôsobom možno vytvárať agregované distribuované úlohy nad Kafka Streams. Súčasne ale zdôraznil, že hoci vytvorenie takej úlohy je relatívne jednoduché, zaberie len cca 20% úsilia. Zvyšok je venovaný testovaniu, nasadeniu a managementu, kde zatiaľ chýba podpora ďalších nástrojov.

O niekoľkoročných skúsenostiach s technológiou v ING rozprával Timor Timuri a Richard Bras, pre ktoré sa Kafka stala globálnym technologickým štandardom. Pred 4 rokmi začali s prvým prípadom a to vylepšením ich anti-fraud systému. Dnes pokrývajú viac než 50 prípadov užívania a drvivá väčšina tímov v rámci ING využíva centrálnu Kafku a vyvíjajú tak nezávisle dáta-intenzívne aplikácie.

Veľmi zaujímavá prezentácia bola taktiež od Niny Hanzlikove zo spoločnosti Zalando. Zalando predáva módu, zapodieva sa tým, čo svet módy znamená. Zbiera všetky dáta o móde, ktorá sa môže meniť veľmi rýchlo. Dáta automaticky analyzuje a na základe toho ponúka konkrétne tovary a trendy. V Zalande aplikujú striktnú agilnú metodiku, kde si tím môže zvoliť ľubovoľnú technológiu, avšak je za ňu plne zodpovedný vrátane spoľahlivej prevádzky. Nina Hanzlikova predstavila, čo dokázal jej malý tím rýchle vytvoriť s Kafkou a Kafka Streams, a ktoré kompromisy museli v rámci malého tímu urobiť. Dopodrobna taktiež vysvetlila niektoré nástrahy spojené predovšetkým s nasadzovaním v AWS cloudu s použitím ESB volumes.

Témou jednej z ďalších hlavných prezentácii od Neha Narkhede (spoluzakladateľka a CTO Confluent) boli Event-driven Enterprises. V prezentácii zaznela typická cesta, počas ktorej spoločnosti postupne adoptujú Event Streaming a taktiež ako postupne menia svoj pohlaď na tzv. event-centric prístup. 
• Prvá fáza obsahuje uvedomenie, že vôbec existuje potreba pre Event Streaming vrátane poznania základných princípov o Apache Kafka a súvisiacich technológiách. Počas tejto fázy vzniká takto väčšinou prvý pilotný projekt. 
• Fáza druhá už prináša prvé produkčné nasadenie na niekoľko menších prípadoch používania. Väčšinou sa iba napoja existujúce dátové zdroje (primárne zdroje), prípadne v pokročilejšom prípade začnú niektoré z aplikácií či systémov priamo generovať nové    udalosti.
• Tretia fáza je o prelomení tzv. síl - rozbití monolitov do menších autonómnych celkov – organizačných aj technologických a prenosu primárneho zdroja dát do platformy.
• Štvrtá fáza je o nasadení a používaní globálnej streaming platformy.
• Posledná piata fáza je o vytvorení tzv. centrálneho nervového systému - všetky dáta sú spravované a spracovávané cez jedinú platformu a to označujeme ako Event-Driven Enteprise (napr. Netflix, Uber, Royal bank of Canada).

The Present and Future of the Streaming Platform, Neha Narkhede, CTO, Confluent.

Stefan Bauer zo spoločnosti Audi predstavil projekt, ktorý má ambíciu zbierať všetky dáta z áut, analyzovať a ponúkať väčší komfort svojim užívateľom. Audi chce tak naplniť svoju budúcu víziu v tom, že "vráti" svojim užívateľom približne hodinu času, ktorú priemerne denne strávia vodiči vo svojom aute. Auto ako také je vnímané "iba" ako jedno z IoT zariadení (s mnohými senzormi), ktoré generuje 4 TB dát denne ( sada kamier, senzory nárazu, sonický senzor apod.) Tieto dáta budú prepájané s ďalšími informáciami o aktuálnej prevádzke, podmienkach na ceste, informáciami o počasí, ostatných autách, o miestach a dĺžke dobitia akumulátorov, apod). Ďalšia pokročilá analýza a predikcia umožní tak autám "vidieť za roh", meniť povolené rýchlosti tak, aby bola doprava plynulejšia a mnoho ďalších možností. Stefan Bauer zdôrazňoval ako je pre Audi dôležitá personalizácia a znalosť aktuálneho kontextu užívateľa a jej význam v budúcnosti určite porastie (porovnával s Amazonom, kde je teraz 30% tržieb tvorených instantnou personalizáciou). Projekt využíva Apache Kafka pre zber veľkého množstva dát prúdiacich z áut a bude spustený počas tohto roka spoločne s novým modelom Audi.

Fast Cars in a Streaming World: Reimagining Transportation at AUDI, Stefan Bauer, Head of Development Data Analytics, AUDI Electronics Venture, AUDI.

V rámci prednášky Powering Olympics Games through Kafka Streams Casper Konig zo spoločnosti Gracenote predstavil, akým spôsobom využili technológiu Apache Kafka a Kafka Streams k tomu, aby počas 14 dní olympiády bolo možné ponúkať na rôzne webové stránky widgety, ktoré zobrazovali priebeh diania olympijských hier v reálnom čase. Tzn. aktuálne informácie o priebežných výsledkoch, kto sa nachádza na trati, koľko stráca sekúnd, aktuálne porovnanie pretekárov apod. K tomu bolo nutné v reálnom čase skladať a obohacovať mnoho rôznych prúdov dát vrátane oficiálnych dát z rôznych športovísk olympiády. Projekt bol tiež zaujímavý tým, že vytvoril infraštruktúru iba na 14 dní, počas ktorých využili widgety milióny ľudí, bolo tak pomerne náročné vopred systém otestovať.

Na záver stojí za to spomenúť prednášku od Mikhaila Khasina zo Sberbank na tému Distributed computing – Key player in Corebanking Platforms. Mikhail Khasin v rámci Sberbank pracuje na transformácii – prerode banky, ktorá pred niekoľko málo rokmi bola schopná globálne vo svojich kamenných pobočkách vybavovať 10-15 transakcií za sekundu. V digitálnej dobe sa chce pripraviť na rovnaký objem, ktorý dnes zvládajú najväčší digitálni hráči (napríklad Alibaba viac než 200 tisíc platobných transakcií za sekundu). Podľa jeho názoru sa banka musí stať doslova technologickým poskytovateľom, ktorý má znalosť bankového prostredia alebo jednoducho technologické firmy sa okrem iného "prerodia" v banky. Technologicky celkom určite nevedie cesta cez vertikálne škálovanie ako v minulosti, ale cez plne distribuované prostredie v horizontálnej rovine, ktoré bude schopné automaticky vybavovať statisíce transakcií za sekundu. V automatizovanej analýze dát sa Sberbank v prvej fáze sústredí na automatickú detekciu podvodov a personalizovaných ponúk. V ďalších fázach chce reagovať na kľúčové trendy ako poradenstvo, múdra interakcia chatbotov, IoT a automatizovaná efektivita samotnej prevádzky. Momentálne Apache Kafka slúži ako prenášač všetkých udalostí a chystá sa na ďalšie rozšírenie o streamovací engine. Na tomto základe bude stavať ďalšiu automatizovanú pokročilú analytiku.

Vo svete obrovského množstva dát je ich rýchle spracovanie a zobrazovanie v relevantných súvislostiach a prehľadným spôsobom kľúčové. Túto tému s pomocou technológií, ako je práve Apache Kafka, rozvíjame aj v Lundegaarde. Ako príklad uveďme náš produkt Lifetrace, technický monitoring systému pre webové portály.

Streaming platformy na summite v Londýne – boli sme pri tom
Streaming platformy na summite v Londýne – boli sme pri tom
Streaming platformy na summite v Londýne – boli sme pri tom
Streaming platformy na summite v Londýne – boli sme pri tom
Streaming platformy na summite v Londýne – boli sme pri tom