» News

What compelled us to cancel cPanel after more than 2 decades and create our own hosting control panel


We have been using cPanel on all our servers since the early 2000. If you need proof of that, you can search on the wayback machine for our then domain [ehosting4u.net].  They were one of the most popular and easy to use web hosting control panel and until 2019, we used it with overall satisfaction.  Even with their shortcomings, which we'll explain below, cPanel allowed web hosting providers like us to setup and run a profitable business at a reasonable cost.

The major shortcomings ...

1.  No data redundancy - With so many widely available, open source, cluster technologies, it is a shame that cPanel has not yet implemented a mechanism in their software that would allow real-time data replication and failover to a secondary server if the main server goes down either for maintenance or hardware failure.  It is a feature that has been requested by their community (as per this post) for over 10 years but nothing has been done to that end yet. Anytime one of our cPanel server experienced a disk failure, the only solution we had was to restore from backup once the disk has been replaced.  Generally, restoring a whole server took anywhere between 12-24 hours (depending on the size of each account that was hosted on the server).  This meant our clients' websites was down during that period of time and our support desk was inundated with tickets from disgruntled customers.

2. No resource limiting - A rogue user or a wrongly coded script, can consume all the available memory and cpu resources of the entire server and can either end up crashing it or render it unresponsive.  Prior to 2010, we've had numerous incidents involving runaway php scripts that used to cripple a server because it used up either all the memory or cpu resources.  The only solution we had back then, was to manually log into the server to kill the rogue processes and disable the script that was causing the issue.   Thankfully, cloudlinux released their server management app in 2010 called LVE manager that we could use to limit how much memory and cpu each account was allowed to use.  This made the servers stable and prevented them from crashing again.  However, this extra software added an additional $12 - $18 per month to each server's operational cost.


Why we decided to stop using cPanel?

Despite these shortcomings, cPanel was still a good software for managing our servers and was the reason why we kept using it for so long. But on September 1st 2019, cPanel changed their licensing model and increased their fee.  While we expected a price increase, which is normal for a software like cPanel, we were not expecting or excited about the new licensing model. It used to be unlimited accounts per server for US$45 /month but 1 year after cPanel was acquired by an investment group, Oakley Capital, they went from a flat fee per server, to a per account licensing model.  This meant the more accounts you have on a server, the more you will be billed.  From a software developer standpoint, we didn't understand how the software was "costing more" to them, to justify charging $0.40 (new pricing to take effect at the end of 2023) for each account you created on the server.  And they have been incrementally increasing their price by 10% each year since 2020.  The next license fee raise is due in December 2023.

The alternatives ...

Like many other web hosts who were not happy with the new licensing model, it was time to switch to an alternative to cPanel.  We browsed one the most popular web hosting forums - webhostingtalk.com  to see what other web hosts were considering switching to.  The following are some of the recommendations that we thought could fit as a replacement to cPanel.  Directadmin, webuzo and webmin.  All of these alternative hosting control panel software are almost similar in features and functionalities to cPanel, so clients would not feel unfamiliar with the user interface.  However, some of the shortcomings we found with cPanel, still remained with these control panels as well.

Our solution.

We are in the web hosting business since 2002 and are in it for the long run.  We also have a software development team who work on providing value added tools and services to our clients.   So an idea was thrown in early 2020 to extend our current software framework and implement a new web hosting module that would give us complete autonomy.  We could also implement any feature we believe is necessary in providing a fast and secure web hosting environment to our customers.

After more than 2 years spent in development and testing, we ended up adding an amazing new hosting control panel module to our existing software framework.  We also made sure to implement unique features that we didn't find with any of the control panels that we reviewed as a replacement for cPanel.

»  High availability.  From the very beginning,  we wanted some kind of high availibity and data replication feature.  This will help us maintain virtually 100% uptime even during a hardware failure on the main server.  Using DRBD, which is a time tested linux kernel driver, our software is able to create an active/passive cluster where all data on the main server is automatically replicated in real-time to a secondary server.  And with a special failover ip feature of our datacenter, we are able to easily make any one of the servers in the cluster as primary and serve our clients website from that server.

» Isolated environments.  Instead of going for a shared environment like most web hosting control panels are setup, we decided to provide a more premium and secure space to our clients.  So we decided to implement LXD containerization into our software.  LXD is a virtual-machine like container technology that will keep each client's accounts isolated from each other.  All disk space, memory and cpu usage can be reserved and allocated precisely to prevent any rogue user from negatively affecting other users on the same server.

» CDN integration. CDNs can deliver static content, such as images, CSS, and JavaScript files, to users from servers that are geographically closer to them. This can significantly improve website loading times, especially for users who are located far away from the origin server.  Using a CDN can provide a number of advantages for your website, including improved performance, increased reliability, reduced bandwidth costs, and improved security.  That's why we decided to integrate one of the top tier CDN provider, bunny.net in our new software.  With just a button click, you can enable CDN on any of the domains hosted on the server.  And we'll cover the cost for the CDN bandwidth.  We dropped cPanel not just to save on money, but to use the saved funds to pay for services that will actually benefit out customers.

» Content caching.  To take the load off the actual customer's container, we implemented a reverse proxy caching system in our hosting platform.  All regularly accessed contents are automatically cached on the reverse proxy and served directly to the visitor, which improves the overall performance and loading speed of the websites that are hosted on the server.

» Snapshot backups.  Gone are the days when backup and restoration would take minutes or hours to complete (depending on the size of the account being backed up or restored).  With the snapshot backup feature, which is part of the file system that's used for LXD containers, a user can generate a snapshot of their entire container at any point in time and revert back to that exact status anytime they need to do so - all this is done in just a mere few seconds.  And of course, we also have regular archived backups that are automated as well as user generated and are stored remotely as part of our data recovery strategy.

» Geo access control.  As an effort to provide the highest level of protection to our customers, we implemented a geo access control feature in our software.  This feature allows the user to block or allow any list of countries from accessing a specific section of their website (or their entire website).  For example, wordpress users can limit access to their wp-admin directory so that only ips belonging to their country will be able to access it.  Everyone else will be denied access, hence greatly limiting the scope for brute force attacks from the rest of the world.  We have seen similiar country blocking services, charging more that $100 per year!  It's included for free in our new hosting module.

For the user interface we decided to implement all the features into a single page.  Instead of going back and forth to use a specific function of the UI, the user will be able to access any of these functions inside a popup window, with the main page still staying behind it.  Our current users are finding the interface more user friendly than cPanel so that's another win for us.  Below is the screenshot of our control panel's user interface.



What's next?

At the moment our software is able to setup separate containers for each client.  These containers can be LXD based or KVM based virtual machines.  We prefer using the LXD containers as they have lower boot speed (1.5s) and lower latency for disk and network access (as per canonical).  Once a container is setup, the client can then add their domains and manage them through the control panel.  The issue with providing a VPS like hosting service is that our servers need lots of memory (at least 128gb) for setting up the containers and they cost quite a bit.  So, in the near future, we will be creating a "shared" virtual machine option that will behave like any other shared hosting platform.  Instead of each client having their own seperate container, the "shared" container can be used to setup numerous clients in the same environment (just like what cPanel and other control panels currently do). This type of shared option is useful for low traffic websites that can be offered at a very cheap price.

And finally, we have plans to make our software available as an alternative web hosting and SAAS platform to anyone who wants to start their own business or switch from their current hosting control panel.  Our licensing model will be quite different as it will allow managing unlimited servers, each serving unlimited accounts, on a single license.  If you are interested in getting such a software, please signup for our notification list.