ShipMonk se v současné době řadí mezi revoluční firmy v oblasti logistiky, protože využívá nejmodernější technologie. Začínali ale jako malý startup, který měl skvělý business plán. Ten ocenili i v zahraničí a díky investici začali rychle růst. Z toho důvodu několik serverů, o které jsme se starali a infrastruktura přestala stačit.
ZADÁNÍ
Původně ShipMonk fungoval na 3 produkčních serverech a 4 vývojových. Servery byly umístěné u Vultr a Digital Ocean.
Vzhledem k monolitické povaze aplikace byl hlavní produkční server jednou z největších instancí v Digital Ocean. Toto nastavení ale bylo z hlediska využitelnosti nevýhodné, protože:
- neumožňovalo škálování – výkon nemohl být přidán jinak než navýšením instance, což bylo nejen neekonomické, ale v budoucnu i nemožné
- aktualizace byly problematické a vyžadovaly krátké odstávky aplikace
- ani jeden z poskytovatelů v té době neměl oddělená datacentra, na které by bylo možné jednoduše přepnout, proto disaster recovery plán zahrnoval udržování kopie a migraci k druhému poskytovateli
Vznikla tedy potřeba připravit řešení, které zvládne rychlý růst firmy a také technologické nároky.
ŘEŠENÍ:
Rozhodli jsme se přejít do AWS a využít Kubernetes. Tomuto kroku předcházela úprava aplikace do mikroservice (úpravu si ShipMonk provedl sám). My jsme vytvořili celé prostředí v Terraform, pomáhali jsme odladit a monitorovat Kubernetes.