Jak na vlastní ERP?

18. 7. 2019

Sdílet

 Autor: Fotolia
Přemýšleli jste někdy nad tím, jak po IT stránce fungují obří e-shopy se statisíci produkty v nabídce? Jak je možné, že v reálném čase na webu vidíte jako zákazník rovnou dostupnost zboží přímo ve skladech? Jak spolu komunikují logistika a výdejní AlzaBoxy nebo třeba co přesně obnáší doručení do pár hodin od objednání – co všechno je za tím? Zaměříme se na běžně lidem neznámý nástroj – mozek Alzy, chcete-li. Ten totiž spolu s webem e-shop pohání a pomohl vedle neokoukaných nápadů a skvělých lidí dostat Alzu do čela peletonu.

Zasvěcení vědí, že je řeč o interním informačním systému nebo počítačovou řečí o ERP. Alza si tzv. Konzoli stejně jako web a mobilní apky vyvíjí sama inhouse. U webů a apek to není neobvyklé, ale ERP? Proč si Alza vyvíjí ERP sama a z většiny inhouse?  Abychom byli přesní, na vývoji spolupracuje i pár externích odborníků, ale vše jede pod taktovkou lidí z Alzy a vše je řízeno IT společně s businessem.  

Centrální mozek Alzy se jmenuje Konzole.

Alzí Konzoli vyvíjíme už dlouho, letos to bude 15 let. Začalo to skromně s pár moduly a pár tabulkami. Ale už od začátku jsme věděli, že si Konzoli chceme dělat sami. Důvod je nasnadě: kdo nejlépe zná náš business, naše nápady, naše procesy? Kdo v řádu dní stávající procesy postaví na hlavu a implementuje nové, lepší? Kdo za pár hodin a pár korun udělá nové moduly s novou funkčností? My, nikdo jiný,“ uvádí Pavel Ježek, týmový vedoucí interního systému Alza.cz, a doplňuje: „Konzole už má přes 160 modulů a kromě zpracování objednávek v sobě zahrnuje i celý obchodní proces, nábor nových zaměstnanců. Pracují s ní všechna oddělení napříč firmou – logistika, celá pobočková síť e-shopu včetně call centra, personálního, marketingu, obchodníků, prostě každý.“

Alza letos slaví 25 let. Systém už má také svůj věk. Z historických důvodů má tlusté desktopové klienty, je to monolitická aplikace, veškerá aplikační logika je v uložených procedurách a pohledech na MS SQL Serveru. SQL Server je výborný, ale špatně se pro zápis škáluje.

Optimalizujeme, nakupujeme nový HW, třeba naše servery mají 6 TB paměti. Ale Alza roste výrazně rychleji než výkon HW, brzy narazíme na výkonové limity architektury Konzole. To byl jeden z důvodů, proč jsme se rozhodli, že vytvoříme úplně nové ERP,“ komentuje situaci Pavel Ježek. 

V názvech ERP není firma příliš kreativní, nová verze má pracovní název Konzole 2.0. O to jsou ale ajťáci kreativnější ve vývoji.

Rozhodli jsme se, že nové ERP nám musí vydržet taky minimálně 15 let, bude škálovatelné, postavené na cool ale prověřených technologiích, ještě nám zrychlí vývoj. Inspirujeme se a vybíráme technologie u lídrů, jako jsou Google, Facebook, Microsoft, Netflix, Uber, LinkedIn, Amazon, SoundCloud, RedHat a další,“ říká Pavel Ježek a dodává: „Bereme to z gruntu. Naši ajťáci se nepovažují za nejchytřejší na světě, a tak úzce spolupracují při vývoji s ostatními lidmi v Alze. Třeba i nějakou dobu pracují na jiném oddělení, aby dobře porozuměli tomu, co ostatní potřebují.“

Konzole 2.0 už není monolitická, je postavená na tzv. mikroservisách. Každá mikroservisa zahrnuje jednu doménu, např. logistiku nebo finance. Je v maximální možné míře nezávislá na ostatních mikroservisách, má svoji vlastní databázi.

Je jasně daná zodpovědnost, jak mikroservisy, tak vývojáře. Každý vývojář má svůj píseček, kterému rozumí, nemusí se bát složitého systému. A kdyby Alzák rozbil některou mikroservisu, tak zbytek systému stále funguje.

Jsme programátoři, ulehčujeme si práci, a proto jsme si vybudovali vlastní platformu pro back-end i front-end, která nám umožňuje vytvářet nové moduly velmi rychle,“ doplňuje Pavel Ježek. Databázový engine už není pouze MS SQL Server, ale i PostgreSQL nebo třeba NoSQL databáze MongoDB.  Mikroservisy programují v .NET Core a v Javě a mají více rozhraní. Používají je podle toho, na co konkrétně se jim hodí. Kromě dnes už tradičního a v Alze v menší míře využívaného RESTu, používájí GraphQL od Facebooku a gRPC od Googlu.

Konzole 2.0 neběží ve veřejném cloudu. Místo toho postavili vlastní on-premise. Vede je k tomu hned několik důvodů – mimo jiné síťová latence a cena.

bitcoin_skoleni

Pokud budeme potřebovat zvednout výpočetní výkon, máme vyzkoušený hybridní cloud, kdy část nodů máme on-premise a část ve veřejném cloudu. Díky skriptování infrastruktury je vyrollování velmi rychlé, nejdéle trvá nastavení VPN tunelu a nalezení kreditní karty. Mikroservisy běží v docker linuxových kontejnerech, které orchestrujeme v Kubernetes.

Vychází z Borgu, na kterém běží služby Google. Kubernetes jsme začali provozovat dříve, než se o nich začalo mluvit na českých konferencích.  Front-end vyvíjíme v Angularu, vyvíjíme si vlastní komponenty. Nové ERP bude dostupné téměř z jakéhokoliv zařízení a odkudkoliv z Internetu. Díky dvoufaktorové autentifikaci odpadá nutnost pro lidi obtěžující VPN. Uvědomujeme si možnost útoků, a tak se soustředíme i na bezpečnost a kromě tradičních firewallů jsme např. schovaní za scrubingovým centrem,“ vysvětluje Pavel Ježek.