Excellent point brought up in the comments section today by Josh:
For example, Microsoft wants to argue about stability vs. Linux. In nearly all Linux servers we manage that comparison is laughable. Now, compare RPC-over-HTTP functionality with Linux? You can’t, no such thing on Linux! Where is that among the facts?
This is something that I’ve tried to make very painfully clear in my Linux presentations for SBSers in Florida groups. Here is the thing about winning in small business, you have to know your customers. You also have to know your Microsoft and understand certain “facts”. So here is a little competitive howto on Linux vs. SBS.
Watch Where You Get Your Facts
First and most important thing to understand about Microsoft’s Get The Facts site is that those reports have been paid for by Microsoft and are to a large extent questionable at best and outright false in many respects. Second thing to remember is that those reports are not written or targeted for the SMB market at all – they are written to discourage enterprise and high-end markets from moving their commodity-line servers to Linux and discourage Unix-shops from going to Linux instead of Microsoft. If you’re an SBSer, you will not find your facts there.
Know Your SWOT
Know your strenghts, know your weaknesses… but more importantly know what is not your weakness.
When bidding against Linux you are really competing against this: “Joe Consultant told us that Linux is free.” They are correct, many Linux distributions are free. So in most cases, it will be $599 vs. $0. For the purchase price that is. So on the face of things, Linux wins because its free.
When you dig a little deeper you find out that the “free” is the acquisition cost. If you are losing a client over $599 this is likely a client that you do not want as your business to begin with. If the server costs $1,800 and your labor to set them up and train them for a week will cost them another $4,000 that up-front licensing cost of $599 is going to be less than 10% of the total solution. This is generally what Microsoft talks about when they mention their TCO, total cost of ownership.
But we know our small business owners, don’t we? The same folks that will sign up for a plan with a “free cell phone” (MSRP $99) but agree to a two year contract that costs $20 a month more. If you really want to compete against Linux give them a 10% discount on your labor which will outright displace the licensing costs. Show them that they will be paying the Microsoft penalty anyhow as its very hard to impossible to buy a PC without a Microsoft OS to begin with.
Upgrades and Migrations
When you bid against Linux you bid against free upgrades, forever, and easy migrations. Thats at least what gets put on the paper and what the Linux guy will say. The truth is much different. Here are a few facts that you might want to consider about some of the most popular Linux distributions out there:
Fedora – Fedora is a free version of Redhat Linux. Redhat Enterprise Linux is a full tested and supported distribution of Linux that retails between $350 and $3000 per server. So whats the difference? Redhat uses Fedora as their bleeding edge distribution, they use it to roll out experimental packages and see what breaks. The software itself is solid, but it is not elegant by a long shot. For example, consider that there is no migration path from version 3 to 4 to 5 – if you Google for “upgrade from FC3 to FC4” you will find a number of hacks that show you how to fool the dependancy checks and hack your way up. Not that it won’t work, but what happens if it fails? Remember, unsupported. There is literally nobody you can call.
Debian – Used to be most popular but recently displaced by its Ubuntu cousin. The trick with Debian is that they are so fanatical about being free that they eliminate any commercial or restricted software (or non GNU) from the base distribution. It is a severly outdated technology (in terms of even years) that nearly everyone seriously running Debian is doing so with the untested– or experimental– branches of the code. Even if you’re not a Linux person you can imagine what thats like. Again, virtually unsupported except for the MVP-like effort.
Gentoo – The concept here is that this is the most optimized version of Linux you can get because virtually everything from kernel on up is upgraded by running an emerge command. What emerge actually does is pretty cool – it downloads the source code along with a spec and compiles it against your hardware – so on a fairly loaded box you are constantly affecting the performance by rolling out your own code. Do you trust that your security patches are deployed as full recompiles of the source code? I don’t even trust most binary patches.
Ubuntu – The darling of the Linux world at the moment. Built on the Debian core with the pretty integrated interfaces and its claim to fame is the ability to roll out LAMP (Linux, Apache, MySQL and PHP) in 15 minutes. Pretty, but unsupported.
Those are the basics of Linux and distributions you will likely come up against. Every now and then someone will propose an Enterprise Linux version, a free community recompile of the popular Redhat Enterprise Linux. Distributions such as CentOS and WhiteBox Enterprise Linux. They are free, but again, unsupported as well.
So here is a real world scenario for you. The upgrade for the above is free– in all cases. They will download an ISO, burn it, stick it in a Linux server and after the reboot the system will be upgraded. All free! Yay.
As far as the technical discussion is concerned, they are right. Here is the dirty secret behind this though that nobody talks about: For most scenarios Linux doesn’t migrate, Linux overwrites. Now lets say your consultant tweaked the /etc/rc.d/rc.local file to automatically delete specific files on the server – generally a Linux distro upgrade would put in the new file in the place and make the original one a rc.local.bak. Let’s say you wanted something special done with your web server – your /etc/httpd/conf/httpd.conf file would have two options – it would get overwritten, or they would copy an httpd.conf.orig or tweak it in another way.
So yes, the upgrade is free. But the time to get this done is not. More importantly, because these migrations are generally done on per-site basis (ok, these guys have Redhat, these are on Fedora, these are on Gentoo) the migration checklist is all but nonexistant.
The truth about Linux deployments is that they are very much done on a per-case, needs basis. The beauty of the system (unlimited flexibility) is also its dagger because by endlessly tweaking the system the documentation part of the setup goes out the window. And when the migration goes bad with the freebies above you will likely have only newsgroups and mailing lists to turn to.
Finally, migrations nearly always include more than the base OS. The reason you deploy a Linux system is to get a flexible, fast and cost effective server. Well, Linux developers don’t think the same way business owners do. Linux developers try to adapt new technology, provide the newest features, create a system that is easiest and fastest to develop for. So when that new distribution comes with MySQL 5.0 and PHP 5.0 – will your PHP 4 script designed on MySQL 3.1 work? Maybe, maybe not. Who do you contact to find out – the webmaster that took the script from some random site? Nope. The commercial software developer? Unlikely, they only support official distributions like Redhat Enterprise Linux and SuSe. Who do you turn to? Good question to ask while providing a competitive bid.
How do you do application migration compatibility tests on Linux? You install the new version and try to hack it into working. If you’re lucky, it will just work. If you’re not lucky, whats the alternative? Another question for the stack. This is not the U part of FUD in uncertainty, this is something that there is no good, reliable, documented process in Linux. For years Linux distributions have tried to fight amongst themselves to develop a unified way that Linux is deployed – with same file system layout, dependancy checks, package management. Today you’re more likely to find multiple package management systems (yum up2date, apt).
For the most part this is your biggest strength. Small business owners and business people in general have habbits that are hard to change. Going from a Windows world to a Linux world is a big transition in anything more complex than a P2P environment. Its easy to replace a pop3 server with an onsite dovecot deployment. But when you’re selling a new server you are selling new functionality. Here are things that you will not find in Linux.
Exchange – Biggest advantage. There are no decent webmail programs for Linux – the best one to date is Scalix and it costs about as much as Exchange does. It does not provide RPC-over-HTTP, it does not provide cached mode, it does not provide advanced connectivity to mobile devices.
ISA – For the most part almost all Linux firewalls are connection based firewalls, nothing provides application-level security. So yes, if you want to block people from going to certain sites, Linux will cut it. Try to set those restrictions in place per employee per hour (ie, no espn updates for Joe between 9AM and Noon) you’ll be SOL.
WSUS – Exists on commercial Linux distributions as a Satellite server but almost all are desktop triggered up2date updates via cron – no ability to see which software is running on which system and no ability to restrict what goes on which workstation without manually adjusting workstations on per-case basis. No grouping. No reporting on which patches failed and no reporting on what may be out of compliance. These could be hacked together but do you really want to hack your security solutions together? Do you think your customers would?
IIS – The biggest reason to deploy LAMP is to get PHP and a free SQL server. Both of those run quite reliably on Windows as well and you can install WAMP on Windows. My personal dev environment for Linux is based on Vertrigo server which rolls out as a single install. So if thats all you need to deploy a new forum, blog, or a survey package your customer saw somewhere – this is the way to do it. And it’s free too. But feature is an advantage here – you have a choice. ASP or PHP? On Linux you have no ASP advantage (they use Chilisoft, Sun’s poor hack of ASP) nor do they have any .NET compatibilities without hacking in mono – but skip back to migrations and upgrades – whats the guarantee that your app will run on a hacked server? Now compare that with IIS. If you’re really familiar with IIS this is almost impossible to do. The cost of a second IIS server is not that great to begin with, Windows 2003 Server Web Edition retails for less than $300 which is likely less than two hours of any consultants time. You’d end up charging them more to download an ISO and read the intro parts of the Apache documentation.
When I worked at Dial ISDN I used to write “If Vlad Gets Hit By A Bus” documentation for everything I did. Why? Because all of our Linux servers were so heavilly tweaked that in case something happened there was no way on earth someone would be able to figure out how I’ve implemented my patch management, version control, monitoring, account creation and race conditions.
How much documentation will the Linux deployment come with? How long will it take someone else to replicate the setup on a new system? What commercial contacts do you have that will validate what you say about Linux? How many “user-geared” books are there on Linux that can get me going with this server immediately? SMB owners are DIY-centric, how much of this can I do through a GUI?
Final question: Give me a place to find other professional Linux consultants.
Where you have hundreds of Windows guys in every area there are only a few Linux solution shops. Most of the “Linux guys” will be people with careers and full time jobs that do consulting on the side and are saving your money out of the goodness of their heart. These are also the types you turn to for support. Do you want to run your business on goodness of strangers or do you want a contract? If you want a contract the savings will go out the window.
Linux provides a cost effective, flexible and powerful server operating system and Microsoft’s FUD about it is largely a collection of paid distortions, some quite well documented as outright lies. Microsoft will not offer competitive sales support to SMB solutions that are under $10,000 in licensing so you’re on your own. They will also not discuss any of the above because of the irrational fear that if you experience a competitive solution you might find enough in it that you like to leave Microsoft.
On the other end of the fence you have, by comparison, a relatively innovative but young solution that lacks the standardization, unity and certainty with many of its supposed solutions. While the core of it is solid the biggest lacking factors for small businesses are in the areas of available expertise and support systems to fall back on when there are problems. In the areas of affordable business intelligence Linux is behind enough to make it unattractive beyond file servers, basic pop3/imap mail servers and popular web applications.
In the end, both sides will lie, cheat and FUD to get their points accross. Your advantage is in knowing your customer, knowing their needs, and showing them the solution that will not only solve their problems but be ready for the problems they will encounter as they grow. For what its worth, I’ve been a Linux system administrator for three years longer than I’ve been a Windows guy and work on both platforms daily.