You might be surprised to learn there is still a war going on between Microsoft and Open Source. You probably aren’t.
Robert Schoble made a post back in 2005 listing the reasons why Web 2.0 entrepreneurs don’t use Microsoft stuff. Yesterday Rob Conery touched on the list and asked what should Microsoft do for .Net Open Source? I found the list to still be pretty relevant, as perception is reality, and have added my comments here.
Before I get to the list, I wanted to say it’s okay to flame me and question my motives as I am a Microsoft developer and MVP, and we all know that means I’m secretly paid under the table to spew the Microsoft party line. This is no different from when I spent 5 years as a LAMP developer, and would be branded an Open Source Zealot for saying there was advantages in LAMP. FUD is best when you attack the speaker, not the argument.
Here is the list:
1) Startup costs. Linux is free. Ruby on Rails is free. MySQL is free.
Costs have come down, and Microsoft has many free (as in beer) options. Visual Studio Express and MS SQL Express are free to use for commercial use. Server still costs, but there are programs like BizSpark to get everything for as little as $100 for three years (and you pay the $100 at the end of the three years, nothing up front). Still, I’d think a Web 2.0 startup wouldn’t be looking to self host as the administration and bandwidth costs dwarf software costs, and now there are also cloud options.
2) Performance per dollar. They perceive that a Linux server running Apache has more performance than IIS running .NET.
Windows Server 2003 is a workhorse, and IIS6 has proven itself as well. Would they win in a head to head show down against Apache and Linux? Probably not – I’ve see first hand how well a custom compiled Apache can do and it’s hard for me in imagine it would loose, though I’ve not tested this. The bigger point though is Windows is capable of scaling and bottle necks will likely come from your code before either OS is to blame.
MySQL blows the doors off of all commercial databases in terms of speed. The last time I tested MySQL against MS SQL it was MySQL 3.x and MS SQL 2000, but the MS SQL box was a quad Xeon and the MySQL an eMachine 450 P3. MySQL was 25x faster. I rechecked this for days, I just couldn’t get over how much faster MySQL was. Both products have newer versions, and MS SQL has come a very long way with 2005 and 2008, but I still have to think MySQL carries this torch.
3) Finding tech staff is easier. There are a whole new raft of young, highly skilled people willing to work long hours at startups who can build sites using Ruby on Rails.
In Silicon Valley, CA – yes. Everywhere else, probably not. I’ll flip this around and say finding an open source job outside of California is rare, and it will probably be a telecommute gig. I often joke I had and lost the one python job in East TN. Out here, LAMP/Open Source developer in a job ad is code for “salary 30K max”. (I actually went on one interview to learn they didn’t plan on giving developers vacation or sick time).
4) Perception of scalability. The geeks who run these new businesses perceive that they can scale up their data centers with Linux and not with Windows (the old “Google runs on Linux” argument).
If you are in the business of running a datacenter, and this is less and less becoming something a web startup should be doing themselves (hint: outsource things that distract you from growing the business), virtualization is king. This comes down to VMware versus Windows Server 2008 Hyper-V and I can’t get into details because I haven’t used either of them directly. I don’t think either solution is going to be cheap, and again hardware costs will probably trump software.
5) That Microsoft doesn’t care about small businesses. After all, Microsoft is an evil borg, but Ruby on Rails comes from a single guy: David Heinemeier Hansson. He has a blog and answers questions fast.
I read this as wanting free support. I doubt David Heinemeier will guarantee a response to you for leaving a comment on his blog. There are tons of ways to get free support for Microsoft products, and even the .Net source code is available for review if you think you have a framework bug. Microsoft does have paid options for support as well, as do most open source platforms.
6) That open source makes it easier to fix problems and/or build custom solutions. A variant of the old “Google or Amazon couldn’t be built on Windows” argument.
I’m just going to call this FUD and move on. MySpace was started on ColdFusion, sold for $380 Million – I think this pretty much nails the coffin shut that platform doesn’t matter. (MySpace has since migrated to ASP.Net, so there is proof of IIS/Windows scalability).
7) On clients, they want to choose the highest-reach platforms. That doesn’t mean a Windows app. Or even an app that runs only in IE. It must run on every variant of Linux and Macintosh too.
Giving the topic was for Web 2.0 startups, this seems odd. Nothing on a web server dictates what the client must be using, and only a bad developer codes browser specific code.
8) They don’t want to take shit from their friends (or, even, their Venture Capitalist). Most of this is just pure cost-control. I can hear the conversation now: “OK, you wanna go with Windows as your platform, but is the extra feature worth the licensing fees for Windows?”
Unless you are selling to your friends and they make up your target audience, tell them to stfu. If your VC is involved at this level of decision, you don’t have control anyway. Shoppers at Amazon don’t come for the platform, they come for the user comments, product selection, and user experience.
9) No lockin. These new businesses don’t want to be locked into a specific vendor’s problems, er products. Why? Because that way they can’t shop for the best price among tools (or move to something else if the architecture changes).
No matter which platform you choose, you are “locked in” to that platform unless you do a rewrite. If you had chosen MySQL, Oracle now has you “locked in”. If you have a decent code structure, you can change database providers with marginal effort. This may be interesting in theory, but in practice what really matters is the lock in from hosting companies. These are the monthly expenses that can be changed, and it’s pretty easy to move web hosts these days, no matter the platform. In fact, as you grow you should plan on moving from shared hosting, to semi-dedicated or virtual server, to dedicated server packages.
10) More security. The new businesses perceive Linux, Apache, Firefox, and other open source stuff to have higher security than stuff built on Windows.
This was once true, but no longer. Using secunia.com (which sums up security advisories from a number of sources for 2008, IIS6 had 5 advisories and 4 vulnerabilities, IIS7 had 1 each, Apache 2.0 had 39 advisories 23 and vulnerabilities, and Apache 2.2 had 10 advisories and 16 vulnerabilities. Am I saying IIS is more secure than Apache? No, I’m saying that Microsoft “got it” and has vastly improved their security.
11) More agility. I’ve had entrepreneurs tell me they need to be able to buy a server and have it totally up and running in less than 30 minutes and that they say that Linux is better at that.
Really? What kind of testing of that new system is done in those 30 minutes? Funny how security is a concern, yet I doubt any server can truly be installed and hardened in 30 minutes. If you need servers that fast (you can’t wait a day?), then you need to be on a cloud platform. (I’m leaving out the obvious “cloning” method, because that wouldn’t care about the OS).
12) The working set is smaller. Because Linux can be stripped down, the entrepreneurs are telling me that they can make their server-side stuff run faster and with less memory usage.
Again, this is a perceived speed thing. Windows 2008 introduced Core Server, which is a stripped down version of Server for just such a case, but it doesn’t support .Net so I’m going to agree here and say “What the hell Microsoft!?!” (just because I want ASP.Net, WCF, etc as options on Core).
Okay, much of this list is redundant. To boil it down, I see: It’s too expensive, it’s not fast, and it’s insecure. There is also a bit of an undercurrent that it’s just not cool, in which case the others don’t really matter. Personally, I see the debate as pointless – either platform is capable of getting the job done in the general sense. Your specific goal and skills will be a big factor (if you’re a ruby specialist it makes sense to develop in ruby), and at the end of the day will not affect the really important factor – your customers.
Flame on.
Posted By Mike On Tuesday, May 05, 2009
Filed under microsoft web2.0 |
Comments (2)
Bill Thomson
-
Sunday, July 05, 2009
1:49:09 AM
Startups, as most of the websites, tend not to use Microsoft technologies due to licensing reasons. Linux is opensource and thus free, while windows and all the technologies that are based on them come with a fee. If you notice most web hosting companies that offer plans based on windows are approximately 40% more expensive than the their linux counterparts. That is why php is the most well known platform on the Internet and asp comes by far in second place. Nowadays as the trend of minimizing expensed in web hosting industry rises I think that Microsoft will see its market share to decline. I have written an article on my personal blog about <a href="http://www.webhostingart.com">web hosting</a>, where I analyze all the aspects of web hosting economy. I think that as long Microsoft will continue to invent new technologies (silverlight, mssql, exchange server etc), the gap between the two platforms in web hosting industry will continue to expand.