It’s not often that you get a chance to look back and see how far you’ve come. When Unihost was just beginning, we only had one server on which we were hosting our customers’ websites. Roughly speaking, we have been the most common web hosting.
It was 17 years ago. And since it is the season, we decided to talk about how we made our shared hosting really special.
The foundation of any hosting is the server and its components. Even the best software in the world can not get the site to work quickly on low-end hardware. Therefore, when it came to the server structure of the Unihost shared hosting, we paid special attention to it.
One server for all web hosting needs is simply not enough. Current Unihost shared hosting structure is built on clusters of three individual servers — webserver, database server and the backup server.
- The web server receives requests from users and builds pages of sites;
- The database server handles requests to the database, and transmits the data to the web server;
- Backup server is in a different data center (or rather, in another state altogether), and every 24 hours of receiving a fresh copy of the data from other servers.
Since the tasks are divided between servers, websites work much faster. And customers can not worry that these sites will disappear because we always have a fresh backup. We keep multiple backup versions (for the last month, week or day) and restore websites on request.
We’ve been using this design since 2007. Since then, there were a few minor changes, but the basic idea remains the same.
The web servers and database servers are based on a RAID-array of NVMe SSD-drives 1.2 TB. According to the synthetic tests, it is 10-15 times faster than HDD and is even superior to conventional SSD-drives due to the new interface. In the real world websites work about 5 times faster than on the HDD-based servers.
On the backup server, we use an array of 10 Enterprise class HDD drives, with a total of 60 TB. Using the SSD for such volumes yet impractical, especially since HDD satisfies all our needs here.
CPU and RAM
Despite the fact that the file requests and data requests fall on different servers, to process them still need more CPU power. Otherwise, on the hosting sites will be slow even though the SSD-drives.
On all servers hosting have installed Intel Xeon E3-1270v6 processors architecture Kaby Lake and 64 GB of RAM (32 GB on a backup server). Servers are connected to the Internet via the 1 Gbit/s channels that directly connects them with the main European traffic routes.
If the only thing that makes Unihost shared hosting special was hardware, we would never be able to overcome the competition. Therefore, in addition to modern components, we also use special software.
The hosting servers run on CloudLinux — an OS specifically designed for the hosting infrastructure. CloudLinux places all accounts in the virtual LVE containers, which is similar to the VPS operating principle. As a result, each account has their resources limited and no one can use the CPU time that belongs to someone else.
On hostings with other OS, it is a big problem, because the large websites can take temporarily abandoned resources. And when these resources are required by other websites, it leads to slowdowns, crashes and overall issues.
In the beginning, we had a choice between cPanel and ISPmanager: cPanel was more expensive, but prettier and more easy to learn; ISPmanager was cheaper, more functional, but less friendly. Eventually we chose both — first we launched hosting with ISPmanager, and then made a Premium Hosting with cPanel. With time, cPanel became cheaper and we were able to drop the prices, so now cPanel Web Hosting is even a little cheaper than ISPmanager-based one. Basically, picking the Control Panel at Unihost is completely a matter of taste.
Cache is a ready copy of the popular content. Pages in the cache do not need to be rebuilt from files and databases, you can immediately send them to the user. Therefore, cache saves time and CPU time, but puts more pressure on the storage systems.
When Unihost hosting was still on the HDD, our caching system was quite primitive. Slow hard drives made cache practically useless.
Therefore, during the transition to SSD we decided to completely redo Unihost caching system. We wanted to do something special, something the competition did not have. At some point, we thought of the Google PageSpeed — an system to analyze and optimize the website performance. Now, to all the cached pages we apply the Google Pagespeed, which speeds up the websites by 30-50%.
Even the best hosting in the world is useless if it does not provide proper support. Which is why we put a lot of thought into Unihost shared hosting support system.
In the beginning, everything was solved in real time via live chat or by phone. But soon we realized that there are tasks that are inconvenient to solve this way — for example, cleaning the website from viruses may take a long time. This is how the ticket system came to be, and support itself was divided into two lines – customer support and technical support.
Recently, we decided to experiment and make simple tasks of the ticketing system. Now, in order to re-install WordPress, change the version of PHP on the hosting, or disable the caching system, you need to simply write in the chat at Unihost.com. But to restore the website after a hacking attack or complete other large tasks, you still have to create a ticket.
Support Unihost operates 24/7 and is always ready to help you in the chat, by phone or through the ticket system.
17 years on the market have taught us that no plan survives contact with reality. You need to constantly change, evolve and do your job better than you did it yesterday. It is the only way to succeed. So we are not going to stop — Unihost is always working to bring you new features, better prices or at the very least, a fun read in our blog!
Subscribe to get useful articles and updates.