Or, to put it more verbosely: When to use a Web Application Framework rather than a Web Content Platform
No, I am not a flaming firestarter, I just wanted to share some thoughts.
I have a couple of projects on the boil at the moment, one is my own portfolio site, the other yet another recipe site, with a seasonal twist. I'm a big fan of Drupal, the Content Management Platform: I like it's modularity, flexibility and ethos.
I was going to use Drupal for both projects, but then I worked on a Ruby on Rails project using the mind-numbingly seamless Heroku Platform as a Service with GitHub version control. As a mere Front End Developer Mortal with minimal programming experience, what was nice about the setup was the ease of setup.
Install Ruby, Rails and a lightweight webserver on my own laptop, setup Git, pull the site down around my ears and voila, a fully functional, fast, local dev environment. And super-fast + super-easy to commit changes back to the Source.
For my super-light portfolio site of just a few pages, this approach felt way more suitable than unleashing the behemothic and byzantine power of Drupal. Sinatra was recommended as a lightweight alternative to Rails that would suit my purposes, and I found Nesta, a delightfully lightweight Ruby CMS built with Sinatra that stores everything in good ol' plain text files.
I could deploy straight to Heroku but I like to make things a little more complex, so I'm building my very own production Ruby web stack using Phusion Passenger and Capistrano. I'm using a new web host Memset, who have some rather competitively priced VPS deals.
I had the good fortune to work on Drupal 7 project on my last contract and what was glaringly apparent was the way that Drupal stores much key data in the database rather than in config files. This means it's quite tricky to use version control to pull a fresh copy of a site for development, and you can end up having to individually tweak settings and pull in data.
There's plenty of discussion out there about a source control strategy for Drupal, including an outline of a workflow by the Magnificent Eaton, and most people point to the Features module. But it does seem to be a systemic issue.
Despite all that, I will be using Drupal for my Yet Another Recipe Website, for two reaons. Firstly, there is only me, and version control isn't really an issue. And secondly, Drupal is very good at the heavy lifting required for setting up a complex website, particularly if the only participant is a programming numpty.