Jak inovujeme náš systém DCIx? Porcujeme ho jako slona!
Starý systém novým technologiím naučíš!
Monolit našeho DCIx jsme se rozhodli rozbít na dílčí služby za použití aktuálních technologií, jako jsou Kubernetes, Docker, Spring, Hibernate, Angular nebo API gateway. Že je to docela velká dávka novinek? To sice ano, ale zmíněné technologie nám umožní jít s dobou a po jejich zapojení budou další posuny v budoucnu hračkou. Nová verze je navíc synonymem pro vysokou dostupnost, konfigurovatelnost, bezvýpadkové nasazení a škálovatelnost. To vše mají naši zákazníci rádi! (A my také.)
„Když jsme prováděli výběrové řízení, měli jsme jasné požadavky. Chceme to v cloudu a chceme API komunikaci. Aimtec nám odpověděl, že cloud zatím nikdo nasazený nemá, ale můžeme do toho jít společně. API nám slíbili udělat na míru a rovnou to vyzkoušet,“ vysvětluje zakladatel firmy Skladon Constantin Margaretis o tom, jak se s námi vrhli do DCIxWMS. Právě Skladon je pro nás totiž zákazníkem, který s námi často testuje čerstvé novinky.
Hyperprostorový skok v podobě „nového“ DCIx si ale žádá svou daň – musíme pořádně zamakat a stát se mistry v oborech, které zatím nebyly součástí našich kodérských rutin.
Když projekt spojí několik oddělení
Abychom novou podobu DCIx řádně vymazlili, přirozeně se v projektu propojila práce několika týmů z různých koutů Aimtecu. Naše interní IT se stará o infrastrukturu a monitoring v cloudu, Linux a Kubernetes rozhraní, s návrhem architektury nám pomohli kolegové z oddělení integrací, protože s provozem aplikací v cloudu mají díky ClouEDI nespočet zkušeností. Parta, která se o DCIx stará běžně, zase mezi sebou začala pravidelně sdílet zkušenosti se zmíněnými novými technologiemi a navzájem se od sebe učit.
Aha momenty a co si odnášíme?
Podobný projekt zatím v Aimtecu nemá obdoby, a i když sám uživatel nic nepozná, nám přinesl mnoho změn a ponaučení. Co si odnášíme?
- Nemá vždy smysl snažit se věci dotáhnout na 100 %.
- Efektivnější je nasadit 80% řešení a za pochodu ho doupravit tak, aby šlapalo jako hodinky.
- Je lepší začínat v cloudu. o Podobné projekty lze v cloudu průběžně upravovat a updatovat. Vše máme plně pod kontrolou. Odpadá řešení připojení na prostředí zákazníka a komunikace s jeho interním IT oddělením.
- Je důležité mít API, ale není jednoduché ho vymyslet.
- Dobře navržené API je základ pro rozdělení aplikace na služby a standardizaci integrací s ostatními systémy. To jsme věděli, ale brzy jsme zjistili, že to není zas tak snadné. Ale učíme se a zlepšujeme.
Je za námi hodně práce, ale před námi ještě pěkně dlouhá cesta. U prvních zákazníků už nová verze DCIx jede na plné obrátky. Momentálně u nich dolaďujeme on-premise nasazení a provoz a už plánujeme třeba to, jak uvést do života Angular klient nebo jak rozjet asynchronní volání mezi službami.