The title to this post just doesn't do it justice. But I didn't know how else to put it. For the last decade I have watched Microsoft erode Novell's marketshare in the networking world. If you have been around long enough, you might remember the glory days when a CNE was a badge of honor. And when things like syscon and pconsole were just the bomb against what Windows had. Netware was the system everyone used. And then Microsoft got into networking, and Netware went by the wayside for many people.
Now adays, most people don't even look to Novell for IT solutions. Even though they continue to have a strong offering for Windows and have repositioned themselves firmly in the Linux camp. But recently I had an eye opening experience that makes me believe Novell is done licking their wounds from the workgroup networking world battle they had with Microsoft and have come out fighting in this new 'Internet'worked world.
And I don't think Microsoft is paying enough attention to it. Big mistake.
I was given an interesting Christmas present this year. My wife bought me a book entitled “.NET Web Services: Architecture and Implementation with .NET” which had me so interested I read it in two days. This is interesting because I have tried to stay away from web services for some time now as I waited for it to mature a bit. That and I have just been to busy working on kernel mode code in Windows to care. But recently that has changed with some new work that I am planning on doing.
In an effort to look objectively at building a Software as a Service (SaaS) product, I have spent some time in December looking at all the different technology solutions on the market. From Ruby on Rails to the LAMP stack to ASP.NET. And everything in between. As I started to do the math and ROI calculations on learning curves, licensing requirements and tool purchase plans I came to one realization. I like the idea of Web Services. And I like C#. But there is no way in hell a SaaS startup should go with a Microsoft solution, as it is just WAY to much money.
Robert Scoble knows this. He talked about it in his 12 reasons Web 2.0 entrepreneurs like Ross tell me that they arent using Microsofts stuff. Sam Ramji said it even better in his post on the topic when he said:
I've been working hard to develop a strong Microsoft-based offering for startups building SaaS companies, because the economics are with LAMP right now.
For those that don't know, LAMP is Linux + Apache + MySQL + PHP/Perl/Python. It seems to be the defacto standard for startups these days. Read Robert's and Sam's posts to see why. But I think Novell has an opportunity to change that… and in a big way.
Remember how I said that I like the idea of web services, and C#… but don't believe that the Microsoft Windows stack is the way to go? I really believe that. But that won't happen with LAMP. But with Novell in the picture, it could be done with LAMM.
Linux + Apache + MySQL + Mono.
Mono is just killer. It is an open source implementation of the .NET framework on Unix environments sponsored by Novell. And it works AWESOME. After reading up on web services I wrote my first one on a Debian Linux system in less than 20 minutes. And I was consuming the web service in both a Windows Forms stand alone app and a ASP.NET web app running on a different Linux box running Ubuntu about an hour after that. Another 30 minutes went by and I had it consumed in a web part on Sharepoint. Novell has figured how to get distributed computing working and offering a solution on a well tested stack (Linux + Apache + MySQL) that startups can use NOW.
This has a lot of appeal to me. It means SaaS startups can start with the LAMM stack, and then decide later to move to a Windows stack WITHOUT ANY CODE MODIFICATION to the web service (if written correctly to NOT use platform specific classes). It allows for really interesting scaling as a SaaS grows. It can decide to stay on Linux, move to Windows (or Solaris or OSX for that matter) or use a combination of any of those solutions as the infrastructure grows.
For Web 2.0 companies this open a whole new set of possibilities. It means you can still leverage some of the great architecture of the .NET framework without having to invest a lot of money on the initial deployment. And if you decide down the road that you made the wrong selection on the stack you chose… you simply move to the one you like without having to make any major changes to the underlying code. You can't do that with LAMP.
Wake up Microsoft. Novell's support for LAMM may just let them steal back some of the marketshare you took. I know they sold me. I won't be paying for another Windows server for this SaaS project. I am going with LAMM.
[Dana Epp's ramblings at the Sanctuary]