Once upon a time, the default stack for a lot of developers consisted of the LAMP stack. Linux, Apache, MySQL and one of the P triumvirate: PHP, Python or Perl. Those days, however, are over. Sure, Linux is still powering a lot of servers. But above that, almost everything is up for grabs. Today at the Monki Gras conference in London, Simon Willison of held forth on the new Web stack.
Willison was part of the day’s last talk, a conversation with Matt Biddulph, formerly Nokia’s head of data strategy for location and commerce applications.
Willison and Biddulph talked a lot about the history of Lanyrd and how technology choices could give developers or a project an enormous lead on competition. What was particularly interesting, though, was the list of tools that Willison recommends for building new Web-based applications.
The New Tools
The biggest decision used to be which Web framework to choose. While that’s still important, Willison said that infrastructure is much more important.
First, Willison says that you need a message queue and workers. He suggests the Python-based Celery distributed task queue. “Once you have it,” says Willison “all sorts of things become super-easy.”
Next, you need a full-text search engine. Here, Willison suggests Solr.
Willison also talked glowingly about the Redis key-value store. Redis, he says “is in a category all its own.” Not a database, exactly, Willison calls it a “data structure server” that is “so screamingly fast, things you thought of doing that would have a performance impact, you don’t have to think about” at all.
Finally, Willison recommends Varnish, which is billed as a Web-application accelerator on the front end.
Of course, things are changing rapidly. What’s crucial today may not be that relevant tomorrow. The important thing is to keep an eye on open source projects and evaluate them for use in your work. Willison says “any tech advantage means you can iterate faster.”
How does Willison evaluate tools? He says he typically gives them 30 minutes. If he can’t have a tool up and running within 30 minutes, it goes by the wayside. Sometimes this is a mistake. He cited Puppet as a tool that Lanyrd finally embraced after incurring “a huge technical debt” because it couldn’t be set up easily in 30 minutes. Note that the 30-minute rule is not to put something into production, but simply to have working and see what a tool is capable of.
By necessity, Willison and Biddulph’s talk was a bit breezy and not in great depth. However, it does provide some insight into what some of the more cutting-edge developers are using. What’s your suggested Web stack?
(Update: Willison’s name was misspelled as Willinson on the conference agenda, and I carried the error to the original text of the story. Willison’s name has been corrected. Apologies for the error.)