Infrastruktura a nasazování změn
Pro informace ohledně rychlosti e-shopu navštivte náš SEO Checklist.
Nasazování změn
V rámci nasazování máme pro vývojáře zaveden systém, který umožňuje:
Automatický deployment (develop, release, stage a production)
Každý release má vlastní URL adresu pro testování klientem
Škálování
Správu kontejnerovaných aplikací
Systém je postavený na technologiích:
Kubernetes
Docker
Gitlab
Problém
Jelikož využíváme Headless E-commerce přístup (microservices), je nutné mít pro každý typ služby vlastní server a vlastní prostředí. V rámci klasické architektury může být relativně složité spravovat vícero oddělených aplikací v rámci jednoho projektu. Současně vyžaduje nastavení deploymentu na míru a jeho neustálou správu.
Z těchto důvodů nelze architekturu jednoduše škálovat.
V případě aktualizace aplikace vyžaduje nová verze jiné prostředí pro běh, které není se stávající verzí kompatibilní -> musí běžet v novém prostředí.
Vývojáři musí znát funkčnost a technologie celé aplikace pro různé změny:
Špatné rozdělení kompetencí vývojář / devops / server admin
Monolitický přístup neumožňuje změny technologií jednotlivých částí aplikace
Řešení
Jako řešení používáme Docker v rámci Kubernetes pro vytvoření oddělených prostředí pro jednotlivé typy služeb.
Kubernetes a Docker umožňuje velmi jednoduchou replikaci, což umožňuje:
Jednodušší používání aplikací
Škálování (i na úrovni aplikací)
Změnit technologie jednotlivých aplikací nezávisle -> rychlejší reakce na inovace
Automatický deployment
Toto řešení dále přináší:
Jednodušší identifikace bottlenecků a problémů s výkonem
Standardizaci technologií - lepší přenositelnosti a nezávislosti v rámci serverových poskytovatelů a jejich prostředí
Máme zavedené také standardizované API, takže při aktualizaci nemusí být nutné aktualizovat ostatní aplikace.
Last updated