Streaming platformy na summitu v Londýně – byli jsme u toho

30.04.2018

Lukáš Matějka, šéf brněnské vývojářské pobočky a také vedoucí aktivit streaming data platforem Lundegaardu, zaznamenal své postřehy z konference Kafka Summit.

V pondělí 22. dubna se poprvé konala v Evropě dvoudenní konference Kafka Summit London 2018. V minulých letech se odehrávala pouze na americkém kontinentu v San Franciscu a New Yorku. Díky velkému úspěchu po celém světě se letos konference pořádala i v Londýně, které jsem se tak mohl osobně zúčastnit. Konferenci pořádala společnost Confluent, která zaštiťuje vývoj klíčové open-source technologie Apache Kafka.

Na samém začátku Jay Kreps (spoluzakladatel a CEO Confluent) poukázal na znovuzrození konceptu event-driven architektur, které nejlépe podporují současný digitální business. Ten nereprezentuje nic jiného než soubor různých událostí a instantních (pokud možno) reakcí na ně, čemuž je paradigma event-driven systémů nejblíže. Takové systémy nejsou novinkou, ale až díky novým distribuovaným technologiím (a možnosti horizontálního škálování) se dnes začínají masivně využívat.

Stále více společností si uvědomuje potřebu obsluhovat své služby/klienty ve velkém měřítku automatizovaně a prochází tak postupnou evolucí. Apache Kafka jako distribuovaná streamovací platforma je klíčovou technologií pro takový přechod a v postupné evoluci hraje nenahraditelnou součást podnikové architektury.

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

Jednou z hvězd konference byl i Martin FowlerThoughtWorks (patří mezi několik lidí, kteří podstatně ovlivňují směřování softwarového vývoje). Hovořil o nesporných výhodách event-based systémů v momentě, kdy začne být systém "velký" a tím pádem distribuovaný. Takové systémy lépe reflektují reálný svět, který je vlastně neustálým tokem změn. A zároveň dovolují digitálnímu businessu být více agilní díky možnosti rychle na tyto změny reagovat. Martin Fowler také upozornil na jejich možné nebezpečí (veškerá přenesená odpovědnost na konzumenty dat může působit nakonec jako paralýza něco měnit na úrovni toků dat). Kolega Martina Fowlera Toby Clemson v průběhu sdílel praktický příklad a ponaučení z vývoje systému na zelené louce a jeho evoluci, kde se postupně z jednoduché monolitické aplikace 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

Některá další vybraná témata poukazovala na použití souvisejících technologií tzv. streamovacího enginu - Kafka Streams. Streaming engine obecně umí zpracovávat, agregovat a obohacovat kontinuální toky dat v distribuovaném prostředí. Zákazník si například mění své preference ve svém profilu a dle toho se mu zobrazuje relevantní obsah – kontinuálně se tedy spojují toky událostí o změně preferencí a obsahu, který těmto preferencím odpovídá.

Andreas LundstenForefront Consulting Group ukázal case study, kde vytvořili AML (anti money laundery) řešení pro bankovní společnost s využitím Kafka Streams. Zásadním požadavkem byla možnost zpracovávat velké množství transakcí v téměř reálném čase a kontrolovat tak, zdali nedochází někde k podvodu (aplikováním sady existujících pravidel) a zároveň vytvořit základ pro možnosti pokročilé analytiky a strojového učení (obecně hledání dalších potenciálních vzorců možných podvodů).

Konzultant Peter Hannan6point6 pomáhá společnostem v bankovním prostředí přecházet na event-based systémy využívající Kafku. V rámci své prezentace představil konkrétní case study využívající Kafka Streams s velmi podrobným popisem včetně nastavení konkrétních parametrů v produkčním prostředí. Ukázal, jakým jednoduchým způsobem lze vytvářet agregované distribuované úlohy nad Kafka Streams. Současně ale zdůraznil, že ač vytvoření takové úlohy je relativně jednoduché, zabere pouze cca 20% úsilí. Zbytek je věnován testování, nasazení a managementu, kde zatím chybí podpora dalších nástrojů.

O několikaletých zkušenostech s technologií v ING mluvil Timor Timuri a Richard Bras, pro které se Kafka stala globálním technologickým standardem. Před 4 lety začali s prvním případem a to vylepšením jejich anti-fraud systému. Dnes pokrývají více než 50 případů užití a drtivá většina týmů v rámci ING využívá centrální Kafku a vyvíjí tak nezávisle data-intenzivní aplikace.

Velmi zajímavá prezentace byla také od Niny Hanzlikove ze společnosti Zalando. Zalando prodává módu, zabývá se tím, co svět módy znamená. Sbírá veškerá data o módě, která se může měnit velmi rychle. Data automaticky analyzuje a na základě toho nabízí konkrétní zboží a trendy. V Zalandu aplikují striktní agilní metodiku, kde si tým může zvolit libovolnou technologii, nicméně je za ni plně odpovědný včetně spolehlivého provozu. Nina Hanzlikova představila, co dokázal její malý tým rychle vytvořit s Kafkou a Kafka Streams, a které kompromisy museli v rámci malého týmu udělat. Dopodrobna také vylíčila některé nástrahy spojené především s nasazením v AWS cloudu s použitím ESB volumes.

Tématem jedné z dalších hlavních prezentací od Neha Narkhede (spoluzakladatelka a CTO Confluent) byly Event-driven Enterprises. V prezentaci zazněla typická cesta, během níž společnosti postupně adoptují Event Streaming a také jak postupně mění svůj pohled na tzv. event-centric přístup.
• První fáze obsahuje uvědomění, že vůbec existuje potřeba pro Event Streaming včetně poznání základních principů o Apache Kafka a souvisejících technologií. Během této fáze vzniká takto většinou první pilotní projekt.
• Fáze druhá již přináší první produkční nasazení na několika menších případech užití. Většinou se pouze napojí existující datové zdroje (primární zdroje), případně v pokročilejším případě začnou některé z aplikací či systémů přímo generovat nové události.
• Třetí fáze je o prolomení tzv. sil - rozbití monolitů do menších autonomních celků – organizačních i technologických a přenosu primárního zdroje dat do platformy.
• Čtvrtá fáze je o nasazení a používáni globální streaming platformy.
• Poslední pátá fáze je o vytvoření tzv. centrálního nervového systému - všechna data jsou spravována a zpracovávána přes jedinou platformu a to označujeme jako Event-Driven Enteprise (např. Netflix, Uber, Royal bank of Canada).

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

Stefan Bauer ze společnosti Audi představil projekt, který má ambici sbírat veškerá data z aut, analyzovat a nabízet větší komfort svým uživatelům. Audi chce tak naplnit svou budoucí vizi v tom, že "vrátí" svým uživatelům přibližně hodinu času, kterou průměrně denně stráví řidiči ve svém autě. Auto jako takové je vnímáno "pouze" jako jedno z IoT zařízení (s mnoho senzory), které generuje 4 TB dat denně (sada kamer, senzory nárazu, sonický senzor apod.) Tato data budou propojována s dalšími informacemi o aktuálním provozu, podmínkách na silnici, informacemi o počasí, ostatních autech, o místech a délky dobití akumulátorů, apod. Další pokročilá analýza a predikce umožní tak autům "vidět za roh", měnit povolené rychlosti tak, aby byla doprava plynulejší a mnoho dalších možností. Stefan Bauer zdůrazňoval jak je pro Audi důležitá personalizace a znalost aktuálního kontextu uživatele a její význam v budoucnu zcela jistě poroste (srovnával s Amazonem, kde je nyní 30% tržeb tvořeno instantní personalizací). Projekt využívá Apache Kafka pro sběr velkého množství dat proudící z aut a bude spuštěn během tohoto roku společně s novým modelem 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 přednášky Powering Olympics Games through Kafka Streams Casper Konig ze společnosti Gracenote představil, jakým způsobem využili technologii Apache Kafka a Kafka Streams k tomu, aby během 14 dní olympiády bylo možné nabízet na různé webové stránky widgety, které budou zobrazovat průběh dění olympijských her v reálném čase. Tzn. aktuální informace o průběžných výsledcích, kdo se nachází na trati, kolik ztrácí vteřin, aktuální srovnání závodníků apod. K tomu bylo nutné v reálném čase skládat a obohacovat mnoho různých proudů dat včetně oficiálních dat z různých sportovišť olympiády. Projekt byl také zajímavý tím, že vytvořil infrastrukturu pouze na 14 dní, během nichž využilo widgety milióny lidí, bylo tak poměrně náročné předem systém otestovat.

Na závěr stojí za to zmínit přednášku od Mikhaila Khasina ze Sberbank na téma Distributed computing – Key player in Corebanking Platforms. Mikhail Khasin v rámci Sberbank pracuje na transformaci – přerod banky, která několik málo let zpět byla schopna globálně ve svých kamenných pobočkách odbavovat 10-15 transakcí za sekundu. V digitální době se chce připravit na stejný objem, který dnes zvládají největší digitální hráči (například Alibaba více než 200 tisíc platebních transakcí za sekundu). Dle jeho názoru se banka musí stát doslova technologickým poskytovatelem, který má znalost bankovního prostředí nebo jednoduše technologické firmy se mimo jiné "přerodí" v banky. Technologicky zcela určitě nevede cesta přes vertikální škálování jako v minulosti, ale přes plně distribuované prostředí v horizontální rovině, které bude schopno automaticky odbavovat statisíce transakcí za sekundu. V automatizované analýze dat se Sberbank v první fázi soustředí na automatickou detekci podvodů a personalizované nabídky. V dalších fázích chce reagovat na klíčové trendy jako poradenství, chytrá interakce chatbotů, IoT a automatizovaná efektivita samotného provozu. Momentálně Apache Kafka slouží jako přenašeč veškerých událostí a chystá se na další rozšíření o streamovací engine. Na tomto základě bude stavět další automatizovanou pokročilou analytiku.

Ve světě obrovského množství dat je jejich rychlé zpracování a zobrazování v relevantních souvislostech a přehledným způsobem klíčové. Toto téma za pomocí technologií, jako je právě Apache Kafka, rozvíjíme i v Lundegaardu. Jako příklad uveďme náš produkt Lifetrace, technický monitoring systému pro webové portály.

Streaming platformy na summitu v Londýně – byli jsme u toho
Streaming platformy na summitu v Londýně – byli jsme u toho
Streaming platformy na summitu v Londýně – byli jsme u toho
Streaming platformy na summitu v Londýně – byli jsme u toho
Streaming platformy na summitu v Londýně – byli jsme u toho