The rise of the GLAMMP stack

Fri, May 22, 2009 11:34 AM
First there was LAMP.  But are you using GLAMMP?  You have probably not heard of it because we just coined the term while chatting at work.  You know LAMP (Linux, Apache, MySQL and PHP or Perl and sometimes Python). So, what are the extra letters for?

The G is for Gearman - Gearman is a system to farm out work to other machines, dispatching function calls to machines that are better suited to do work, to do work in parallel, to load balance lots of function calls, or to call functions between languages.

The extra M is for Memcached - memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

More and more these days, you can't run a web site on just LAMP.  You need these extra tools (or ones like them) to do all the cool things you want to do.  What other tools do we need to work into the acronym?  PostgreSQL replaces MySQL in lots of stacks to form LAPP.  I guess Drizzle may replace MySQL in some stacks soon.  For us, it will likely be added to the stack.  Will that make it GLAMMPD?  We need more vowels!  If you are starting the next must use tool for running web sites on open source software, please use a vowel for the first letter.

11 comments
Gravatar for Sudheer

Sudheer Says:

SCM - git, svn
Documentation - Wiki, docbook,
Unit testing - libraries like phpUnit

Gravatar for mike

mike Says:

after spitballing on #drizzle a couple weeks ago, i was messing around with different acronyms. sadly, it actually removes the only vowel.

to me the future/ideal stack would be:

l - linux (but i guess it could be freebsd or maybe solaris, too)
n - not apache, but nginx
d - drizzle, not mysql
p - php, perl, python, whatever SAPI people use. yeah, i'm leaving out ruby! hah!
m - memcached
m - mogilefs
g - gearman

and maybe...

f - fcgiwrap, or whatever it winds up morph into, for cgi support if required for nginx. but hopefully newer technologies will eventually deprecate those cgi-based apps (die mailman and bugzilla, die)

nginx has been gaining momentum it seems exponentially now, and could be the web-based glue that keeps together mogilefs and the other http components in the stack mentioned above as well (as frontend web nodes, load balancing nodes, mogstored nodes, etc) - it can do all of that. however, it does need a little bit more enhancement for more robust load balancing, but it definately can handle a load much more gracefully than apache can. :)

Gravatar for Benjamin Young

Benjamin Young Says:

How about a C to replace (possibly) both M's and perhaps the new D. C as in CouchDB that is: http://couchdb.org/

That would leave us with LACP which might be more readable if written PLAC...which, might cause tooth decay...but the apps built on it would rock! :)

Gravatar for Benjamin Young

Benjamin Young Says:

Sorry. One more parting thought:
You could add an E for Erlang (if you choose CouchDB), which would give you PLACE. Throw in some geo spatial queries [1] and the acronym is way beyond self referencing.

[1] http://vmx.cx/cgi-bin/blog/index.cgi/geocouch-geospatial-queries-with-couchdb:2008-10-26:en,CouchDB,Python,geo

Gravatar for mike

mike Says:

CouchDB sounds cool, and I thought maybe I could use it instead of MySQL, but I think it's not really aligned with MySQL like Drizzle will be (considering it is a fork...)

It would be great for specific applications (Jeremy put it as something to look at for Craigslist, I believe) but not for normal relational data. But I would say it does look promising for it's market. There are some other "databases" like it and alternatives but still Drizzle looks the most promising to me, considering it's easier adoption (if you know MySQL, you'll be able to pick it up pretty easy) and the brains behind it are the ones hacking on what is still the most popular open source database out there :)

Gravatar for Hodicska Gergely

Hodicska Gergely Says:

There some other great tools which worth to mention in this area. At ustream.tv we really like to use Varnish, which is a very great reverse proxy. There are a lot of use case for using key-value databases, like Lightcloud. It could be handy fro example for session storage.

Gravatar for Chris Henry

Chris Henry Says:

The idea of farming out work to other servers OR web services that are better suited to the task is tantamount to scaling. Any process that's really resource-intensive is suspect.

We have farmed out:
full-text search (Sphinx),
Video encoding ( encoding.com)
Image Manipulation (ImageMagick)
Storage (Rackspace's uNAS offering)

So for an acronym, including LAMP we could have

SEIULAMP

Gravatar for RONALD H.

RONALD H. Says:

I’m still a rookie coder but I can still use this information. And, I also thought you’d like to know there is a great domain name at Godaddy.com that you may be interested in. It’s call PHPDEVELOPING.COM and I think its a good fit for you because your a great PHP programmer. You can contact me at my email address and I’ll help you get to it if you want. Again, just thought you’d like to know.

Add A Comment

Your Name:


Your Email:


Your URL:


Your Comment: