PDF version of this report
You must have Adobe Acrobat reader to view, save, or print PDF files. The reader
is available for free
download.
LAMP & WAMP Basics
Copyright 2019, Faulkner Information Services. All Rights Reserved.
Docid: 00011268
Publication Date: 1907
Report Type: TUTORIAL
Preview
LAMP is an open source Web development platform based on Linux, Apache,
MySQL, and PHP, a programming language for which Perl or Python is sometimes
substituted. Each of the components in the LAMP stack is an example of Free or
Open Source Software (FOSS). On the contrary, WAMP is a variation of LAMP and
employs Microsoft’s Windows operating system in lieu of Linux. This report takes
an extended look at both the LAMP and WAMP development platforms and their
potential relative strengths.
Report Contents:
Executive Summary
[return to top of this
report]
LAMP (Linux-based) and WAMP (Windows-based) are a pair of open-source Web
development platforms.
Related Faulkner Reports |
Linux-based Application Development Tutorial |
LAMP
LAMP is an open source Web development platform based on Linux,
Apache,
MySQL, and PHP, a programming language for
which Perl or Python is sometimes substituted.
Each program is an open source standard in its own right: Linux is the operating
system; Apache is the most commonly-used Web server; MySQL is a relational
database management system (RDBMS) with add-on tools for Web-based
administration; and PHP is a popular object-oriented scripting language that
encompasses the best features of many other programming languages to make it
efficient for Web development.
Over the years, many of the world’s largest organizations – among them the
AP, Google, and NASA – have used open-source products to power Web sites,
business-critical enterprise applications, and packaged software.
Figure 1 illustrates LAMP’s system environment.
Figure 1. LAMP System Environment
Image by Wikimedia Commons
WAMP
Owing to the enterprise embrace of cheaper open source systems such as LAMP,
Microsoft created the WAMP stack, which substitutes Microsoft’s Windows, a
commercial operating system, for Linux. One of the problems for Microsoft is
that, for the first time, the company is unable to claim a lower purchase price
and, in turn, must rely heavily on the argument of "total cost of ownership." In
addition to the issue of cost, Microsoft must also battle the open source
mentality of many developers who have formed a tight-knit community to expand
the features and capabilities of various open source technologies, including
those found in the competing WAMP and LAMP platforms.
Thus far, WAMP has been a hard sell to the development community; most
developers seem to see no advantage to using open source tools with a
closed-source operating system.
MAMP and Other Variants
In addition to LAMP and WAMP, similar terms exist for essentially the same
software suite (AMP) running on other operating systems, such as Mac OS (MAMP),
Solaris (SAMP), iSeries (iAMP), and OpenBSD (OAMP).
Description
[return to top of this
report]
According to the Open Source Initiative, "open source" software means more
than just open access to program source code. To qualify as open source, the
software license must offer1:
- Free distribution.
- Available source code.
- Allow modifications and derived works.
- No restrictions from selling or giving away software.
- Restrictions in modified distribution only if allowing distribution of
patch files for modifying the program when building. - No discrimination against individuals, groups, or "field of endeavor."
- Rights applied to all to whom the program is distributed without
additional license. - Non-specific license to any product, software deployment, or technology.
LAMP
The term "LAMP" was coined in Europe, where Linux, Apache, MySQL, and PHP are
commonly used together and have become something of a standard development
environment. The name derives from the first letters of each of the
programs. Each program is an open source standard in its own right: Linux is the
operating system; Apache is the most commonly-used Web server; MySQL is a
relational database management system (RDBMS) with add-on tools for Web-based
administration; and PHP is a popular object-oriented scripting language that
encompasses the best features of many other programming languages to make it
efficient for Web development.
Though the originators of these open source programs did not design them all
to work specifically with each other, the combination has become popular because
of its low cost and the ubiquity of its components (which come bundled with most
current Linux distributions, particularly as deployed by ISPs). When used in
combination, they represent a solution stack of technologies that support
application servers.
The scripting component of the LAMP stack has its origins in the CGI Web
interfaces that became popular in the early 1990s. This technology allows the
user of a Web browser to execute a program on the Web server, and to thereby
receive dynamic as well as static content. Programmers used scripting languages
with these programs because of their ability to manipulate text streams easily
and efficiently, even when they originate from disparate sources. For this
reason, system designers often referred to such scripting systems as "glue
languages."
WAMP
WAMP is a variation of LAMP, an open source Web development platform. While
LAMP leverages the Linux operating system, Apache Web server, MySQL database
management system, and the PHP programming language (or alternative programming
languages Perl or Python), the WAMP version utilizes Microsoft’s Windows
operating system.
Current View
[return to top of this report]
Each of the components in the LAMP stack is an example of Free or Open Source
Software (FOSS). The nature of FOSS software means applications are available
for free download, making them readily available without payment to a wide range
of people. That makes the software incredibly attractive to users who would
otherwise have to pay for "professional" commercial tools, which is often an
expensive step in producing a Web site.
By contrast, because open source products can, in general, be downloaded for
free, Microsoft has to compete against them by drawing attention to "total cost
of ownership." As such, It must make the case that Windows applications are
cheaper over the long term. Microsoft’s anti-LAMP strategy is to heap features
into its low-end products and build a comprehensive set of tools – spanning
development to management – in the hopes of making Windows Server more
attractive.
LAMP
FOSS licenses are open and thus have few restrictions on the use and
deployment of applications based on the FOSS technology. It is possible to
develop and deploy LAMP-based projects without paying any license fees for
distributing the software, and this, again, makes it popular for both hobbyists
and professionals alike. A major reason for the growth and use of FOSS
technology (including LAMP) is that because users have access to the source it
is much easier to fix faults and improve the applications. In combination with
the open license, this streamlines the development process for many enterprises
and gives them flexibility that simply isn’t available within the confines of a
proprietary or commercial-based product.
This aspect is where the power of the LAMP stack shines. By combining a Web
server (Apache), dynamic components (using Perl, Python or PHP), and a database
(MySQL), developers can create a truly database-driven and dynamic Web site that
is easy to update and provides rich functionality to support users. In addition,
the choice to use LAMP in an enterprise is not really about cost – although many
enterprises will be attracted to the low-cost required for both development and
deployment. Instead, choosing LAMP is about the benefits that it provides.
Other key selling points include:
-
Flexibility – There are no limits to what can be
done with the LAMP stack, either technically or because of licensing
restrictions. This allows for the flexibility to build and deploy
applications in the method desired by the user, not the supplier of the
technology. -
Customization – Because LAMP components
are open source, they have built up a huge array of additional components
and modules that provide additional functionality. The open source approach
allows users to customize components and functionality to suit their needs. -
Ease of Development – Powerful
applications can be written using LAMP technology in relatively few
lines of code. Often the code is straightforward enough that even
nonprogrammers can modify or extend the application. -
Ease of Deployment – With neither licensing issues nor
the need to compile applications, deployment is often as easy as copying
an application to a new host. Most hosting services provide LAMP-based
environments as standard, or they can be deployed using a Linux
distribution, such as Fedora or Debian. -
Security – With many eyes developing the software and
years of use by a wide range of users and community groups, LAMP
technology is secure and stable. Problems are normally fixed very
quickly and without the need for a costly support contract. -
Community and Support – A wide and experienced group of
developers is willing to provide help and support during the development
and deployment of LAMP-based applications.
Many successful business have already leveraged the use of LAMP technology
while many heavily trafficked Web sites use LAMP, or components of it, to
support their applications.
WAMP
Microsoft has long been at war with open source software. Many longtime
Windows advocates believe that WAMP makes less sense than the use of a straight
Windows stack. Why mix and match, some say, when using a suite of products that
is designed to work in unison does the job just as well? Cost of acquisition is
a frequent reason.
Outlook
[return to top of this
report]
LAMP
Perhaps the principal impediment to LAMP adoption – as with the acceptance of
other open source schemes – is the conservative nature of enterprise
management. Despite the success of some open source initiatives, enterprise
officials remain wary of becoming too reliant on non-enterprise-backed software
solutions. Their concerns include:
- Personnel – The ability to recruit and retain software
engineers who are familiar with the ever-changing landscape of open source
systems. - Support – The absence of a responsible "go to" organization
in the event of software problems. - Security – If proprietary systems like Windows are not
secure, what are the chances that open source platforms like LAMP will provide
adequate protection for users?
Only actual LAMP experience, gained over the course of incremental LAMP
investments, will help relieve these and other forms of enterprise anxiety.
WAMP
Having products that are engineered to work together – which is something
that open source competitors cannot do – will ultimately make Microsoft products
easier to run and more cost-effective over time.
But even with Microsoft’s strong tooling and its long-term commitment to
better Windows management, the selection of operating system, Linux versus
Windows Server, will heavily influence the choice between competing development
stacks. Both developers and companies alike split along battle lines of
operating system preferences, and which way one goes is often as much personal
preference as feature based. Microsoft has an uphill battle if the goal is to
replace LAMP and open source software. Open source has the definite cost
advantage of being free. Microsoft hopes by providing a product that can
co-exist with open source, it can carve out enough of a foothold to continue the
struggle. Many die-hard Linux developers believe, however, that all Microsoft is
managing to do is provide the worst of both worlds: high cost of acquisition
paired with being bound to a vendor.
Microsoft, of course, feels it has a good shot at surpassing LAMP. For the
company, the primary advantage in the sale has always been the Windows platform.
The second is how easy it is to develop for the platform. Although many complain
about the bugs and flaws in Windows, it is still a dominant force in the
marketplace. Being tied to a vendor is bad, but being tied to an outdated and
unsupported technology, as many fear open-source software may one day become,
has dangers of its own.
If enterprise officials have their way, WAMP will probably prevail over LAMP
(or other pure open-source alternatives) in the battle over Web development
platforms. One factor that may complicate the selection is the availability of
cloud-based Web development services. If Web development is effectively
outsourced, enterprise officials may become more tolerant of open source
solutions.
Recommendations
[return to top of this report]
The single most important choice for the enterprise is what platform should be
deployed to build everything else. In the world of Web-based technology,
enterprise solutions continue to often fall into two distinct camps: open source
or Microsoft. At a high level, the decision is often about dollars and available
resources. Sometimes open source wins because LAMP is easy to implement and easy
on the wallet. Other times Windows wins, because Windows developers are often
easier to recruit and easier to train, in addition to the fact that every
manager in the US has heard of Windows. At the ground level of the debate, you
have the personal preferences of the IT staff, which will almost always be
firmly in one camp or the other with little actual tolerance for the other side.
References
1 "The Open Source Definition." Open Source Initiative.
Accessed July 2019.
Web Links
[return to top of this report]
- Apache: http://www.apache.org/
- Linux: http://www.linux.org/
- Microsoft: http://www.microsoft.com/
- MySQL: http://www.mysql.com/
- Open Source Initiative:
http://www.opensource.org/ - PERL: http://www.perl.com/
- PHP: http://www.php.net/
- Python: http://www.python.org/
About the Author
[return to top of this report]
Brady Hicks is an
editor with Faulkner Information Services. He writes about computer and
networking hardware, software, communications networks and equipment, and the
Internet.
[return to top of this report]