Jak rozložit banku a znovu ji složit v cloudu
V porovnání s dalšími obory začala v bankovnictví cloudifikace poměrně pozdě. Má to samozřejmě svůj důvod, protože v tomto oboru je nutné inovace pečlivě vyvažovat s bezpečností a spolehlivostí. Navíc si přenos banky do cloudu žádá skutečně zásadní technologickou změnu.
Nedávný průzkum společnosti Accenture mezi stovkou bank ukázal že 63 % z nich v současné době přesouvá své systémy do cloudu, nebo se na to v blízké době chystá. Důvod je jasný – využití síly cloudu, možností analýzy dat a schopností umělé inteligence v rámci vzájemně propojených bankovních systémů umožňuje akcelerovat vývoj nových produktů a služeb, stejně jako dále zkvalitnit obsluhu klientů a zavádět nové obchodní kanály.
Cloud ale bankám pomůže vyřešit i problém nezadržitelného stárnutí jejich technologické základny – hardwarové i softwarové. Skutečně velká výzva tradičních bank totiž spočívá v tom, že jak se v průběhu (desítek) let usilovně snažily vyvíjet stále nové služby pro klienty a aplikace pro back-office, napojily na svůj základní zúčtovací (tzv. core) systém obrovské množství dalších systémů a aplikací. Výsledkem je „propletenec“ do kterého je stále složitější připojit cokoliv dalšího, a navíc se zvyšuje riziko, že nebude možné zajistit specialisty schopné pracovat s technologiemi starými desítky let.
Například jazyk COBOL, který vznikl v 60. letech minulého století, i dnes podle Cobol Cowboys stále pohání systémy 90 % společností z žebříčku Fortune 500 – samozřejmě včetně mnoha bank. Ale kdo dnes COBOL ovládá a jak napojit na desítky let starý systém třeba moderní mobilní bankovnictví? Takových problémů řeší banky stále víc, ale náklady na kompletní technologickou změnu jsou astronomické. Například změna core systému Commonwealth Bank of Australia trvala čtyři roky a stála více než miliardu australských dolarů. Když Britská TSB Bank na jaře 2018 upgradovala svůj systém společně s migrací miliardy zákaznických záznamů, došlo k masivnímu výpadku internetového a mobilního bankovnictví, klientům byly špatně zobrazovány zůstatky jejich účtů nebo viděli do bankovních záznamů někoho jiného. Náklady na migraci kvůli tomu vyskočily o 330 milionů liber a navíc během nastalého chaosu došlo k podvodům ve výši 49 milionů liber.
A pak je tu samozřejmě regulace. Podobně jako se banky desítky let snaží „naroubovat“ nové služby na stávající systémy, musí na ně aplikovat také stále přísnější předpisy, stejně jako bezpečnostní mechanismy. Stejná regulační a bezpečnostní opatření je přitom nutné aplikovat jak na core systém, tak na nejnovější aplikace.
Do cloudu ano, ale s rozmyslem
Jistě, mohli bychom namítnout, že digitalizací a cloudifikací už dávno prošli poskytovatelé mnoha dalších služeb. Rozdíl je ale zřejmý – špatně doručená pizza nebo chyba v rezervaci hotelového pokoje je sice nepříjemnost, ale stále menší než špatně zaúčtovaná platba. Navíc zdaleka ne všechny digitalizované a cloudifikované služby mají za sebou tolik zákazníků a milionů transakcí ve webových a mobilních aplikacích denně.
Nicméně je cloud pro banky jasnou cestou, pouze na ni musí vykročit až po důsledném zvážení řady okolností. K těm základním patří:
- Zabezpečení a lokalizace dat – Bezpečnost je samozřejmě primárním hlediskem všech inovačních projektů v bankách. To znamená, že lze využívat pouze takové služby veřejného a privátního cloudu, které splňují nejvyšší bezpečnostní standardy a mají příslušné certifikace. Takové požadavky splňují například Amazon Web Services nebo Microsoft Azure, které lze využívat i v různých kombinacích. Do výběru poskytovatele cloudu ale vstupuje ještě hledisko regulace. Legislativa totiž po bankách vyžaduje, aby uchovávaly veškerá data nejen s maximálním ohledem na zabezpečení, ale současně také klientská data nesmí opustit území příslušného regionu – v našem případě Evropskou unii.
- Odolnost a spolehlivost – Jedním z důvodů pro nasazení cloudu je i zajištění vysoké dostupnosti služeb. Zkušenosti ale ukazují, že ani globálním poskytovatelům cloudu se nevyhýbají výpadky. Nedostupnost služeb je ale pro banku obrovský problém, a proto se zvýšení spolehlivosti řeší nasazením služeb ve více různých geografických lokacích či u různých cloudových poskytovatelů.
- Rychlost odezvy – Jedním z typických problémů cloudových služeb je doba odezvy aplikací, které v cloudu běží. Například studie Nielsen Norman Group uvádí, že návštěvníci webových stránek negativně vnímají odezvu delší než 100 milisekund – tedy desetinu sekundy. V případě cloudu ale není doba odezvy aplikace plně v rukou tvůrců aplikací – svůj podíl má i geografická vzdálenost datového centra.
Teprve po důkladném zvážení, pilotování a otestování, jak tato hlediska splňuje zvolená kombinace cloudových služeb, nastává nejnáročnější fáze přesunu banky do cloudu – rozpletení vazeb mezi existujícími systémy a aplikacemi, jejich kompletní přepracování a pak i migrace do cloudu.
Aplikace v kontejnerech
Je samozřejmě velký rozdíl mezi novou, internetovou bankou, a tradiční bankou se sítí poboček, která si s sebou nese celá desetiletí udržované systémy. Ty je před migrací do cloudu nutné dekomponovat na jednotlivé aplikace či skupiny souvisejících aplikací (platební styk, kartové operace a desítky dalších), podle potřeby je modernizovat (tedy v podstatě přepsat do jiné technologie) a následně migrovat do cloudu. Vrcholem celého procesu je pak cloudifikace samotného core systému.
Proč je nutné stávající aplikace přepisovat? Především proto, aby skutečně odpovídaly „době cloudové“ – co do rychlosti odezvy, škálovatelnosti, zabezpečení a také možnosti dalšího rozvoje. Za tímto účelem má každá banka sadu preferovaných technologií, které zpravidla vycházejí z aktuálních trendů v tvorbě webových aplikací bohatých na obsah, ale s minimálními nároky na přenos dat do klientských zařízení. Do této sady technologií patří například Kotlin, TypeScript a React, se kterými pracují (nebo je samy vyvíjejí) i technologické giganty jak Google či Meta.
Přesun aplikací do cloudu pak obrovsky usnadňuje technologie kontejnerů. Kontejnery umožňují provozovat aplikace prakticky bez ohledu na technologii, na které jsou postaveny, a zdali jsou nasazeny v lokálním nebo cloudovém prostředí. Sázíme na kontejnery na platformě Kubernetes – v rámci privátního cloudu na RedHat OpenShift i ve veřejném cloudu Amazon Web Services a Microsoft Azure.
Dekompozice a kontejnerizace umožňuje bance projít migrací do cloudu postupným způsobem a nikoli metodou „velkého třesku“, která je obzvláště riziková. Postupná migrace navíc umožňuje nejen lépe řídit rizika, ale také náklady. Do budoucna to navíc znamená možnost opět postupně přepisovat aplikace a služby na modernější technologie, vše důkladně otestovat a pak jen „vyměnit kontejner“. Kontejnery lze navíc relativně snadno přesouvat mezi cloudy a řešit tak několik problémů najednou – dobu odezvy, škálovatelnost i provozní náklady.
A pokud pro nějakou aplikaci nebude cloud vhodným řešením, lze ji přesunout do vlastního datového centra. Těch se banky ani po cloudifikaci rozhodně úplně nezbaví. Konsolidují je a stále je budou využívat především jako vývojové a testovací prostředí.
Na cestě do cloudu
Zbývá ještě poslední velká otázka – s kým se na cestu do cloudu vydat? Většina bank si během času prošla různými modely vývoje nových systémů a aplikací. Jako zcela nepoužitelný se ukazuje offshoring. Geografická a kulturní vzdálenost, stejně jako specifika daného odvětví v konkrétním regionu, prakticky vylučují, aby se bankovní aplikace vyvíjely v offshoringových centrech v Indii nebo jiné vzdálené zemi. Nehledě na obecné problémy s pružností, kvalitou a spolehlivostí tohoto způsobu vývoje. Daleko typičtější je ale outsourcing vývoje u nějakého lokálního dodavatele. I ten má ale své nevýhody – především v nepřímo úměrném vztahu mezi rychlostí a kvalitou vývoje. A přestože outsourcingový partner může do vývoje přinést i užitečný pohled zvenčí, s externím týmem se jen těžko podaří vybudovat skutečnou kulturu ownershipu k produktům.
Proto se nám nejvíce osvědčilo vybudovat si vlastní vývojový tým, plně odpovědný za digitalizaci produktů, vytváření a modernizaci systémů i aplikací a jejich provozování v cloudu. S vlastním vývojem lze postupovat rychleji, konzistentně a s jasnou zodpovědností za produkty a jejich kvalitu. Velkou roli hraje také pružnost, protože i když je bankovnictví konzervativní odvětví, na řadu okolností je nutné reagovat velmi rychle.
Tomáš Metz Autor zastává pozici Head of Engineering v České spořitelně, kam nastoupil v roce 2022 s cílem podpořit transformaci banky v hi-tech společnost. Má zkušenosti z různorodých projektů napříč společnostmi po celém světě. Za sebou má například působení v McKinsey New Ventures, kde zodpovídal za projekty pro globální klienty. |