Pilulka.cz e-shop’s revenue of over 2 billion CZK on vshosting~ servers

The Pilulka Lékárny group has been operating on the Czech, Slovak and Romanian markets since 2013. We manage 125 Pilulka pharmacies along with online pharmacies.

2 bil.Revenue in CZK

1698Supply points

2013Founding year


2 years



About Pilulka.cz

The Pilulka Lékárny group has been operating on the Czech, Slovak and Romanian markets since 2013. We manage 125 Pilulka pharmacies along with online pharmacies.

In 2017, we received the APEK E-commerce Awards 2017 award for the most innovative and original online shop.

The challenge we solved together

Ever since we started the business, we at Pilulka have been looking for a partner that would help us set up the infrastructure in such a way that would be easily scalable in the future.

Aside from reliability, the ability to proactively bring improvement propositions to the table were also important selection criteria for us. Simply a partner that can manage the quick growth of a small business into a huge one.

Why we chose vshosting~

vshosting~ managed to come up with a proposal of a fully scalable infrastructure, customized to our needs. In addition to that, we received many tips regarding the choice of appropriate tools thanks to which our rapid growth was much easier (and cheaper).

On top of things, vshosting~ has experience with managing large internet projects, so we knew right from the start that we’ll be in good hands.

Even though we were much smaller than we are now when we were looking for a partner to manage our infrastructure, we decided to go with the number one on the market. We also received multiple positive references from our business friends who have already been using vshosting~ services.

Michal Hanáček COO of Pilulka Lékárny

The hosting solution we opted for

Due to the significant size of the Pilulka project, we are currently using a Managed Cluster that deals with requests towards our company websites. The cluster is complemented by a group of Managed and Dedicated Servers, where we operate various supporting services (central logging from servers, analytical services and tools, testing and development environments).

The cluster comprises of two load balancers that distribute requests among the various servers in the cluster and is at the same time realized as an SSL request accelerator. The servers operate in the active-backup mode – in the event of a malfunction of the active node, all of the traffic is redirected to a backup server within seconds. Web requests are distributed from load balancers to a group of application servers that are containerized and each application runs entirely on its own, completely separate from the rest.

Containerization allows for a lot of flexibility when working with applications – e.g. upgrading to a new version of the application by launching new version of the app in a new container and after testing seamlessly deploying it into production with zero downtime. All of the website requests are processed by these application servers, be it dynamically generated or static content. Static content is stored on a central disc storage which works in sync with all of the application servers – this type of content then doesn’t need to be stored on each server separately which saves financial resources but more importantly simplifies the application design because it’s not necessary to concern oneself with data synchronization.

The cluster also consists of a trio of database servers where both SQL and noSQL databases run. As an SQL database, the MariaDB database in the Galera mode is used, which is a very robust solution that they have been operating at vshosting~ for years in dozens of instances. The application servers communicate with the SQL database via a load balancer, where the Maxscale component facilitates distribution of the SQL query among nodes. For noSQL data, we chose ElasticSearch, with which the applications communicate directly and the load distribution is conducted by the driver inside the application. The trio of servers is designed as N+1, so for full functionality the operation of 2 servers is needed. 

According to our requirements, the solution design was implemented in full redundancy mode and with the emphasis on the possibility of further growth which reflects Pilulka’s rapid expansion both on the Czech market and abroad.

Our cooperation works the way it should. That may sound trivial but unfortunately, it isn’t usual to find a partner that you can rely on and who is also able to give you relevant feedback.

Martin Křižan CTO of Pilulka Lékárny

Pilulka.cz’s technical solution schema