Posts tagged Between

Web Hosting – A Quick Comparison Between Different Operating Systems

Looking for some affordable and reliable web hosting? In the market today, two of the most popular options belong to Linux servers and Windows servers.

Linux and Windows are two very different operating systems. Linux is completely open source, and developed by a high dedicated group of developers. Windows, on the other hand, is a commercial operating system that is developed by software giant Microsoft. For this reason, you can expect the operating costs for these two OS to be very different.

Linux, being open source, is available free of charge to the hosting companies. Therefore, servers are relatively cheap and easy to setup. The savings are then passed on to the consumers.

As for Windows servers, since hosting companies have to pay license fees to use the software, some of that cost is also passed on to the consumer. However, in recent years, due to drastic lowering of software and hardware costs, Windows servers are now competitively priced as well. Prices are usually only slightly higher compared to Linux servers.

Hence, when pondering over which type of server to sign up for, the primary consideration shouldn’t be cost. Features and available resources should be your prime concern.

Today, most scripts are either developed in PHP or ASP.NET. PHP is a programming language that is specifically developed for Linux servers. Although you can also install such scripts in a Windows environment, some features are still not supported. It’s best to host PHP scripts in a Linux environment.

ASP.NET is a programming language that is developed by Microsoft. The key benefit to using .NET is that development is very fast. However, the entire language depends on Microsoft’s programming framework. If there is a bug, you will have to wait for an update. It is more challenging for a developer to try and find a workaround.

Many developers prefer to work with PHP because all they need is their trust notepad. They can write code from the ground up without having to install any additional software. Besides, many widely popular software such as WordPress are written in PHP. The code for such software is available for anyone to modify and develop further since its open source. Those who are comfortable with PHP can easily upgrade and modify the software to suit their own needs.

It would appear that Linux servers are winning the race. More and more webmasters and developers are switching to Linux because of the huge cost savings.

As far as hosting is concerned, try to think long term. Will you be experiencing rapid growth? Will your choice of platform be able to handle that growth? What in-house resources do you have for working in a Linux of Windows environment?

Fortunately, there are no lack of PHP and .NET developers in the marketplace. You can easily hire freelancers or full time developers to setup your website for you.

If you are already comfortable in one environment, then perhaps working in the same environment can help reduce development time. However, if you are starting from scratch, PHP would be the recommended programming language to pick up.

Choosing Between Windows or UNIX as a Web Hosting OS

Before you can narrow your search for a web hosting service, the single biggest decision facing you is the type of operating system you are interested in.  This decision alone will narrow the field down of potential provider significantly, and narrow down the packages you will be researching and comparing.

In general, there are several major criteria used when selecting and web hosting service, and these are all impacted by the operating system:

Performance Features Stability Price

Traditionally UNIX was the hosting service of choice due to its advantage in these four areas, but the gap between the two big operating systems as a hosting choice continues to close and get blurred quite often.  Here is a breakdown of where they stand today:

Performance

UNIX systems still tend to win in this area, due to several key factors – memory (RAM) requirements and OS tune ability.  Windows was developed as an operating system to make it easy for wide range of people to use, from the highly skilled to the less computer inclined.  UNIX was developed more for server usage, and the average skilled computer person would not be able to use and manage this OS on a daily basis.  Because of this difference in background, UNIX will perform better as a server than a Windows box on the same hardware – Windows needs more RAM to compete with UNIX, but UNIX will still beat it out due to its ability to tune virtually everything, down the very core of the OS itself.

Let me be clear about this, I am not saying that UNIX is a better OS than Windows, just that it is a better performing hosting environment.  Windows beats UNIX out in usability, development tools, maintainability, and many other areas.

But don’t stop reading here – performance is the least of your concerns when choosing a web hosting service.  Because you will most likely be choosing a shared hosting environment, you have very little control over the resources of the machine as related to your hosted website – you will be sharing memory, hard drive access, CPU, and network bandwidth with hundreds of other websites anyway.  At any given moment in time one of the other websites might be spiking in activity and cause your website to response slowly.

In a virtual private server or a dedicated server, UNIX would be the best choice in the performance category, but in a shared environment the gap is not a factor.

Features

Both Windows and UNIX come fully loaded with a wide range of features, and quite a few are shared between the two.  If you were to manage the machine directly, you would most like choose Windows due to its easier to use interface.  But this is not the case when speaking of a web hosting account.  All hosting companies use a control panel to allow users to manage their account and websites, and all of the control panels are web based, and many are cross-platform.  All of these control panels are identical in functionality – they provide a web user interface to all of the underlying OS, web server, and files on the hosting service.  Both operating systems support remote access (UNIX with telnet/SSH shell, Windows with Remote Desktop) and ftp file management as well.

The biggest difference in features between the two operating systems is the development tools available.  Both support the major scripting languages used to create websites such as PHP, PERL, Python, Ruby, and Java.  Both support extensions popular for adding to websites such as ColdFusion, FrontPage Extensions, Flash, etc.  Both have support for the free MySQL database, which usually resides on a separate machine at the hosting company anyway.  Windows has the advantage here in that is supports ASP, ASP.Net, ASP MVC, and MSSQL databases as well.  These are tools specific to some applications and may be a major requirement for you – obviously making this decision between the two operating systems easy.  Most Windows based web hosting packages will offer, at some price point, unlimited MySQL databases with unlimited disk space, but limited MSSQL databases with limited disk space.  This is due to the licensing requirements of MSSQL causing more expenses on the part of the web hosting service as the use more MSSQL databases for their customers.  MySQL and MSSQL are virtually identical in performance and features – just like the operating systems they differ mainly in the area of price and management abilities.

UNIX does have a slight advantage in many of the scripting languages due to its ability to compile into the web server (Apache, open source) the extensions needed to run the scripting languages.  Windows cannot due this with its web server (IIS) since it is a commercially sold application.  Windows and IIS must run most of the scripting languages as a CGI extension, which means they are launched as an external process to the web server, requiring slightly more startup overhead each time they are needed.  Microsoft has acknowledged this shortcoming with the latest IIS (version 7) and allows these scripting extensions to be more in process.  In the big picture it does not make much difference either way since this is really getting back into the area of performance – refer back to the prior discussion performance as to why it is of not much importance in a shared hosting environment.

UNIX has a slight advantage in available installable applications – most of the open source website projects (blogs, content management systems, shopping carts, web site builders)  install smoother under UNIX since they assume you are using other open source tools (Linux, MySQL, Apache).  Installing some of these on a Windows operating system require extra configuration or help from the web hosting support staff.  With the growth of cross platform control panels, this problem is shrinking over time.  Also there are Windows specific open source projects available for every need of your website that install clean and function nicely – but they may be younger and less developed than the UNIX counterpart.

Windows is the operating system of choice based on features, especially in the shared hosting environment and if you need any of the Microsoft technologies (ASP, ASP.Net, ASP MVC, MSSQL) to run your website.   Be careful if you have a need for one of the older scripting technologies (PHP, PERL, Python, Ruby) on a Windows hosting, they may not be available or perform poorly.

Stability

Windows has traditionally been dinged in the past in this area, but mainly due to its desktop operating systems, not its server operating systems.  Windows hosting packages will be running either Server 2003 or Server 2008, both of which do not have stability problems.  The desktop stability problems are mainly not Microsoft’s fault – almost every desktop Windows user is guilty of installing a wide range of various software packages and drivers, rendering the machine over time to be a blend of software that has never been tested with each other.

UNIX has traditionally and still shines in the area of stability – again due to its background of being developed as a server operating system.  It also has advantages over Windows in that complete server reboots are rarely needed as part of a installation of a third party software package – it has clearly defined system component drivers that can be rebooted without requiring a complete system reboot.

Both operating systems are equal in the area of stability – even in the shared hosting environment they both have adequate safeguards against individual websites on the same machine from causing harm or abruptly stopping the server.

Price

Windows still remains a slightly more expensive operating system to sell hosting accounts out of for two reasons – licensing and RAM requirements.  Web hosting companies have more expenses on a Windows server that hosts 100 websites than it does on a Linux server hosting 100 websites.  Typically companies also carry a Microsoft support agreement with annual expenses as well as the upfront licensing expenses of Windows – even though they all require a staff of knowledgeable and skilled technicians to manage the bank of servers regardless of the operating system.

Windows is also slightly more expensive with database support for you website – most web hosting offer a UNIX hosting package at some price point with unlimited MySQL databases and database disk space, but very few offer a Windows package at any price point with unlimited MSSQL databases and database disk space.  So if your website grows and needs more databases and disk space, you may be locked into paying a higher fee per month with MSSQL and Windows than you would with MySQL.

UNIX has the advantage in pricing, even though some hosting companies do now sell Windows and UNIX based accounts at the same price point, but most still have a slight increase of monthly fees for the Windows packages.

Summary

Let me be clear about this:  the choice of hosting your website in UNIX or Windows has nothing to do with the desktop operating system you use on a daily basis.  It has nothing to do with the management interface you will use to manage your website and hosting account.  It also is not about which operating system is better than the other.  Some people have a religious fervor for one or the other, but they are both just tools in the toolbox.  Which is better, a hammer or a screw driver?  It depends on the job at hand.

So here is a review of how the operating systems are in the four areas of criteria used when selecting and web hosting service:

Performance:  Tie in Virtual or Dedicated server, UNIX in a shared environment Features:  Windows, based on addition of Microsoft technologies Stability:  Tie Price:  UNIX

So, based on this discussion, your decision will be driven two simple questions:

1)      Do you require any of the Microsoft technologies?

2)      Are you willing pay a few extra dollars per month for the Windows and Microsoft technologies?

If you answer yes to the above questions, you should go with a Windows based web hosting package.  Otherwise you should move towards the UNIX based packages since it is a cheaper and faster.

Beta Records Bridges the Gap Between Php and Java

BETA Records, in anticipation of their upcoming release of Version 3 (V3) of their online music social community, has created a technological innovation that could ultimately allow websites to become more dynamic, creative and sophisticated while enabling companies to cut costs and reduce loads on servers needed in large-scale clusters.

Called “BETACache,” the new technology resulted from BETA’s PHP developers Rock Mutchler, Paul-Anton van Handel, Jon Bauer, Bernhard Schenkenfelder, and Eric Hollander.

“These guys may have devised the ultimate scalability breakthrough for large-scale communities around the world – it’s like taking the performance of a Volkswagen and turning it into a Bentley overnight,” says Chris Honetschlaeger, BETA Records president. “From Facebook down to the world’s 20 million PHP websites, we at BETA are hopeful to finally give back to the PHP community we so admire.”

PHP applications require a means of caching data from remote services, expensive database queries and other performance-killing operations. These problems are greatly magnified by Web 2.0′s heavy reliance on numerous AJAX requests to the web application, and frequent web service calls to partners.

“BETACache could offer a superior alternative to the widely-used memcached, as well as opening up a tremendous amount of other features to PHP application engineers through JCS,” says Rock Mutchler, BETA VP of Technology. “With the BETACache process in place, we can now use the leading technologies to solve the performance issues that developers face. At BETA we have modified Zend Cache in the Zend Framework, by adding our own custom object that makes use of the Zend Platform Java Bridge.”

The Zend Platform PHP/Java Bridge is a PHP module which provides stable and high-performance access to a Java Virtual Machine. “Through this we’re able to use the JCS package to provide an enterprise-class, pluggable and tunable distributed caching system written in Java,” Mutchler states.

BETACache offers a clustered, distributed cache system which automatically caches objects in local memory, local disk, or on remote servers. The Zend Java Bridge allows high-performance enterprise-class integration between the PHP environment and JCS. “We are excited about future enhancements of BETACache to leverage Enterprise Java persistence systems in our clustered PHP application,” Hollander said.