When comparing Windows and Linux hosting, your choice of operating system boils down to your intended use for your server(s). As x86 servers continue to grow in popularity, Linux servers are gaining ground. Windows unit shipments are also growing, albeit more slowly. As of early 2017, Unix servers account for more than 66% of all web servers with Linux making up 55.6% of those while Windows represents around 35%
In this article, we’ll discuss the differences between Linux and Windows hosting — specifically the factors, such as stability, security, and cost of ownership, especially important to business users. As we highlight the strengths and weaknesses of these competing platforms, we’ll also showcase the tools available to developers and go over some rather new developments in the hosting business. By the time we’re finished, I hope you’ll have a better idea of which OS to choose for your project as well as which hosting company to choose and which features to look for.
6 Linux and Windows Hosting Differences
Ask any server administrator to identify the biggest difference between Linux and Windows, and the first thing they’ll mention is stability. Linux servers are sometimes considered more secure than Windows servers. They rarely need to be rebooted and most configuration changes can be accomplished without a restart. Windows servers, on the other hand, can get especially unstable when tasked with running multiple database, web, and file servers. When you start adding separate applications and lots of scheduled tasks, the problems tend to get worse. While a significant amount of work has gone into alleviating these issues, it is still a problem with which server administrators wrestle. If you anticipate your solution will be called upon to have near 100% uptime, going with a Linux server will likely be your best bet.
Linux takes the cake when it comes to security, as well. You may have noticed the recent BitLocker hacks being perpetrated worldwide. Nearly all of these attacks target Windows machines. The domination of the desktop market has made Windows machines a prime target for hackers. Linux also benefits from being a Unix-based operating system. The rights management features found in Unix have proven to be a great strength for Linux servers. These features silo off access to the operating system kernel and allow only administrators (root users) to modify certain directories and applications. The root user also has unlimited visibility to the files on a server, significantly reducing the problem of obfuscation through hidden files so often encountered by anyone fighting malware on a Windows machine.
It should be said that the learning curve for managing a Linux server is undeniably steeper. If you have the time or background, this won’t be a problem. Those with other responsibilities outside of IT and development might find configuring and managing such an environment a daunting task. Many Windows options can be found through a user interface and the standardization of the software allows a beginner to find many answers to their problems online. If you are looking for simplicity, Windows is the way to go.
Ultimately, the biggest question you must ask yourself is, “What type of software will I be running?” Are you going to be running an Exchange server or a Sharepoint site? If so, you’d better go with a Windows server. Do you love being able to install your favorite CMS, such as WordPress or Joomla, through cPanel? For that, you’d be correct to choose Linux. We’ve gone over some of the basic factors that you should consider when deciding between Linux and Windows hosting. Let’s dig into them a little deeper below.
1. Operating System
The most obvious difference between Linux and Windows hosting is the operating system that runs on the server(s). The user interface differences tend to be the most glaring. Windows users who are switching to Linux will be in for a big shock when they first boot into the Linux command line. The syntax and functions found through the Linux command line are not at all like clicking around menus in Windows. While a Linux team can choose from many graphical user interfaces (GUIs), I would suggest considering a Windows solutions instead if you intend to interact with the operating system itself instead of going through a tool, such as cPanel, to install and update software, install databases, and manage your email server. This concern is mitigated if you already have a Linux administrator but the process of learning to configure multiple pieces of software via command line is simply more than the vast majority of busy users are willing to go through. You may find yourself in over your head if you try.
As mentioned above, Linux server stability and security is truly superior to that of Windows. If you intend to run a complicated and business-critical web application, you may find the reliability found in a Linux server to be a must-have.
Linux has been forked off into many distributions, whereas Windows has fewer options.
The last operating system-specific factor to consider is hardware and software compatibility. Being a licensed and constantly updated operating system makes Windows a good option for people operating in a complex IT environment already populated with many legacy applications and databases running on Windows servers. Having system administrators already familiar with the OS could mean less training and greater in-house support — a factor not to be underestimated. In a crunch, you don’t want to be reliant on one Linux administrator hired specifically to help with this solution when you may already have an entire Windows system administration team that could easily take on the task.
2. Use Cases
Arguably the most common reason someone might be looking for a server is to set up a simple personal website, eCommerce site, blog, or online portfolio. Shared hosting on a Linux server is often the best solution for this kind of user. Many shared Linux hosting services come equipped with tools, such as cPanel or Confixx, that give users a simple web interface to install microblogging platforms, content management systems, and databases. They also have interfaces for configuring email addresses and, if allowed, will automatically manage software packages such as Apache, PHP, MySQL, and FTP. These features — especially useful for beginners — remove a few of the more involved steps of configuring and managing a server.
Windows servers are commonly used in large corporate environments. They may also be used as a Sharepoint or Exchange server. You’ll need Windows servers if you intend to use Microsoft software options such as these.
Linux is a good choice for experienced web developers who know how to configure an Apache or NGINX web server, and for developers who use Perl, PHP, or Python to develop with a MySQL database. These development tools have been used with Linux for a very long time and, as such, have a large support structure. As we mentioned above, the Linux distro you choose will make a difference, but many of the developers interested in this option will already know how to configure these tools.
Many legacy applications and scripts take advantage of VBScript. If you are working in a corporate environment, this will be something to look out for. Sites that have been developed with Microsoft ASP.NET and MSSSQL technologies will also need to use Windows servers. Consulting your existing IT department is a wise step to take before choosing your web hosting solution.
Lastly, and slightly out of the scope of this article, are large applications that might someday be deployed in the cloud. Cloud technology is expected to be used by more than 75% of companies within the next five years, and new options are being developed for large websites servicing rapidly growing user bases. This particular area could warrant its own article, but, if you think your application is of sufficient complexity, I would suggest consulting your developers to see which they prefer.
3. Dev Tools and Control Panels
We’d be remiss not to begin the control panel conversation with cPanel. It is the standard for small web server administration tools, and once you understand some of the features it offers, you’ll understand why. The popular hosting management panel allows users to install all variety of software from a simple user interface. Applications, such as WordPress, phpBB, Drupal, Joomla, and Tiki Wiki, are available via one-click installs, and many of them automatically with security patches automatically. This ease of use allows people of even the most basic skill level to jump right into creating websites, blogs, bulletin boards, and wiki pages.
You can also create and manage MySQL databases and configure PHP with cPanel, which will update the software packages without any human intervention. Need to setup new email addresses? Adjust mailbox size limits? Get help pointing your mail client to the correct ports? Your control panel can help with all of these tasks. The powerful tool that is cPanel can help beginners get more done faster without having to learn the intimate details of installing each and every package.
On the Windows side, we have Plesk (though Plesk is also available for Linux users). It offers many of the same benefits of cPanel and can help you run the Windows version of the LAMP (Linux, Apache, MySQL, and PHP) stack. On a more complex level, Plesk also supports Docker, Git, and several advanced security extensions.
However, with Linux servers dominating the Apache, MySQL, and PHP market, we should discuss the unique tools most commonly found in a Windows server. Microsoft Web Platform Installer (Web PI) is a great tool. Windows servers are commonly used with an IIS (Internet Information System web server), MSSQL, and ASP.NET stack, and Web PI will help you get these components installed quickly and simultaneously. The Windows Web Application Gallery works much like cPanel in that it has free web applications for blogging, content management, and more.
4. Databases, Domains, and Disk Space
I personally prefer using cPanel when managing multiple domains. It’s simpler to manage disk space for multiple domains names through a single host using cPanel. And, by using cPanel, I am able to allocate more or less space to each client depending on our contract and their needs. MySQL has become the standard for web developers worldwide, but again, if you come from a corporate background and are more accustomed to developing internal sites using MSSQL, don’t disregard this option!
The fact is, most of
the best web hosting companies will have greater experience working with Linux servers and will be better able to help you manage multiple domains through cPanel. So many amazing web applications — from wikis and CMS tools to bulletin boards and microblogs — are easily deployed through a preconfigured MySQL server utilizing cPanel as the administrative portal. As a web developer with limited time looking for a robust and easy-to-use toolset, I have to go with cPanel. The automatic updates, combined with the aforementioned tools, are just too good to pass up.
As you can see, context is very important when considering your operating system and hosting options. If you are working on your own external-facing site and want to take the easiest and most standardized approach, Linux with cPanel will probably be easier for you. If you are working within the confines of a business with existing databases and Windows-based servers you will need to interact with, Windows could be your best choice. If you are looking to build more complicated websites and require the combination of flexibility and stability, many advanced developers, including Google, prefer Linux.
5. Security, Reliability, and Technical Support
Any good hosting company should be able to help you secure your website from an administrative perspective, but
recent online attacks have shown that Windows servers, despite Microsoft’s best efforts, are still more vulnerable than Linux servers.
Reliability, as mentioned above, is also a strength of Linux servers. There are Linux web servers out there that haven’t been rebooted in years. You’d be hard pressed to find an externally facing Windows web server that can say the same.
Another security factor to take into account is on the database and software package level. You are partially responsible for the security of your own website in that the easiest point of attack for any system can be found in the humans who administer and use it. Having good passwords and applying all necessary patches is key to a secure environment; however, as noted above, I am a fan of cPanel’s ability to keep both web applications and software packages up to date without any interaction from you, the user.
While most hosting providers will be more familiar with Linux, Windows hosts are ready to assist you.
Technical support will depend greatly on who you choose to help you host your site. If you are hosting it on a corporate server, you should discuss support SLAs with your IT department. If you are looking for a commercial service to host your website, we will review a few of them below. Most importantly, you should discuss your needs with a support representative from whichever hosting company you choose to confirm they can provide the level of support you need.
6. Pricing
Linux also wins from a cost perspective. Many Linux servers running on the exact same hardware on which they were configured 10 or more years ago. The slow rate of change in the environment and the trim and scaled-down nature of the operating system mean you do not typically need to repeatedly upgrade to accommodate new (and sometimes unwanted) features.
Did I mention Linux is free? While there are paid distributions, such as Red Hat, plenty of free and fully functional distributions are also available. You may pay a bit of a premium if you hire someone else to administer your Linux server, but Windows server administrators aren’t exactly cheap either, and the cost over the span of years associated with software licenses and hardware upgrades almost always mean Linux servers cost significantly less over the solution’s lifespan than a similar Windows-based one.