Assignment Statements, Comparisons & Observations
Font: Size: + -

What to look for when looking for a new shared host

Friday, July 20, 2007

There is a multitude of web-pages on the Internet related to web-hosting in specific. There are umpteen number of questions, opinions and reviews on web-hosting companies and its various issues. It is impossible to come up with a definite answer - only experience can tell what & which one is best for you. The criteria is mainly based on what audience base your website is targeted at. I cannot possibly make a post on comparison between web-hosting companies. This is one subject that can really drown you - get involved in WebHostingTalk if you're really interested.

When I'm looking for a linux shared-hosting solution for a future non-static website that I intend on developing, there are a couple of points I look out for when browsing through the package-plans' features :

  1. PHP 5.2.x - PHP4 is on its way out - on 13th July 2007, officially announced the PHP 4 end of life announcement. With PHP 6 on the way, its high time new php-projects are written in PHP 5. Moreover, with the new OOP model (inclined towards Java and C#), frameworks are better off in PHP 5. Also, something known as phar has sprung up. Its on lines with Java's WAR format where you can distribute your application as a single archive file - though this is yet to be fully implemented.
    As for specifically PHP 5.2.x - many changes were introduced from ver 5.1.0 to 5.2.0 - there's even a migration documentation from 5.1.0 to 5.2.0 ! One of the major additions are the JSON and ZIP (using zlib). The JSON extension bridges a big gap - you can now create javascript JSON variables directly from php arrays !

  2. MySQL 5.0.x - Stored Procedures, Triggers, Cursors, Views etc which are actually very handy once you get to know to use them. These are available by default in PostgreSQL and MS SQL Server. Four years ago, when my friend was into ASP .NET development and MS SQL Server, he mentioned how stored procedures saved a script-development time. This would be at the cost of using more database resource, but its something we MySQL guys are pretty late into. Another introduction is the maximum length of VARCHAR data-type from 256 to 65,535. Very often I wanted to set the maximum length to 1000 characters and there's no solution to do this in versions 3 and 4 except to make them of TEXT type. The drawback of this was that TEXT fields can't be indexed, which is something I can't settle for. Indexing is important for faster queries even if it requires a whole lot more disk space.
    For example, if I had a field named `URL`, I would want it to set it to atleast 1000 characters variable length. Many URLs are bound to be more than 256 characters. And URLs can really be INDEXed or even UNIQUEd.

  3. Apache 2.0.x - Apache 2.0 has a whole lot more to offer than Apache 1.3. But the only thing I'm interested in is the RegExp part of mod_rewrite which offers more pattern syntax characters like ? (extends the meaning of) character.

  4. SSH - command-line shell access is something developers are more comfortable with. Period.

  5. Control Panel - Only a couple of them are common - either CPanel, Plesk, DirectAdmin or an in-house one. I don't have a preference, but Plesk has the option of changing DNS settings.

  6. (Optional) PostgreSQL - Sometimes, PostgreSQL can be better off then MySQL - you normally PostgreSQL available on hosts providing Plesk, as a lot of other features come with an additional Plesk addon (Plesk Expand) and PostgreSQL support is one of them.

  7. (Optional) mod_python, mod_perl - Perl and Python are enabled by default on most hosts via CGI. For developers, developing on linux PCs, this won't be an issue, but those who develop linux based stuff on Windows will have the problem of constantly updating the shebang-line for each time to upload to update the script. This can be a major headache if VIM is not comfortable enough or too slow to edit on the server side. People who code in Perl wouldn't want mod_perl anyway. When it comes to Python, since Google has the Python creator as their employee and since most of their scripts are based on python (obviously), there are some useful scripts provided by Google that are distributed in Python code. One of them is the Sitemap generator.

  8. Support - and of course, impeccable support - something you should test before hand by asking a couple of smart questions and judging them and also reading reviews of the company. This probably the toughest part, but when you're investing in hosting, allow yourself to estimate that half of that investment goes for support while the other half is for features.

Maybe the reason why many don't do an extensive search for Windows hosting requirements is because there are just a couple of things required enough to built a robust dynamic web-application on Windows :
IIS 6.0 + ASP .NET 1.1, ASP .NET 2.0 and maybe even ASP .NET 3.0 + MS SQL Server 2005
Within a year, it would simply be IIS 7.0 + ASP .NET 2.0, ASP .NET 3.0 and ASP .NET 3.5 + MS SQL Server 2008 !
No doubt that Windows cannot get any simpler than this ! The de-facto standard for web-apps on Windows is C#. And Windows does rock - but its the linux ones that are of low-budget and hence affordable amongst individuals.


Anonymous said...

Thanks for useful information. There are many sitemap generators, but I use for my website this proffesional XML sitemap generator program.