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.

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. :)

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.

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 :)

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.

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:

About Me

Brian Moon, of dealnews.com, shares what he knows (and learns) about PHP, MySQL and other stuff. (more)