Starting a web hosting business (Chapter 4)
Chapter 4. Decide on Billing and Control Panel Software
4.1 Billing Software
Whether you are just starting out a reseller hosting business or you host tens of thousands of web hosting accounts, you'll need a website with all the features you'll need to manage your web hosting business efficiently. The frontoffice of your website will allow your customers to create accounts, register domain names, and purchase web hosting plans and other value added products such as SSL Certificates, website templates, and search marketing packages. The backoffice of your website will include email notifications on expiring domain names, expiring credit cards and charge failures, and expiring web hosting accounts as well as automating recurring billing, and managing user accounts.
The software that will allow web hosts to build a website with front and backoffice features are known as "web hosting" billing software. There are more than a dozen billing software both free and commercial with varying levels of features, user friendliness, and integration with domain name registrars, control panel software and payment gateways. When choosing a billing software for your web hosting business, there are a number of key decision criteria that you will have to evaluate prior to making the final decision. Once you chose a billing software and use it for your web hosting business, switching to another software will not be an easy option.
As with any software purchase, price of the product plays important role when deciding one over another. The price tag of web hosting billing software range from Free (open source) to a few hundreds (owned license) for a featured commercial product. Billing software are offered for a leased license product for a recurring monthly or annual fee, or offered for a one-time upright price generally with 1-year support. With this type of price tag, the price of software should not be a major decision maker. If you are opt to build your own billing software, you may write one from scratch or take one of many open source software and tailor to your need. Or, if you choose to resell products from a web host whom offers billing software as a fully integrated package, your job will be even easier as you'll just have to replace the website logo and pricing of the services you'll offer.
Aside from price of the software, the first thing that you'll have to evaluate is the compatibility of the software with other type of products you'll be using. The billing software work with (1) payment gateway to process credit card payments, (2) domain name registrar to offer domain name services, and (3) control panel software for provisioning web hosting services. Most popular billing software support a large collection of payment gateways, domain name registrars and control panels, so chances are that the chosen software will work with the majority of popular 3rd party solutions. However, if you are thinking about using a not-so-popular solution you'll have to evaluate compatibility or write your own module to support the integration.
4.2 Control Panel Software
Choosing a reliable, maintenance-free and easy to use control panel software is a vital part of running a successful web hosting company. Customers will be using the control panel software to manage their web hosting accounts. Control panel allows a user to create FTP accounts, Email accounts, databases, and anything that pertains to creating and managing a website. Some control panels allow reseller accounts, where a user will be assigned as a reseller, and the reseller will be able to further manage their sub web hosting accounts and resell web hosting services to end users.
There are more than a dozen control panel software are available in the market both FREE (open source) and PAID, and the features, easy of use, scalability, price vary greatly from one control panel to another. Finding a reliable, cost-effective and error-free control panel make your job easier as a web hosting provider.
Depending on the types of service you're planning to offer, your choice of control panel selection may vary. For example, a majority of control panels that are available today only runs on Linux platform and a few are only available for Windows platform. And, yet a narrow selection of control panels are available on both Linux and Windows platform. If you wish to offer both Linux and Windows based web hosting accounts, you may wish to select a control panel that will run on both Linux and Windows platforms; which will make your learning curve a bit less steep as the interface will be similar on both platforms.
I have personally found a web hosting company, edula.com, in 2003. At the time, I didn't have any web hosting or data center experience so I ended up making a couple of critical mistakes in building the website and provisioning services. The biggest mistake I made was building the integrated billing software and control panel from scratch. I wasn't aware of any 3rd-party solutions (other than re-branding someone else's hosted website) that are available to quickly build a own web hosting business.
Coming from software background, I was very tempted to use Java programming language to build a web hosting application, but soon turned to use PHP for quick development and easy deployment. It took me nearly 3 months to build a frontend website, and began offering service with an incomplete website. I bought 3 Dell PowerEdge Tower servers from Ebay, and setup 3 Linux servers with a single T1 line dropped in a 400 sq foot office. As I was building customer base, I came to realize that I needed a backoffice functionality that automates recurring billing, email notifications for expiring domain names and credit cards, and day-to-day maintenance of the business. I had to set aside another 3 months to compliment the website with backoffice functionality, but I didn't have the time for development as most of my time was consumed supporting customers and marketing the business. As I learned more about web hosting industry, I came to learn that there are off-the-shelf applications that I can easily setup to run web hosting business. I debated for a week whether to spend extra 3 months of development, or spend ~$500 and rebuild the website using commercial software.
After 6 months into running the web hosting business, I offered FREE web hosting services in the hope of converting them into paying accounts. The FREE accounts are entitled to 25MB of storage space, 10 email addresses, and NO MySQL database. Running this promotion on Google Adwords, I was able to obtain more than 2000 signups in less than a month. The trouble was that single T1 wasn't able to accommodate all the bandwidth required by the newly signed up users. I quickly brought down my FREE campaign, but the network was so slow that I was unable to obtain new customers and the existing customers were very unhappy due to slowed performance. It was a time for an upgrade.
The upgrade was a big issue for me at the time, as I had to make another critical decision. I had to decide whether I would upgrade my T1 or move into a data center. It was a tough decision, as I flipped my decision multiple times. At the end, I decided to move into a new office space and upgrade my network. At this time, I had 6 tower Dell PowerEdge servers, and if I wanted to move into a data center I would have to convert all of them into 1u or 2u servers for rack-mount. It was a mistake on my part to purchase the Tower Case servers due to lacking web hosting experience. To convert the tower servers (6u) into 1u servers, it would cost me a lot of money, and also a few overnight work. To make things a bit easier on my part, I chose to upgrade my network.
I moved into a new office space with a dedicated computer room, and signed a 3-year contract with XO and brought bonded 2xT1 service to my new location. The service I subscribed was upgradeable to 8xT1, and if I needed more bandwidth I would then have to upgrade to either T3 (44.5Mbps) or OC3 (155Mbps).
After spending more than a year running a web hosting business, I told myself I cannot continue to offer customer service myself. I should be spending all my energy in sale and marketing, not development nor customer service. I was still running the web hosting business alone. To offload customer service duties to other staff, I thought replacing my home-grown application with 3rd-party commercial software with paid support will do the trick. I decided to revamp the website with commercial billing software and control panel software. I spent a week evaluating various application, and decided to use AWBS and Direct Admin as the replacement software.
The new website was rebuilt in about a month, but the two application didn't know how to share the common login. It was a bit of nuisance as compared to the home-grown app, but I had to go live with it. Transferring existing account to the new application wasn't easy job as the transfer had to be done manually. There were several thousand accounts, of which most are FREE accounts, I only moved PAYING accounts and decided to deal with FREE accounts at a later time.
Initially, I somewhat regret switching the self developed billing/control panel application with the commercial software as the replacement didn't integrate well and the learning curve involved in handling day-to-day tasks weren't too easy. The good side was that it saved me alot of time by automating frequently performed maintenance tasks, and also allow our staff to work with the software vendor to resolve customer problems instead of me getting involved in every support task. The billing software worked well for 6 months, and when we were ready to upgrade to the next revision it all break down as the software wasn't designed to allow customized template. The functional code was mingled with the templates, and many things were broken after our first upgrade. Every time we needed to upgrade the software, I had to manually make same changed to the newly installed software -- which was a nightmare. I had to limit our software upgrade to bare minimum, and we were able to survive 3 years without major problems. The application initially required about 128M of PHP memory_limit to run a maintenance php script, but as time elapses we had to increase this limit to 256M, 512M, and 1024M in order for the application to run daily maintenance scripts scheduled to run as cron jobs. Today, our memory_limit is 1,024M and the script won't run. What are poor software design!! We are opt to replace the AWBS billing software with a new one.
The control panel software we've chosen, Direct Admin, worked quiet well for us for last 6 years. There has been a few issues transferring accounts from one server to another, and minor issues relating to upgrades and configurations; but I was very happy with the software. Although we didn't have the support contact with Direct Admin, responses to our email support requests were very responsive -- generally, within 12 hours.
Finding a billing software and control panel software that suits your business model is research intensive, and time-consuming if you're trying out demo software prior to commiting a purchase. There are a lot to choose from, and it's very time consuming to customize the software for your business. Integrating billing and control panel software with your intended web site with ticket system, knowledgebase, and FAQ among other feature may not be trivial. If you try to replace one software after going live, you will soon learn that you wish you've spent a little more time finding a "right" software for your business as switching is not as easy as it sound as you'll also involve in transferring existing data. Doing it right the first time will save you money and a lot of hassle down the road.