Devatenáctá iterace plzeňského Pyva nabídla účastníkům možnost nahlédnout pod pokličku známých i méně známých webových služeb a dozvědět se, na jakých technologiích jsou postavené. Posluchači se tak mohli dozvědět např. o technologickém stacku Televizeseznam.cz či o prostředcích, které učí děti na základní škole machine learning. Svou trochou do mlýna jsem přispěl i já a poodhalil jsem, proč jsme se rozhodli přepsat stávající systém a jaké technologie jsme k tomu využili.
Krátce o platbách na Heurece
Původní systém byl napsán v dobách, kdy v on-line světě dominoval standardní převod na bankovní účet, což dnes již neplatí. Podstatná část uživatelů platí on-line buď kartou, nebo přes rychlé platby své banky.
Dalším důvodem pro přepsání byla obava z nedostatečného výkonu a stability v případě nasazení do tzv. One Platform. Vzhledem k monolitické architektuře celého systému nedávalo smysl se pokoušet o jeho úpravu. Rozhodli jsme se jít cestou mikroslužeb psaných v Pythonu.
Základním pilířem naší platební aplikace je webový framework FastAPI, který jsme si vybrali pro jeho vysoký performance (je postaven na Starlette) a další knihovny v něm obsažené. Aby mohla naše platební aplikace komunikovat s Apache Kafka, využíváme knihovnu Faust. S ohledem na One Platform, a s ní zvýšenou zátěž na naše aplikace, jsme se rozhodli jít cestou asynchronního kódu.
O všem, co se nám podařilo a na čem jsme si vylámali zuby, jsem se rozmluvil v půlhodinové přednášce o platbách v Heurece.