January 7, 2008
Windows is better than Unix/Linux. Now that I’ve incited volumes of hatred from my Unix/Linux brethren, let me clarify my stance. I work with massively heterogeneous environments. For the past 10 years, every company I’ve supported has utilized at least 3 different operating system platforms including multiple versions and flavors of Linux, Unix, Windows, with some mid-frame (As/400) and Novell thrown in for good measure. The experience has taught me to choose the best tool for the job, rather than get religious about a platform. There are many functions that Windows performs better than *nix, and the *nix community should embrace them.
I hire a lot of Unix/Linux sys admins. One of my favorite interview questions for them is: “Name 5 ways Windows is better than Unix/Linux.” This is a great stress question, because most *nix guys think Microsoft is the devil. But Microsoft remains the most successful software company in the world. If you cannot recognize the areas where Microsoft excels, you are artificially narrowing your view of the world, which means you aren’t making the best technology decisions for your company, which means you can’t work for me (To be fair, I also ask Windows guys to name ways Unix/Linux is better than Windows). As a public service to *nix admins everywhere, I offer this list of 5 ways Windows is better than *nix. There are many others, but I don’t want to overwhelm you with too much info at once. It might overload your system, and cause a kernel panic. 😉
- Windows XP is the best productivity desktop
- Windows 2003 Active Directory Service is the best directory service
- Windows DNS is the best internal DNS server
- Exchange 2007 is the best groupware application platform
- Windows has better hardware support with vendor-supported drivers
Let the flame wars begin! Seriously though, I stand by each of those pronouncements. For those of you who haven’t run screaming from the room, my reasoning is below:
#1 Windows XP is the best productivity (and gaming) desktop – If you want an OS that is stable, fast, supports every hardware device you are likely to need/want, runs the best games, works well with broadband or other Internet connections, and had the best applications, Windows XP is your choice. It just freakin works. This is why it is also the most popular desktop OS on the market. Not because of slick marketing or predatory practices. Most companies have standardized on XP because it offers superior productivity for their user community. Apple and Linux fill niches, but for general purpose desktops, XP is the way to go. Here are a couple of “killer apps” that make XP the choice for most businesses:
- Office Suite – Microsoft Office is the de facto standard. Sure there are alternatives, such as Open Office, but they are cheap clones that do not offer the power, ease of use, or compatibility with the rest of the world.
- Best-of-Breed Specialty Applications – Photoshop, Illustrator, Project, Visio, AutoCAD. This is but a short list of products that professionals know are the best tools for the job. They all run best on Windows XP, although some might argue Photoshop runs better on a Mac. Again, there are *nix alternatives, but they are clones, not best-of-breed. You can run many of these using Wine, Cross-Over, or VMWare, but why emulate the best product when you can run the best product?
- Wireless & cellular Support – I have yet to find the wireless network I cannot connect to with XP, but I’ve had plenty of problems under Linux. For Christmas, I got a shiny new Asus EeePC. It is a cool toy, but out of the box, it doesn’t support WPA2 encryption. There are a variety of hacks available, but they all stink. I also just bought a Cingular cellular card for my laptop. Works great under XP, but not under Ubuntu. The problem with wireless support is two-fold: 1) Manufacturers are lazy, so they only produce drivers for the market leaders, Windows and Apple. 2) Manufacturers want to keep their Intellectual Property to themselves, rather than release it under GPL. As a consumer, I don’t care. It works under XP, and sucks under *nix.
- VPN Support – The major VPN hardware manufacturers support Windows, but not Linux. Again, their are hacks, work arounds, etc., but if you want to install it and know it will work, XP is the better choice.
Windows XP = more powerful applications and lower end-user support costs. In IT, that is what we should be focused on. Not what is cool, “free,” or “not-proprietary.” Note I did not say Windows Vista. Vista has some cool features, but is filled with bloat, and should probably die the same death as Windows ME & Microsoft BOB. The general rule of thumb for Microsoft desktop OSes is you should always skip a generation. Windows 95 was a good concept, but it was buggy, but Windows 98 was solid and stable. Windows ME was terrible. Windows 2000 professional was OK, but Windows XP is solid. It will probably be another 3 years before I upgrade away from XP, giving me a solid 10 years on the platform. Not bad for a desktop OS, and well worth the $100 the license cost me.
#2 Windows 2003 Active Directory Service is the best directory service – Single sign-on is a big deal in most IT shops. Windows 2003 ADS is the easiest, fastest, most cost-effective solution for building a a directory service for all your users, all your desktops, and all your applications. And because ADS is based on LDAP, and the Internet Authentication Service (IAS) supports RADIUS, ADS can also provide single sign-on for all your *nix servers and your network gear. ADS also includes a bunch of features that make it suitable to support even the largest organizations; the two most important being administrative delegation, and multi-master replication. Administrative delegation allows you to push specific tasks, such as password resets to lower-paid, lower skilled helpdesk people. It also supports compliance initiatives such as Separation of Duties (if you’ve ever been through a SOX audit, you understand). Many companies use this to delegate tasks such as user creation and deletion to Human Resources. The MMC GUI interface lessens the learning curve for delegated administrators.
Multi-Master replication is almost as cool, and in some ways far more useful. In ADS, all domain controllers act as a master. This means that you have no single point of failure, since any one server can die. It also means that changes can be made on any server and they replicate out to all others. If you have admins in London and Tokyo, they can each work on locale servers and receive each other’s updates. Setting up a new domain controller, once the OS is installed is a single command function: DCPROMO. Once the new server is promoted, the entire directory gets replicated. Of course there are additional considerations that Windows Admins must make for everything to work properly (sites, OUs, FSMOs, etc.), but the fundamental architecture is simple, secure, stable, easier to use, and more powerful than any other directory server on the market.
#3 Windows DNS is the best internal DNS server – When it comes to hosting your internal (non-internet facing) DNS, the best tool for the job is Windows 2003, Active Directory (ADS) Integrated DNS zones. If you are not using Windows 2003 to host your DNS service, you are working too hard and should switch immediately. There are several reasons for this:
- Your Windows Domain needs Windows DNS to work properly. According to every market share statistic out there, the chances are high that you already have a Windows domain, and therefore a Windows DNS infrastructure, for your desktop users. If you use a separate set of DNS servers to support your Unix/Linux servers, or your e-commerce infrastructure, you have to ask yourself why.
- Windows ADS-integrated zones support multi-master replication out of the box. Ok, so I repeated a feature from #2, but applying it to DNS is even cooler. Multi-master DNS is especially useful when operating multiple data centers, that occasionally cannot communicate with each other, either as a normal operation or during a disaster scenario. Multi-master ensures changes can be made anywhere, and will replicate to all other DNS servers. Multi-master is possible on *nix BIND servers, but it is a pain to setup and maintain. Setting it up on Windows is trivial.
- ADS stores DNS records in a database instead of a zone file. This makes it easier to query and update individual records. It also means that when a host record is updated, only the single changed record gets replicated to other servers, rather than the whole zone file. For large zones, with thousands of records, this can have a significant performance boost.
- Windows supports Dynamic DNS (DDNS) and integrates with Windows DHCP. As clients are assigned IP addresses, DHCP registers the new IP with DNS as A & PTR records.
- Like all Windows functions, DNS can be administrated by a simple MMC GUI. This lowers the skill and cost of administrating DNS records.
- Windows also offers a powerful, scriptable command line interface to DNS: DNSCMD. DNSCMD is part of the Windows 2003 Support Tools. Need to create 500 host records, both forward and reverse, in different domains and subnets? DNSCMD can do it with a 1-line script (see my next blog article for an example). There is no *nix alternative that is this simple or powerful.
#4 Exchange 2007 is the best groupware application platform – Exchange 2007 & the Outlook client may be the single best product suite Microsoft makes. I specify groupware and not e-mail, because the true power of Exchange goes beyond mere messaging. If all you want is e-mail, IMAP will do. Exchange/Outlook is a collaborative suite which includes messaging, shared calendars, shared tasks, public folders, and a built-in workflow engine. Add to this wireless activesync and you can take the power of Exchange with you in your pocket on a Windows Mobile phone, or a Blackberry. Exchange also supports custom forms that are self-contained, self-distributing applications that unlock its true power. In addition, Exchange includes full-text indexing of messages and attachments, compliance journaling of messages, integrated local and global clustering, a full featured web-mail interface, and a unified messaging system. Lotus Notes, Oracle Collaboration Suite and Novell Groupwise simply don’t measure up.
#5 Windows has better hardware support with vendor-supported drivers – One of the most frustrating things about the *nix world is lack of vendor hardware support. This is true for both desktops and servers. The major Unixes are proprietary, because the vendors want you to buy their hardware. And while Linux can claim to support more hardware than Windows, the drivers are usually reverse-engineered hacks that the manufacturer doesn’t support, or wrappers around Windows drivers, such as NDIS. Because Windows is the most popular and universal OS, every hardware manufacturer writes its drivers for Windows. And since Windows doesn’t carry the GPL penalty, manufacturers are free to innovate and keep their intellectual property to themselves. The end result is that under Windows XP and Windows 2003, hardware just works. That is the power of market share.
To be fair, the same thing cannot be said of Vista or Windows 2003 64-bit. It will take a few years before the manufacturers have re-written their drivers for 64-bit, but Unix and Linux have the same issues. 32-bit Linux supports more hardware than 64-bit. The same problems occurred when we changed from 16-bit to 32-bit in the mid-90s. The key is vendor support. If I had a nickel for all the times a vendor told me they didn’t support a given flavor of Linux, or a specific Kernel revision, or the number of times a kernel *upgrade* broke some functionality, I’d have a lot of nickels.
So that’s my list. I could probably come up with 20 other reasons. I also have a long list of reasons why Unix is better than Linux, and an equally long list of ways Linux is best. The point is there is no one OS to rule them all. It’s a complex world out there, and we are better off choosing the right tool for the job, rather than letting prejudices blind us to the possibilities.