This is a public service announcement for any business that is still hosting their website on shared hosting.
What is Virtual Private Hosting?
If you don’t already know what a Virtual Private Server (VPS) is, it’s a happy medium between shared hosting and dedicated hosting. Essentially, it’s a shared hardware and dedicated software environment combined. It has all of the software and configuration options that a dedicated server has but at a fraction of the cost. It’s middle ground hosting for companies that want control over their hosting environment but don’t need the performance of dedicated hosting or can’t afford to pay for it. I’ve run into many small companies that are still paying $30 a month for a shared hosting plan that has poor performance and few options for configuration. I’ve also run into businesses that are running dedicated servers for dinky websites because shared hosting wouldn’t let them install custom software. I’ve used a few different hosting companies for VPS, some as cheap as $20 and some as expensive as $200. At the smaller end of the range, you might be sharing a web-server (hardware) with as many as 64 other websites and on the higher end you might be sharing with only one other site. The quality of support is also a large factor in the price, on the lower end you’ll be calling India, on the higher end you’ll probably be calling someone that is on location with the server.
Many of the “Extra’s” that shared hosting environments nickle and dime you for are now free. You can setup sub-domains and aliases, an addition $5-$10 per month on shared hosting, for free on VPS. Need to run your company’s Website and Intranet? All you have to do is add another website in IIS or Plesk or Apache, no additional accounts or fees. Have you ever needed to run applications full trust in ASP.NET? I have, and let me tell you that if your shared host isn’t set up for it, they aren’t going to change for you. Need to install a hotfix from Microsoft so that your David Hasselhoff fan site can generate ASCII art? That’s cool, you can install it yourself and you won’t even need to call another hemisphere for support. Have you ever asked a shared host for event logs? You don’t even need to ask anymore, VPS gives you the freedom to login and look at them.
If you need a version of Sql Server 2005 that isn’t Express, your going to have to pay for it. Some hosts offer to host your databases on a shared database server but these are often slow and you still can’t get all of the control that you could otherwise have with dedicated. So you think this might mean that you can’t have Full-Text Indexes or Scheduled Tasks but I’ve got a few tricks up my sleeve. The most important is Microsoft SQL Server 2005 Express Edition with Advanced Services. This FREE version of Sql Server 2005 even supports Full-Text Indexing so that you use advanced search algorithms and make use of relevance measures. The interface to work with them has been removed but it’s not that bad to manage these catalogs using a script. So, you might be wondering how your going to rebuild your indexes without the interface or schedule backups if you cant use Scheduled Tasks. I like to create a batch script that runs a sql query to do these things.
The sql script could be as simple as this:
EXEC sp_fulltext_catalog ‘Cat_Desc’, ‘start_full’;
BACKUP DATABASE DatabaseName
TO DISK = ‘C:Daily_DatabaseName.bak’
First the script is populating the ‘Cat_Desc’ full-text catalog, then its creating a backup of the database. If you save this to a file(SqlBatch.sql ), you can then write a batch to execute it.
To create the batch, just open up notepad and save as a .bat
The batch will look something like this, your sql server location [localhostsqlexpress] and file location [SqlBatch.sql] may vary. Just save this into the same directory as the sql script (SqlBatch.sql) and you should be ready to test it. Just double click the batch to run it, then check to see if C:Daily_DatabaseName.bak was updated. Assuming that everything is working fine, you just need to schedule this batch to run automatically. Go to Start >> Control Panel >> Scheduled Tasks >> Add Scheduled Task . Here you just need to select the batch file that you just created and create the schedule.
So I hope this post has encouraged you to look at some options outside of Dedicated and Shared hosting. Just drop a comment if you have any questions.