Raiffeisenbank CZ & ORBIT

Namísto několikahodinové manuální práce různých týmů umí dnes novou aplikaci nasadit automatizovaně během několika minut. Raiffeisenbank k tomu využila princip „infrastructure as code“. Díky němu může banka počítat s jednoduchou správou všech budoucích aplikací a s vysokou efektivitou provozu s minimem manuálních zásahů. Jak se tato změna „urodila“?

„Princip infrastructure as code a myšlenka end-to-end automatizace (CI/CD, DevOps) zkracují a zjednodušují proces nasazení aplikací. Garantují nám, že všechna naše prostředí jsou identická, což významně usnadňuje následnou správu.“
Tomáš Kavalír, IT Project Manager, Raiffeisenbank
Raiffeisenbank: Automatizace nasazení aplikací do AWS | ORBIT

Poctivá ruční výroba? Ne, díky…

Již před zahájením projektu provozovala Raiffeisenbank (RB) kontejnerizované aplikace v on-premise. V procesu testování–nasazení–správa aplikace však byly automatizovány jen dílčí části.

Řada kroků probíhala (semi)manuálně a vyžadovala kooperaci mnoha týmů. Mohlo tak docházet k nekonzistenci mezi jednotlivými prostředími, která následně vyžadovala (ruční) nápravu.

Veškerý provoz on-premise infrastruktury se navíc odehrával v režimu 24×7, což je neekonomické. Zejména nižší, neprodukční prostředí (vývoj a testování) má smysl provozovat jen v době, kdy jsou reálně potřeba (např. při nasazení nové verze aplikace).

…raději automatizace nasazení aplikací s využitím principu IaC

Společný projekt RB a ORBIT si dal proto za cíl najít cloudové řešení, které:

  • co nejvíce zkrátí dobu nasazení nové aplikace,
  • využije přitom end-to-end automatizace,
  • bude co nejjednodušší na správu (využití PaaS služeb atp.).

Pro tento účel jsme vybrali pilotní aplikaci BAAPI (viz box), která teprve vznikala a nebyla reálně nasazena v on-premise infrastruktuře. Mohli jsme tak stanovit moderní „cloudový postup“ nasazování kontejnerizovaných aplikací do AWS, který se stane základem uceleného frameworku, podle něhož bude Raiffeisenbank instalovat aplikace v budoucnu.

RB si vybrala ORBIT kvůli jeho orientaci v AWS službách a jeho detailní znalosti prostředí i procesů v bance.

Bank Aggregation API Platform (BAAPI)

Důležitá aplikace (součást většího celku) umožňující budoucím klientům banky ověření pomocí bankovní identity. Aplikaci bance dodávala externí firma, a nebylo tedy možné ji přizpůsobit aktuálním potřebám projektu.

Každá společnost, která se snaží využít cloud naplno, začne dříve či později přemýšlet nad automatizací. Raiffeisenbank se rozhodla opřít o koncept Infrastructure as Code (IaC), jehož cílem je mít infrastrukturu definovanou podobným způsobem jako zdrojové kódy aplikace.

O tom, kdy je nejrozumnější IaC využít a které nástroje je vhodné použít, se dočtete v tomto článku Encyklopedie cloudu.

Průběh projektu automatizace nasazení aplikací

Výsledného moderního řešení se nám nakonec podařilo docílit cestou „částečné revoluce“ (některé oblasti řešení zůstaly spíše evolučním posunem on-prem stavu), která zahrnovala tyto fáze:

  • sumarizace požadavků a potřeb RB
  • návrh cílové cloud architektury řešení
  • příprava dílčích Infrastructure as Code komponent
  • customizace image pilotní aplikace BAAPI
  • příprava Continuous IntegrationContinuous Delivery pipelines
  • monitoring a logging celého řešení

„To stačí jen tady zapnout?“

Byla pro nás radost pozorovat údiv na tvářích administrátorů, když zjistili, že procesy, které řešili v on-premise poměrně dlouho a s rizikem chyby, jsou ve výsledku záležitostí několika kliknutí s jasným výsledkem.

Hlavní komponenty řešení | ORBIT

Hlavní komponenty řešení

Klíčovými benefity automatizace nasazování aplikací do AWS jsou tedy jednoduchost a spolehlivost. Nasazení nové verze aplikace nyní v RB obnáší změnit jediný parametr v GIT repozitáři. CD pipeline se už postará o nasazení bez jediného manuálního zásahu.

Pokud bude třeba provést větší změnu v samotné infrastruktuře, administrátoři upraví dílčí část Infrastructure as Code template a změna se opět zcela automatizovaně nasadí ve stejné podobě do všech prostředí.

„Díky ORBITu a jejich detailní znalosti AWS jsme mohli lépe a rychleji vstřebat potřebné znalosti a využít je v jiných projektech. Pro mnoho členů týmu byl projekt automatizace nasazení aplikací zkušeností typu learning by doing.“
Tomáš Kavalír, IT Project Manager, Raiffeisenbank

Výstupy automatizace nasazení aplikací

Vytvořili jsme framework, podle kterého může Raiffeisenbank v budoucnu nasadit novou aplikaci do cloudu zcela automaticky. Díky využití konceptu Infrastructure as Code je naše řešení velmi jednoduché na správu. Šetří tedy spoustu času i finančních prostředků a nevyžaduje budoucí zapojení odborníků ORBITu.

Realizace v on-premiseRealizace v AWS cloudu
Nasazení aplikaceNěkolik hodin, mnoho manuálních úkonů, zapojení různých týmůNěkolik minut, zcela automaticky
Konzistence prostředíZměny v jednom prostředí se neřízeně přenášejí na vyšší prostředí, nutné manuální zásahy100% konzistentnost prostředí, díky IaC jsou všechna prostředí nasazována z identického template
Správa řešeníJednotlivé komponenty vyžadují rutinní správu, patch management apod.Všechny komponenty jsou fully-managed (PaaS), minimální nároky na správu
Efektivní využití infrastrukturyVšechny komponenty (ve všech prostředích) běží v režimu 24×7, vysoké nákladyDevelopment prostředí se zapíná pouze při vývoji, neprodukční prostředí běží automaticky pouze v pracovní době, minimalizace nákladů
Škálování aplikací ve špičkáchFixní infrastruktura, není možné ad-hoc škálovatDynamické škálování aplikačních komponent dle reálné zátěže a využití

Obecné srovnání realizace v on-premise a v AWS cloudu