Have you ever heard the term L-A-M-P hosting and wondered what it means? Actually LAMP hosting simply refers to the web hosting platform used for the great majority of the Internet (in rough terms!) and, spelt out, it stands for:
- L-inux – the operating system type, but there are many flavours of Linux/Unix such as Centos, Ubuntu, FreeBSD etc
- A-pache – the web server itself that serves the web pages – there are other web server programs also used on Linux servers to replace Apache, such as nginx, lighttpd, and others.
- M-ySQL – is the free database engine that runs on the server if you have a database-powered or -requiring site
- P-HP – the open-source programming language in very common use on the Internet these days. Programs such as WordPress and Joomla! are developed in PHP. The latest version of PHP, at the time of writing, is version 5.3.3, and software written for earlier versions of PHP doesn't always work on newer PHP versions (eg: see the constructor change in 5.3.3), particularly if authors don't write their software carefully.
What does LAMP hosting actually mean for me?
LAMP webhosting is probably the most widely used type of hosting on the internet at the moment for a number of good reasons – Netcraft cites 60% running Apache, and an educated guess is that about another 20% of the internet's web servers run on Linux/Unix-based servers. If you're not technical, all you need to know is that it does the job, and does it well – providing reliability, stability, and resilience whilst being cheap to run. Let's talk about the reasons why the LAMP family of web servers is so popular to give a bit more perspective.
LAMP hosting is incredibly stable, particularly so if it is well tuned. Our servers would stay up for years if they were not periodically rebooted (periodic reboots are good sysadmin practice). Like anything, they would be vulnerable to hacking if not well run, but so long as software patches are applied in a timely manner they are incredibly resilient. Linux runs on the Linux kernel, which has been closely refined over years and runs on millions of servers worldwide.
Cheap to run
In part due to their extreme stability, LAMP servers are much cheaper to run than Windows servers. The software they run is all open source (unless you run a commercial version of Linux, sometimes advisable for high end servers) so there are no licence fees, and because the servers are so stable, they can efficiently handle a lot more users than Windows servers. As Linux (a form of Unix, if you've heard that term) is open source, there are bucket loads of free software available for it. A defacto rule of thumb we use is to multiply capacity by 2-3 when moving from Windows to Linux – 100 users on Windows means 300 on Linux, 10,000 hits on Windows means 30,000+ on Linux.
LAMP servers cope well with a variety of problems, including heavy load, and are resilient to all sorts of attacks and security issues. Of course, they're not immune, not for a moment, but can be very hardy when well run – when tuned correctly with the patches kept up to date. This is really one of the key features of Linux – it's resilient in many ways.
Like anything, Linux is insecure if it is not maintained – security everywhere is under a constant barrage, so software must be kept updated. But a regularly updated Linux, with good firewalling and some forethought put into settings and security software, can be very secure under normal circumstances. To be concrete, absolutely nothing is secure if people who are smart enough want to attack it, but if you want a down to earth comparison, Linux is very rarely hacked!
It's just everywhere
In general terms, LAMP servers (also known as the LAMP stack) are used on the lion's share of web servers, including Google and Facebook. Sometimes one or more of the components is swapped around for an enterprise solution, but the basis is still Linux centred, along with Linux's philosophies (open architecture, simple small modules that interconnect well, and all open source, just to take a few key ideas).
Alternatives to LAMP hosting
The main contender for an alternative to LAMP hosting is the Windows IIS family. If you are running .Net applications, there is currently no other choice, you have to use Windows hosting. While IIS can be set up to be secure and fairly stable, constant attention and expertise is needed to do so. A licence must be paid for each IIS server, and fairly constant maintenance is needed to keep them stable. As a result, and understandably so, reliable Windows hosting plans are generally rather more expensive than LAMP hosting plans – a rough measure is 2x to 5x what you would pay for LAMP hosting. Windows IIS tends to be popular with enterprise developers using enterprise development frameworks and large CMS system, which often require IIS or family, although there are some attempts [eg: mono] to build IIS-compatible systems running in the Linux framework. It's probably also worth noting that enterprise and very high volume web servers tend to modify the LAMP stack, for instance replacing Apache with the faster and newer nginx (eg wordpress.com) which is becoming increasingly popular and can substantially exceed Apache performance with more resilience. Google appears to use a Linux kernel but uses proprietary software on top of that.
LAMP hosting provides a very solid platform for industrial strength general purpose hosting. It is particularly suited to the hosting of high-availability enterprise solutions, but also works well for stable shared webhosting.
In an Enterprise hosting environment, the LAMP concept can be extended further to provide serious industrial strength reliability – the open and extensible framework that Linux is built on lends itself well to a variety of solutions and strategies that can be combined for amazing results. It's no accident, of course, that both Google and Facebook [1, 2] use many thousands of servers based on various forms of LAMP stack technology to provide their services – running forms of Linux in an architecture based on many small servers, where any one server is completely redundant. [Ed: Google appears to run a variant of Linux]. — This has been a basic introduction to the more technical side of web hosting – if it's been helpful, or if you would like us to talk about other aspects, please comment! I've tended to simplify things, if that has been unhelpful also please comment.]