For the longest time, I only wanted to use Windows and in many ways I still do. I didn’t want anything to do with Linux or Open Source for that matter. Let’s face it, Microsoft changed computing for businesses and pretty much the world. Now there are those that will disagree with me on these next points, but I think SQL Server 2008 R2 and Exchange 2010 are some of the best pieces of Windows software written to date. In my opinion, Active Directory is one of the easiest and more secure authentication systems around. However, with the advanced software comes a price. Depending on the version, the price can be quite high. Those who are fortunate to work for a non-profit or government organization can get software for much less. In today’s economy even these organizations are looking for ways to cut costs. This is where Linux has one advantage. Don’t get me wrong, there are many other cases for it (some where it outperforms Windows hands down). There are Linux and Microsoft admins that have very different opinions on this topic and can dispute all day, but that is not the direction this post is heading.
In more recent years, Linux and Microsoft have become even more interoperable. With software packages such as Centrify, Active Directory authentication and the ability to grant Domain Admins (or other users/groups for that matter) root privileges is even easier. These are native Active Directory packages which provide single sign-on capabilities without complex configurations with LDAP, Kerberos, and Winbind. Now take these packages and integrate with Samba and you have an AD-based single sign-on file sharing solution that works similar to Windows. More advanced Centrify packages (those that come with a price tag) even allow for Linux group policy and SPNEGO capabilities with Apache. This provides single sign-on using Kerberos or NTLM with Internet Explorer, Chrome, and Firefox just as IIS can do under Windows. The GUI (for those that do not feel comfortable with just a CLI) has advanced as well. There are built-in tools to connect to Windows shares as well as create them. If configured correctly, end-users may not even be able to tell the difference when it comes to file, print, or web services.
What about programming? PHP is fully supported on Windows just like Linux. Microsoft even provides installers for various versions! The Mono Project brings .NET support to Linux and Apache. Mainsoft’s Grasshopper allows .NET to run as JAVA under Tomcat. The possibilities are limitless and are no longer just confined to one operating system or the other. To cut costs, it is possible to develop a .NET application running under Linux using MySQL. Again, end-users may not be able to notice a difference, but the business bottom line will. Initially, the full solution may take a bit more effort to configure. However, on the other hand, with more automated installers and GUI configuration tools this may not be the case. A solution that could take thousands of dollars on Windows can be zero on Linux.
I mentioned earlier my feelings on SQL Server. I have used one version or another for over 10 years and am very comfortable with it. MySQL may not have some the advanced bells and whistles that SQL Server has, but it is very comparable. It has come a long way and as a top contender in the SQL world can run on Solaris, Windows, Linux, and MacOS. The InnoDB engine has had significant enhancements, the replication feature has advanced, stored procedures were added, etc. There are more GUI tools to manage the server and configuration without needing to rely on the command line (again for those more comfortable with a GUI). The Windows version can be managed on Linux and vice versa.
PHP applications in general have relied on MySQL (just look at the LAMP concept), but did you know there is full ADO .NET support as well? In fact it is possible to develop Windows applications that are completely interchangeable with SQL Server and MySQL. This gives your product a big advantage and provides options to customers that may not be able to incur license costs. There are pros and cons to each and ultimately the business will decide what is best.
I am not saying to drop everything and move to Linux or Open Source as there is a strong business case to keep everything on one platform for simplicity and standardization. It does deserve some merit however. Some of the world’s largest sites run Linux (Google, Facebook, WordPress, Wikipedia, PayPal) so it can’t be all bad. It may seem overwhelming at first for those that are not familiar, but with a little reading as well as trial and error it is a configurable and highly scalable platform to solve some of the most complex business needs with minimal or no cost. As administrators become more and more familiar with the operating system and its configurations, Linux does play a crucial role in the decision making process.