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.
Copy link
On this page
Nasazování změn
Problém
Řešení