Pilulka v číslech
2 mld.
1698
2013
4 roky
O Pilulka.cz
Skupina Pilulka působí na českém, slovenském a rumunském trhu od roku 2013. Provozují 125 Pilulka Lékáren společně s internetovými lékárnami.
V roce 2017 získali ocenění APEK E-commerce Awards 2017 za nejvíce inovativní a originální internetový obchod.
Výzva, kterou jsme společně řešili
Už při začátku podnikání hledala Pilulka partnera, který pomůže s nastavením infrastruktury tak, aby byla v budoucnu snadno škálovatelná.
Kromě spolehlivosti byla dalším kritériem i schopnost proaktivně přicházet s návrhy na zlepšení. Jednoduše partner, který je zvládne rychlý růst malého byznysu na obrovský.
Spolupráce běží tak, jak by měla běžet.
To zní triviálně, ale bohužel není běžné, že najdete partnera, na kterého se můžete spolehnout a je vám schopen dát i zpětnou vazbu.
Proč jsme si vybrali vshosting~
vshosting~ dokázal přijít s návrhem plně škálovatelné infrastruktury přímo na míru. Kromě toho jsme dostali spoustu tipů ohledně volby vhodných nástrojů, díky kterým by náš rychlý růst mnohem snazší (a levnější).
Navíc má vshosting~ zkušenosti se správou velkých internetových projektů, takže jsme od začátku věděli, že budeme v dobrých rukou.
Schéma technického řešení Pilulka.cz
Jaké hostingové řešení jsme zvolili
Vzhledem ke značné velikosti projektu v Pilulce momentálně využíváme Managed Cluster, který odbavuje požadavky na webové stránky společnosti. Cluster je rozšířen o skupinu Managed i Dedicated Serverů, kde jsou provozovány různé podpůrné služby (centrální logování ze serverů, analytické služby a nástroje, testovací a vývojové prostředí).
Cluster je tvořen dvojicí loadbalancerů, které slouží pro distribuci požadavků mezi jednotlivými servery clusteru a zároveň je realizován jako akcelerátor SSL požadavků. Servery pracují v režimu active-backup – v případě poruchy aktivního nodu je veškerý provoz v řádu jednotek vteřin převeden na záložní server. Webové požadavky jsou z loadbalancerů distribuovány na skupinu aplikačních serverů, které jsou kontejnerizovány a každá aplikace zde běží zcela samostatně a odděleně od ostatních.
Kontejnerizace umožňuje velkou flexibilitu při práci s aplikacemi – např. upgrade na novou verzi spuštěním nové verze aplikace v novém kontejneru a po otestování je provoz zcela bez výpadku přepnut do produkce. Z těchto aplikačních serverů jsou odbavovány veškeré webové požadavky a to jak dynamicky generovaného tak statického obsahu. Statický obsah je uložen na centrálním diskovém úložišti, se kterým pracují všechny aplikační servery – tento typ obsahu díky tomu nemusí být ukládán na každém serveru samostatně, což šetří finanční prostředky ale především zjednodušuje návrh aplikace, protože není třeba zajišťovat synchronizaci dat.
Cluster pak dále tvoří trojice databázových serveru, kde běží jak SQL tak noSQL databáze. Jako SQL je zde provozována databáze MariaDB v režimu Galera, což je velmi robustní řešení které ve vshosting~ provozují již léta v desítkách instancí. Aplikační servery s SQL databází komunikují skrz loadbalancer, kde komponenta Maxscale zajišťuje distribuci SQL query mezi jednotlivé nody. Pro noSQL data jsme zvolili ElasticSearch, se kterou aplikace komunikují napřímo a rozdělení zátěže je realizována přímo ovladačem v aplikaci. Trojice serverů je designována jako N+1, takže pro plnou funkcionalitu je nutný běh 2 serverů.
Návrh řešení byl na základě našeho požadavku realizován v plné redundanci a s důrazem na možnost dalšího rozšíření, což reflektuje rychlou expanzi Pilulky na českém ale i zahraničním trhu.
I když jsme v době hledání partnera pro správu infrastruktury byli mnohem menší, než teď, rozhodli jsme se rovnou jít k jedničce na trhu. Od našich byznysových přátel, kteří už služby vshosting~ využívali, jsme navíc získali několik skvělých referencí.