Primer: LAMP

  • What is it?

    Shorthand for Linux-Apache-MySQL-and (your choice of) Perl, Python or PHP. In effect, it’s a “stack” of basic business software that is freely available to corporations.

  • What’s in it?

    The LAMP stack consists of operating system, database, Web server and Web-scripting software. These layers are comparable with the ones that make up commercial stacks like Microsoft .NET.

    Linux
    The free, imitation Unix that Linus Torvalds invented while a university student. From its hobbyist roots, Linux has grown into a reliable operating system that now gets corporate support from startups like Red Hat and big companies like IBM.

    Apache
    The world’s most-used Web server; it’s controlled by a group called the Apache Software Foundation and has also been embedded in commercial products like IBM WebSphere.

    MySQL
    A popular Web database; it has yet to prove itself capable of supporting critical business needs, such as financial transactions. MySQL AB of Sweden backs the product and also sells a commercial version.

    Perl, Python or PHP
    Though open-sourcers aren’t likely to agree on a single “best” programming language, PHP is increasingly popular. It’s also the one that is the most similar to Java Server Pages (JSP) and Microsoft Active Server Pages (ASP). PHP, which originally stood for Personal Home Page, is yet another Web-scripting technology that mixes HyperText Markup Language display code with programming instructions.

  • Does it really qualify as a platform?

    If we’re talking about a set of interlocking technologies on which developers can build, then yes, LAMP is a de facto platform. Still, each component is controlled by a different organization, making it less cohesive than, say, the Microsoft combination of operating system, database, Web server, programming languages and tools. Sun Microsystems can also sell you a fairly complete package (leaving the database to Oracle), though the Java platform does include competing implementations of the standards.

  • Is it ready for enterprise use?

    Would you want to run your core financial systems on LAMP technologies? Probably not, given that until recently MySQL didn’t even support the concept of a transaction. On the other hand, these technologies are already used to run high-volume Web sites, such as the O’Reilly Network, and they are certainly capable of supporting most intranet applications.

    Gartner Inc. analyst Mark Driver doesn’t doubt that many big companies have open-source skunkworks applications. But, he says, “this sort of thing is most popular with organizations that are very price-conscious, capable of self-development and comfortable with peer-based support. That’s typically not the Global 2000.”

  • Are there other choices on Linux?

    Certainly. You can do Java development on Linux and take advantage of the Apache extensions for handling JSPs and Enterprise JavaBeans. You can use other Web application servers based on entirely different programming languages. You can run commercial databases like Oracle or DB2 on Linux. But if you want an end-to-end open-source solution, LAMP is the popular choice. Besides those developers who distrust Java as being not quite open enough, there are also those who happen to like PHP (or Perl or Python) as a matter of personal taste.

  • What are the drawbacks?

    By itself, LAMP really only defines software for Web applications. Although you can use it to build an application that connects to sophisticated middleware, the heavy-duty programming would likely have to be done in a language other than PHP, Python or Perl. The .NET and Java platforms, on the other hand, offer a way of writing both Web scripts and complex enterprise applications in the same language.