Heroku is a cloud application platform (AKA Platform as a Service) owned by Salesforce.com.

Its unique architecture enables users to forget about the infrastructure and instead focus on creating great applications. This makes it an amazing platform for rapid development, while ensuring world class reliability and scalability (millions of users).

Heroku officially supports Ruby, Java, Node.js, Scala, Clojure and Python, but also unofficially supports PHP. It’s the PHP capabilities that are most interesting to me and what makes the platform ideal for anyone looking to quickly setup an ultra fast, highly scalable WordPress website.

Getting Started:

Fork and rename the Wordpress project template.

Let’s clone the repository for a new blog, 99catfacts.com.

git clone git://github.com/your_name/wordpress-on-heroku.git 99catfacts.com

Create Wordpress on Heroku.

cd 99catfacts.com
heroku create -s cedar
heroku config:add BUILDPACK_URL=https://github.com/mchung/heroku-buildpack-wordpress.git

Deploy your Wordpress site to Heroku.

git push heroku master

Open your new Wordpress site in a web browser.

heroku apps:open

Say hello to your new Wordpress site running on Heroku!

Heroku Considerations:

Something a lot of people forget about Heroku is that it follows the Twelve Factor App design methodology, meaning it includes an ephemeral filesystem. This presents two key challenges.

  • Challenge: End-users cannot upload media assets to Heroku.
  • Workaround: Enable wpro and use that plugin to upload media assets to S3 instead.

  • Challenge: End-users cannot update themes or plugins from the admin page.
  • Workaround: Add them to config/public/wp-content/themes or config/public/wp-content/plugins then push to Heroku.

For more information about running Wordpress on Heroku, please refer to http://mchung.github.io/heroku-buildpack-wordpress