If you look at my signature you will see that I have Win 7 Home premium
multibooting with 5 different linux distros.
I would never suggest that Linux is an irrelevant or even bad client operating system for end users. It may come as no surprise that we have used Linux servers exclusively for website hosting. Most of the design work on graphics, scripts, and other quirks is either done through the back-end or Windows. This may give a unique perspective. Linux certainly fills a niche, and the niche I see it most often fill with great appeal is the web server market. Infinitely more robust than an IIS and ASP model, apache using PHP and MySQL bring with it some endless opportunities. Would I suggest Linux to a friend who needs a simple solution for client computers? Probably never. But for very specific server roles, various distributions of Linux fill that niche quite nicely.
To each his own, for as soon as I bring up the use of apache and its benefits, someone will come out and point out how great IIS is under Windows Server. However, the great appeal of development with apache is that a Linux server doesn’t have a base server cost of $2000+ dollars like most editions of Windows Server.
When this service was getting too big for its britches, one of the most outlandish moves I made was to bring the entire server into my home – hardwire a 1Gbit Wide Area Network connection with no fail-over into my main office, jury rig a Intel Core i7 server with 12GB of DDR3 together, installed additional Intel 1Gbit Network Interface Cards, and port the entire website to VMWare ESXi virtualization hypervisor. I had never planned for this to be a permanent solution, as I knew it wouldn’t hold up for long. Trying to turn ones home into a data center is seldom a good idea, and was not publicized widely. This worked very well up to and around the Windows 7 launch. With an Uninterruptable Power Supply (UPS), this idea was successful. However, as the website grew, and continued to demand more resources, the need for dedicated servers became more prevalent than ever. At one point the website was being hosted in a fully virtualized environment using VMWare Workstation under Windows Server 2008, which is ill-advised. However, it combined the best of both worlds and did accomplish its objective for a short period of time.
Since then, and prior to that incident, the website has always been hosted at high quality data centers with dedicated generators, security, and failover devices. Today, I am happy to say that we have found a host that meets price obligations and has provided the five-9 uptime guarantees (99.999% uptime) with little to no difficulty. All of this, being hosted in a Linux environment, as so many websites today are.
One area I would express reservations about, and have since the advent of virtualization, is the hosting of multiple operating systems on multiple partitions or drives. To me, this methodology has always seemed like an astronomical waste of resources and work hours. Today, if I need to launch into a Linux or prior Windows environment, for software evaluation or testing, I am free to use, without any difficulty or delay, VMWare Workstation. From within workstation, I can save snapshots of my work, installations, and so forth. Of course, I am using a lot of RAM and processing power to do this. At this point in time I am using 20GB of DDR3 RAM. I am also using solid state drives, which the website itself also makes extensive use of. Using guest operating system has become second nature to me: Most of the tutorials you will see on our YouTube channel have been made using virtualization; if I let a buddy onto my machine it is usually through VMWare so nothing gets destroyed. Consequently, I run in performance RAID and have additional drives on backup to move virtual machines around when they are needed. To me, this is a good way to avoid wasting hard drives. It also allows me to run multiple operating systems, including Linux, if need be, concurrently, without shutting down the host operating system.
Do I think Linux should be run side-by-side with Windows? I believe it can be of great value to run Linux in a virtual machine for developers, testers, and enthusiasts. I would not use Linux as a client operating system. I have done a lot of development work in Linux with different types of code, and in the past this always required playing games with partitions. Today, I would quickly fire up an image and simply run it through a VM.
For serious productivity, I think Windows, and even a Windows Active Directory network, can still easily defeat most Linux distributions. The software development is still on the Windows side – and I would say this about Mac OS as well. It’s not that I don’t think they can be viable in certain circumstances – by all means they can. Just on the client side, it can be a bit nightmarish for someone new, who, no matter which way the cookie crumbles, will find themselves looking through all sorts of documentation, both online and off, to get things exactly the way they want. And then, like a house of cards, they have to worry about it all coming crumbling down. This is one of the reasons why web and server management tools for Linux are so expensive – WHM/cPanel going for something like $3,000 for a 3 year license and Plesk approaching similar values. These are serious products, which streamline the management aspect of Linux significantly – something that should already be there and easily manageable. Even a die hard Linux fan will admit that they are getting cut off from 95% of commercial software.
I also feel there is something unethical about running commercial derivatives of Linux, whereas, a lot of work has been done for free by enthusiasts around the world. It is then packaged by a wealthy business and re-sold in stores. I do not see any of these contributors being financially compensated, whereas a company selling a popular Linux distribution through physical media and worldwide distribution rights can make a lot of money on the backs of these people. With Windows development, and software development in Windows, there is a lack of funny business. Programmers are paid for their work and that is that.
Still, I am able to see past the fluff and know there is a place for Linux - a place that will certainly grow as time goes on. I simply will not use it as a client operating system or recommend it for that purpose. It is, almost, by design, a server-friendly and programming friendly OS. The various GUIs have done nothing more than to copy various derivatives of Windows and Mac OS X in their design and functionality for a long time. While they have come a long way, it still does not mean it is user-friendly. Remember, there are tradeoffs to making things user friendly. In Windows, nearly everything is commercialized, pre-compiled, and costs money. In Linux, it is the opposite, but someone makes money on the backs of enthusiasts somewhere - something I have never really liked. At least you know what you are getting up front with Windows, especially as a client operating system.