Feature heap won't undo LAMP's toll on Microsoft

Feature heap won't undo LAMP's toll on Microsoft

Summary: You've heard of feature creep? The phenomenon that occurs, usually during the specification phase, when extraneous features somehow work their way into software in such a way that can make the resulting product either too complex or worse, impossible to use?

TOPICS: Windows

You've heard of feature creep? The phenomenon that occurs, usually during the specification phase, when extraneous features somehow work their way into software in such a way that can make the resulting product either too complex or worse, impossible to use? Well, now comes feature heap.  This, according to a story by News.com's Martin LaMonica, is Microsoft's strategy for neutralizing the threat that the open source LAMP stack poses to sales of Windows Server 2003 as well as Microsoft's other server-based offerings such as SQL Server.  For more on LAMP (as well as its kissin' cousin LAMJ), check out my last blog about how it's also one of BEA's demons.  According to LaMonica's story, "Microsoft's anti-LAMP strategy is to heap features into its low-end products and to build a comprehensive set of tools--spanning development to management--in the hopes of making Windows Server more attractive."  In other words, give away as much a they can possibly afford to give away with Windows Server in hopes of making the total package a better deal than LAMP, even though there's a commercial license.

To me, this sounds like the exact opposite of what Microsoft should be doing (if that's what it's really doing).  Not only for it to have any hope of deflecting LAMP, but more importantly, to appeal to the logic (or at least part of it) that attracts IT folks to LAMP in the first place.  One key feature of the LAMP stack that attracts IT pros (and many startups) is its modularity.  You don't like the the distro of "L" (Linux) that you started with? Although it's not always that easy, you can substitute SuSE Linux or some other distro for Red Hat (or whatever you started with).  Don't need or want the "M" (the MySQL database)?  No problem.  Have a preference for Python over Perl (the "P")? No worries.  Or, go with PHP.  Or, change the "P" to a "J" as in open source Java or J2EE (ie: JBOSS, JOnAS, etc.).  

Another big attraction to the LAMP stack, in addition to the aforementioned modularity, is the option of simplicity.  Linux, by virtue of its open source nature, doesn't have nearly the layers of stuff hardwired into it that Windows Server 2003 does.   Not that all that stuff -- systems management features, security features, etc. -- aren't great to have.  Under the right circumstances in specific scenarios, it's wouldn't be unusual to take advantage of all of them.  But what if you don't want to?  Depending on where you start your Linux build from (either what a distributor like Red Hat or SuSE gives you, or starting from scratch), you're not stuck with a heap of features just because your vendor says they need to be in every build of your OS.  The degree of bloat is up to you.   And so, there are thousands of very efficiently configured LAMP and LAMJ deployments out there that contain only the componentry needed to fuel the applications they support.

In contrast, apart from the way the clever authors of some technical journal pieces have figured out how to trim some of the fat off of a typical Windows installation, most of the features that come in Windows stay in Windows whether you like it or not.   How many times have you heard of those average users who wants to wipe their hard drive and start from scratch just to declutter their systems?  IT pros are far more anal about that clutter.  They hate it -- especially on their servers. 

So, when I read in LaMonica's story that Microsoft is going to heap more stuff into low-end products in hopes of creating something that's attractive to the type of IT pro that might normally be drawn to LAMP, my instincts are to ask why Microsoft isn't doing the opposite.   Instead of heaping stuff in, make it easier to deconstruct the Windows stack into something that's far less complex and much simpler for IT pros to get their head around.  Easier when it comes to keeping track of what's in the system (fewer things to go wrong). Easier to come up with the standard build that IT departments, consultancies, or outfits like SpikeSource can rubber stamp for certification and production use. 

In some ways, Microsoft's embedded program represents a seedling of promise to those looking for a simpler Windows-based stack.  But, as I learned from embedded systems architect Miles Wade earlier this year, Microsoft has left much to be desired from its embedded initiative for certain types of customers (coincidentally, the same type of customer that the LAMP stack appeals to).   It's been five months since I interviewed Wade, who was considering a move from Windows to Linux.  Things may have improved since then. (And to be clear, it wasn't a server app, but why can't embedded Windows drive server apps?)

Finally, if attacking TCO is what Microsoft is after -- and heaping TCO-reducing features into existing and new products is the way Microsoft thinks it can do that -- one other place Microsoft needs to soul search is its licensing costs.  Without limitation, if an IT shop so desires, licensing fees can be completely avoided when connecting clients to a LAMP or LAMJ stack. (You can always find some non-open source components that trigger a licensing fee of some sort.)  Doing this in a Windows environment can be a bit more challenging.

Topic: Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • LAMP is nothing new

    I must admit I get confused with writers shouting about this *new* LAMP setup. Just because you are making an acronym out technology that has around for many years, does not make it new. Why would Microsoft suddently feel threatened by PHP/MySql/Linux web apps, they have been around for years and is really the default setup if running a linux based web app. Our company runs WISA, an amazing new technology (Windows, IIS, SqlServer, Asp.Net) and it's so flexible and modular, it can be converted to WOSA (Oracle) or WISJ (Java), it's the new LAMP!

    It's refered to as the LAMP stack, but I really don't see what the "stack" part is as the four component parts are just the four compulsory parts to running a database driven web app. What it boils down to is Linux Vs Windows as both platforms can host good server side technologies and good,free databases.
    • You didn't get it huh?

      Typical M$hill knee-jerk reaction to a well done article on OSS. Knee-jerker says "I use THESE M$ products, and they work for ME!". If you don't understand what the guy said, just say so (you don't know what a "stack" is?). PT Barnum's people use M$ products all the time . . .
      Roger Ramjet
      • Re: You didn't get it huh?

        What, are you 3?

        My point was not that a window/MS solution is better, just that using 4 seperate products together does not create a new one. I'm not saying anything about the quality and usefullnes of LAMP, I'm not even a MS jealot, I actually like Linux and used to be a JSP/Interbase developer. The argument in the story is actually a typical Linux Vs Windows argument, because the "AMP" of LAMP can effectively be done in Windows with similar tools, and vice versa on Linux. It just seems a bit redundant to me.

        Since I obviously know so little about why the LAMP stack is actually a stack, why don't you induldge me? A stack usually implies some sort of reliance on the item below it, i.e the TCP/IP relies on the layer below it, or in coding terms you can only access the item below the top one. Is mySql really reliant on Apache?
        • definition

          After reading the article, I think his definition of a "stack" in this case is a complete web development application program suite. As such, for true web development an OS, Db, web server, and scripting/prorgramming module are all dependent upon each other. At least that's how it seems to be described for the Linux stack.

          As for Windows, I think the definition might have changed to what you describe as one layer dependent upon the layer underneath it.

          In general response of my own to the article, I rahter agree with the premise. Why doesn't M$ just release a basic OS stripped of all layers possible, then allow varioius modules to be installed on top of it. Wasn't that one of the basic security flaws of Win2K? Everything was included with it even when it wasn't desired. This just left an open door to security threats for parts of the system not well known to the server admin in charge of it. I thought Win2K3 was supposed to be better about this?

          Anyway, in your earlier reply you brought up the comparison to LAMP vs. WAMP. LAMP still handles about 3x or greater processing web requests on similar setups. So that's part of the competitive issue for M$ as well. LAMP is cheaper and faster.
          • ...

            [i]"Anyway, in your earlier reply you brought up the comparison to LAMP vs. WAMP. LAMP still handles about 3x or greater processing web requests on similar setups. So that's part of the competitive issue for M$ as well. LAMP is cheaper and faster."[/i]

            Wrong. IIS6 is just as fast as Apache. Replace the A in "WAMP" with IIS (lol, that would be "WIMP") and you'll have a platform that is equal to apache performance wise. Repalce the M with a different M (MSSQL) and you have a more robust DB server that can offload some of the processing power that normally would have to be handled at the scripting level.

            For small and/or low budget projects, *AMP is a no brainer, but for larger budget projects there are many good platforms (Microsoft included) that can do the job.
  • It isn't...

    ... that LAMP is new. It's that several components of LAMP have matured to the point they are as good as or better than (from a technological and implementation/administration standpoint) the comparative microsoft products.

    Linux and Apache were pretty mature to begin with but perl, php, python and mysql had alot of ground to cover in some ways. They did it quite admirably and quickly.

    At the same time IIS was *far* behind apache for many years, but it now equally as good and in some cases (especially when working with .net stuff) better than apache.

    Both a propritary and free solution are advancing and pushing each others advancement, its good for the industry as a whole.
  • License costs

    Don't drink the "license costs" Kool-Aid. The cost of acquisition is the least part. It's the bookkeeping for all of the parts, for the CALs, for all of the servers -- [b]that[/b] is what really costs, because if you lose even one of them the BSA can nail you for millions.
    Yagotta B. Kidding
    • License RISK

      Cost is irrelevant, risk is what's important -- what will this company do to me in 2-3 years when they have new management, a sagging stock price, a new platform no one will buy, etc? Win2K wasn't so bad, because it didn't have DRM. Now that Windows software has to activate with MS, they can drop support any time it's convenient and make people upgrade. Of course, they won't do that to their customers. Right? But can I take the risk of planning a 2-3 year incremental web platform design on MS software and then have them do that to me? I wouldn't take their platform if they GAVE to to me, because I'm interested in RISK, not cost. Risk is much more costly than a fixed-cost license. What will the cost of the license be in a few years? I'm using MS as an example, but there are plenty of others (see Ed Foster's GripLine!) which do not treat customers nicely or fairly. What's REALLY risky is the Darlization of a company -- perfectly good company X produces a mature, useful VAR operating system (like SCO) and then some random management change makes it impossible to use their platform. Or, like that Asymetrix Supercede IDE a while back - had a nice initial version, went nowhere, and my license was sold to THE COMPANY I REJECTED IN A TRIAL COMPARISON IN FAVOR OF SUPERCEDE in the first place. Open source = risk management. You think proprietary vendors would get the picture.

    You are right about modularity. Although I prefer LAMP(hp) myself, there are many people who are still comfortible with the Microsoft platform. In that case there is WAMP (Windows/Apache) and WIMP (Windows/IIS) alternatives to satisfy them. Microsoft offereings still requires the use of their propeitary offering whether they are free or not.

    Not to mention but the database portion is also very modular since you can nearly connect to any database you want to through ODBC both on Linux or Windows platforms.

    The reason why Web programmersfallin love with PHP is because of modularity. Their are literally 100's of libraries that you can add to Php making it oneof the most flexiblelanguageson the platform. But what is awesome about having hundreds of libraries is that you also have access to thousands of function calls without even the need for an "include" statement. The Php developers are well aware what web developers need to accomplish tasks with the language. Just look at the string library asan example.
  • Business 101

    Microsoft is attempting to compete on both price and feature set. If it stripped it serverware down and priced it accordingly as Mr. Berlind suggests, the product would be commoditized. As a consequence, the products' profitability AND revenue generation would most likely decrease.

    There are a variety of options available to IT professionals to add to their skill set. Maintaining their skill set (or contracting with a vendor who does) is their responsibility.

    I am not an apologist for Microsoft. Some things they do very well, other things need work - like most large companies. Nevertheless, it's unreasonable to ask a software company, even one with the resources of Microsoft, to take on cultural ills (I.T. Pro's lack of time; education maintenance) of an industry. Microsoft supports a variety of high quality low cost and free resources available to I.T. Professionals. They need only supply the time and desire to avail themselves of them.

    The press continuing to propose such an idea serves to disempower these people. It also proliferates a culture that validates a lack of personal responsibility.
    • the product would be commoditized

      "the product would be commoditized" - what a "stack" (even though that's not completely accurate) like LAMP does is push down the commodity and push up the level on which interesting stuff is done - LAMP has pretty much solved the problem of storing data and generating web pages, so people can concentrate on building applications - no need to reinvent the wheel now - so MS really can't compete in this arena, because the problem has been generically and completely solved and open-sourced - what are they going to compete with?
      • With what are they going to compete?

        I would think they would compete with features. Lots and lots of features. Whether that will work or not, I don't know. Time will tell.
  • You're dead on, Dave

    Features = complexity
    Features = user confusion
    Features = development costs

    Complexity = security problems
    Complexity = performance issues

    It's all quite simple. For MS to combat LAMP, make MS products more secure, make them easy to deploy, easy to manage, and make the features modular, so that those who want them can add them, and those who don't can keep them out of their environment. Then you've got yourself a winner.

    As soon as LAMP figures out how to make their products easy to deploy and manage, then MS is in BIG trouble. LAMP is stumped by this so far (luckily for MS they seem more intent on posting anti-MS rhetoric here on the boards than addressing this issue), so MS really needs to take advantage of the time LAMP is giving them. I like MS stuff, but as soon as LAMP offers alternatives that offer security and performance benefits while being at least as easy to deploy and manage, who WOULDN'T switch?
    • Disagreement = Rhetoric?

      Having attended Microsoft User Group meetings and events, I'm pretty sure they get the execution and security issues.

      At one event, a Microsoft Rep claimed that they pulled their "...best programmers off Longhorn to address the security issues in current products."

      If it were that "simple" don't you think they would have done it? Isn't that writing a little naive? We're talking about millions of lines of code and then testing and fixing and retesting, etc. Simple and writing OS code don't seem to be very congruent. This is particularly so when you're attempting to maintain backward compatibility and compatibility with millions of combinations of legacy hardware.

      Poorly designed and executed software development can = "Features = complexity
      Features = user confusion... etc.". Microsoft gets it. Unfortunately, they haven't perfected it. They're only people, just like us, you know.

      I think they get it because, I was taught Active Directory programming at a free one day hands on lab a few weeks ago and it was pretty simple to learn. Considering I don't have much experience with any serverware, I think that says volumes.

      As for my working in any capacity for Microsoft... Your statement is astonishing. Some of you are acting so venomously anti-Microsoft you're imagining things. I'd rather be working for Microsoft, instead of my current situation.

      Sam, your solution to not doing something well, seems to be, to not do it. So, if you have asthma you should stop breathing? People do learn and people do evolve.

      Microsoft is composed of people, just as fallible ad you and I. Just as you have much to learn about the business world, they have had much to learn about effective usability and security.

      Unfortunately, they have much to repair. Finally, however, I'm convinced they know it. We all wish they had internalized it more rapidly. So do they - think of all the wasted time and money they have spent compensating for their errors. Imagine the things they could have done with those resources instead.
  • LAMP has no DRM or restrictions

    Wait a minute on this - MS is selling businesses a DRM timebomb, and that's a risk people are apparently not willing to take. Features are beside the point. (Not that anyone wants to use the BASIC-inspired ASP language, but still...) I use LAMP for a small-business platform, because it has no DRM or licensing problems. No one can come to me and say -- time to upgrade, or your software quits working! (Try installing WMP7 from an old CD if you don't believe MS will do this: it won't work! You have to upgrade to the DRM version.) Whatever other benefits I get from LAMP (like upgrades without rebooting! I can upgrade PHP in like 2 minutes), the main one is I don't have the risk that this platform will be unusable in a year or two or three when MS wants me to upgrade to whatever platform monstrosity they can't get people to buy without DRM-ing old OSes. Surely, MS knows this?
  • I would prefer to buy a Modular version of Windows

    Server or desktop, Windows has become rather large and unwieldy. The very fact that the server version of Windows must include the web browser and email client just seems a little strange to me.
    A stripped down version of Windows server at a lower price may stop many SMBs from moving to Linux.

    Then again, maybe the move to Linux is inevitable.
    • Have you tried Small Business Server 2003?

      I hear great things about Small Business Server 2003. I haven't implemented it yet, myself. However I have business associates that have and they like it. I don't know if that means you will, WG.

      I agree with you about the inclusion of the web browser and e-mail client. I think it was marketing move. I also think the browser inclusion is there to help along their ASP initiative.
      • Can you remove the GUI

        media player, etc?

        Last I heard (and I admit I don't have first-hand knowledge) you can't remove the GDI from any of the PC-based Microsoft platforms. Now, of course, they also have IE and WinMedia metastasized into all parts as well.
        Yagotta B. Kidding
        • You can remove easy access to it...

          YBK - this is how to do that:

          Assuming XP:
          USING IE - Go to the Windows Update site and if appropriate, the Office Update site and make shortcuts to them. Place the shortcuts into your start menu so that you'll still be able to perform those particular IE mandatory processes.
          Install your preferred browser(s) and media player(s).
          Control Panel
          Add or Remove Programs
          Add/Remove Windows Components
          Uncheck Internet Explorer
          Uncheck Windows Media Player
          This will remove access to the programs via desktop and start menu.

          A better way is to instead of Add/Remove Windows Components, first:

          Again, assuming XP:
          USING IE - Go to the Windows Update site and if appropriate, the Office Update site and make shortcuts to them. Place the shortcuts into your start menu so that you'll still be able to perform those particular IE mandatory processes.
          Install your preferred browser(s) and media player(s).
          Control Panel
          Add & Remove Programs
          Set Program Access and Defaults
          Click on the double arrows to the right of "Custom"
          Choose your alternative Web Browser in which to enable access. Also, verify it's your default browser. Be sure to keep access to IE enabled, for those one or two IE mandatory processes.
          Scroll down to:
          Choose a default Media Player
          Enable / disable the Media Players you deem appropriate

          I reiterate that it's important to keep in mind IE is required to run Windows update and Office update.

          For those of you who are Admins and are about to flame MS about that, read on -

          I was at a Windows User Group meeting this evening and we were provided an overview of WSUS and SUS.

          WSUS is pretty slick. It gives the SysAdmin complete control over what updates go to which systems. It has tremendous, perhaps the ultimate in patch, driver and hotfix update flexibility. In a room of @80 I.T. Pros, there wasn't a single complaint, which amazes me.

          If you manage a server, check it out. It's going to drive down your TCO. Ultimately, it's supposed to support even hardware bios upgrades. Again - the SysAdmin gets absolute, complete control over the entire thing. It'll simplify patch, upgrade, etc. management to the "nth" degree.
    • Not sure I understand this post

      Money has never been, nor is it now the issue.. so lower cost will not cause a shift to linux on any large scale. There is still no sizable Linux desktop deployment in any SMBs. We can wish there were so it would gain the features we all want, but there is not yet.

      As for modularity in the software stack (not really an IE, Outlook, or any other Microsoft shrink wrapped application issue) the reason I would like it is to permit me to strip out that which causes future support issues....not to stop someone from browsing the web on my desktops or servers. This applies not only to the stack BUT TO ITS AUTOMATIC UPDATES which fix things I don't use!