Období, kdy firmy soupeřily pouze s konkurencí z blízkého okolí, státu nebo kontinentu, je nenávratně pryč. Vstoupili jsme do éry globální ekonomiky a technologického pokroku, kde firmy ze vzdálených částí světa soutěží s lokálními firmami. Nároky zákazníků na kvalitu a rychlost služeb stále rostou, stejně tak i rychlost změn v jejich chování v závislosti na životních situacích, kterým čelí. S tímto trendem se zvyšuje i tempo technologických inovací. Otázkou je, jak tvořit softwarová řešení a digitální produkty, aby zavádění inovací dlouhodobě umožňovaly a jejich investorům nezbyly jen oči pro pláč? Právě proto poslední dobou získává pozornost tzv. MACH architektura.

Aby firmy dosahovaly dlouhodobého úspěchu, je nezbytné, aby jejich IT řešení bylo schopno rychle reagovat na proměny byznysových a zákaznických potřeb. Tato adaptace by neměla trvat roky, ale spíše měsíce a dny. Potřebují řešení, které lze snadno upravovat, rozšiřovat, škálovat a integrovat s dalšími aplikacemi v ekosystému. Řešení, které umožní využívat nejnovější technologické inovace, aniž je ohrožena maximální úroveň zabezpečení.

Co je to MACH architektura?

Během posledních 15 let prošel svět softwarového vývoje dramatickou transformací. Z klasických monolitických aplikací a architektury orientované na služby (SOA) či podnikové sběrnice služeb (ESB) nasazené na vlastních serverech jsme viděli přechod k modulárním aplikacím vytvořeným přímo pro cloud. Tyto aplikace se vyznačují výborným propojením, schopností snadné úpravy a škálování. Pro architekturu těchto systémů se zažila zkratka MACH, která reprezentuje základní pilíře, na nichž je postavena – microservice, API-first, cloud-native a headless.

Prvním z principů MACH architektury je modularizace (M) systému do logických celků, které reprezentují byznysové či technické funkce systému. Cílem je vytvořit modulární systém, který je flexibilní, snadno škálovatelný a plně podporuje růst vašeho podnikání. Umožňuje nejen nezávislý vývoj jednotlivých modulů, jejich rozšiřitelnost, lehčí integrovatelnost a škálovatelnost, ale také nezávislost na dodavateli či možnost nahrazení daného modulu systémem třetí strany či SaaS. Zavádět inovace a rozšiřovat modularizované IT řešení je tím pádem relativně snadné – stačí upravit daný modul a zapojit ho do ekosystému. A co víc, můžete jej změnit bez obav, že byste se dostali do problémů s ostatními částmi systému, jako tomu bývá u monolitických aplikací. 

API a cloud = flexibilní rozšiřování systému dle potřeb

API-first (A) princip definuje zaměření na vytváření API jako klíčového prvku v designu softwarových řešení. I když není každý nadšenec pro API-first přístup, v tomto kontextu je klíčový pro dosažení otevřenosti a možnosti integrace vašich systémů. To znamená, že funkce a logika vašeho systému jsou dostupné skrze precizně navržená rozhraní pro vzdálená volání služeb, což umožňuje hladkou interakci s ostatními aplikacemi. 

Podle principu Cloud-Native (C) nejsou IT řešení v cloudu pouze provozována, ale naplno využívají specifických a velmi dobře optimalizovaných služeb, které cloudový poskytovatel nabízí. Takovými jsou například databáze AWS Dynamo, autentizační nástroj AWS Cognito, Google BigQuery pro zpracovávání velkého objemu dat či Google Kubernetes Engine pro automatické škálování. Využívání předpřipravených řešení snižuje velikost projektu, snižuje riziko chyb a umožňuje naplno využívat potenciál cloudových systémů. I když nemusíte být zastáncem plně cloud native přístupu, je důležité využívat specifických cloudových funkcí pro dosažení maximální efektivity a výkonu vašeho systému.

Posledním principem je headless (H) – ten zaručuje, že je uživatelské rozhraní odděleno od aplikační logiky daného IT řešení. I když nemusíte být přesvědčeni o všestrannosti headless přístupu, umožňuje to efektivnější výrobu specifických uživatelských rozhraní pro různá zařízení nad společnou aplikační logikou a obsahem, který pak může být konzistentní napříč kanály v multi-channel prostředí. Headless systémy samy o sobě implementují druhý z principů a jsou API-first řešením.

Nová IT infrastruktura je investice esenciální pro byznys

A jak to vypadá v praxi? Společnosti CYRRUS dodáváme obchodní systém nové generace. Modulární systém stavíme nad existujícím headless produktovým řešením a vlastní aplikační logikou, nad níž vytváříme specifická uživatelská rozhraní pro makléře a další uživatele systému. Pro bezproblémový provoz využíváme Google Cloud s využitím cloud native funkcí, jako jsou GCP Pub/Sub pro message broker, GCP API Gateway, GCP BigQuery pro Data Warehouse a Google Kubernetes Engine (GKE).

Pro společnost Benefit Plus pak přinášíme modernizovaný katalog zaměstnaneckých benefitů a inovativní platební řešení, které zaměstnancům umožní jejich příjemné nakupování. Jde o systém s dlouhou životností, který bude neustále inovován, a proto aplikujeme principy MACH architektury v praxi. Systém je modulární, postavený na cloudu, využívá API first i headless principy. Aplikační logika je striktně oddělena od systému uživatelského rozhraní tak, aby logiku bylo možné volat odkudkoli.

Věřím, že MACH architektura je investicí do dlouhodobé udržitelnosti jak v IT řešení, tak v podnikání. Stejně jako já si můžete klást otázku, zda je nutné vždy investovat do implementace všech jejích pilířů. Zde mám čistě pragmatickou odpověď – ano. Myslím si, že je to nutné zejména u těch řešení, od kterých očekáváte dlouhodobou životnost.