Situácia
Svoj web StartupJobs spúšťali v roku 2012 na freehostingovej službe. Krátko na to prešli na virtuálny server, následne rozdelili front-end a back-end medzi viacero VPS, ale už čoskoro ani takéto riešenie nestačilo. Výpadky a nestabilita začali brzdiť ďalší rozvoj portálu.
Biznis rástol, ale infraštruktúra ho nestíhala nasledovať.
„Za 1. rok nám návštevnosť stúpla 4x a za 2 roky už 9x.”
Filip Mikschik, zakladateľ StartupJobs
Misia Webglobe
Navrhli sme kompletnú reštrukturalizáciu backendu a prechod na vysoko dostupnú infraštruktúru (HA).
Cieľom bolo:
- eliminovať výpadky
- zabezpečiť firme plynulý rast bez prekážok
- uvoľniť ruky vývojárskemu tímu a pripraviť priestor pre inovácie
Čo sme spravili
Namiesto ad hoc pridávania ďalších VPS sme navrhli úplne nové riešenie na mieru – také, ktoré:
- zvládne nárazovú záťaž bez zaváhania
- umožní bezpečné nasadzovanie nových verzií (staging)
- automaticky sa prispôsobí zmenám prevádzky
„Počet používateľov nám stabilne medziročne rástol o 20 %. Chceli sme mať istotu, že to náš web ustojí.”
Filip Mikschik, zakladateľ StartupJobs
Všetko sme postavili na kontajneroch v Docker Swarm clusteri s možnosťou jednoduchého škálovania.
Reštrukturalizáciu sme z dôvodu väčšej efektivity a zníženia nákladov rozdelili na 2 etapy:
- Stabilizácia situácie: v spolupráci s developermi StartupJobs sme všetky aplikácie a komponenty webu upgradovali a rozdelili na samostatné servery.
- Prechod na plnohodnotnú HA: zduplikovali sme kľúčové časti webu vytvorili k nim automatický failover (výpadok ktoréhokoľvek komponentu nesmel spôsobiť výpadok celého webu).
„Ak by teraz mal nastať výpadok jedného serveru, systém automaticky prepne na druhý. Tým zníži nedostupnosť služieb na sekundy.”
Lukáš Kasič, Webglobe architekt infraštruktúry
Výsledok
- Dostupnosť stabilne nad 99,99 %.
- Web bez problémov zvláda až 2 600 návštev za hodinu.
- Medziročný rast používateľov o 46 %.
- Výrazne vyššia stabilita, výkon a spokojnosť vývojového tímu.
„S novou infraštruktúrou sme v roku 2023 ustáli rekordný 46 % rast používateľov.”
Petr Orosz, CTO StartupJobs
Tým sa naša práca nekončí. Na ďalší rýchly rast StartupJobs máme už vopred navrhnuté riešenia. Dlhodobo odporúčame prechod zo zdieľanej virtualizácie na vlastný virtualizačný cluster s fyzickými servermi.
Na hardvér sme odborníci. Používame výlučne enterprise grade komponenty s výrazne dlhšou životnosťou v porovnaní s tým, čo sa bežne používa.
A vieme, ako ich optimalizovať, aby sme z fyzických serverov dostali skutočne maximum.