top | item 8084288

WordPress on Heroku

80 points| tiefenb | 11 years ago |github.com

29 comments

order
[+] hashtree|11 years ago|reply
Where content is semi-static (e.g. blogs, informational sites like WebMD, sites in which the information updates infrequently on a per-page level), we have flipped the approach/architecture and it has proven to be a HUGE boon for us. With the approach, we get performance that is essentially unmatched via any traditional server setup, nearly unlimited read scalability, vastly reduced infrastructure costs, improved usability for end users with direct benefits to engagement and SEO, and much more. It certainly is not a fit for every site. For instance, Twitter could not work at all this way. But, for semi-static sites it works like a charm:

  - Host all content via CDNs, which is dynamically managed via backend servers (see
  below).

  - Allow user interactivity via events being pushed to pub/sub event servers. On the
  other side, in other DCs entirely, are the more traditional servers
  which await said events. Said events are processed, aggregated, and then pushed back
  up, via CDN APIs, to the CDN servers.

  - Use eventual consistency concepts to simulate real-time interactivity for users.
  For instance, when a user posts a review/comment we show it client-side to them,
  knowing that the CDN update should be coming momentarily.
Besides the pub/sub servers, servers can be housed just about anywhere across the globe (latency isn't a huge issue any longer). If you are based in the US, you might be surprised to find out just how competitive/cheap the European market is for servers. Previously, it would have been insane to consider them, but now we can leverage them for a large reduction in costs. For example, compare Rackspace dedicated servers to OVH dedicated servers. It is roughly one order of magnitude less costly.
[+] anonymousDan|11 years ago|reply
This sounds interesting. What are you using for your pubsub servers might I ask? And what are the scalability and fault-tolerance requirements on them? Are pub/sub servers in different data centres essentially independent with consistency handled by other servers colocated in an origin datacenter?
[+] warrenm|11 years ago|reply
I've been using servers wherever they're cheapest for some time - currently I run most of my work out of Germany, with spin-up/spin-down of ad hoc systems from various cloud providers, distributed around the world
[+] dangoldin|11 years ago|reply
Another suggestion is to use Varnish. It's extremely easy to set up and just put in front of your Wordpress install, regardless of whether you're using Nginx/Apache.
[+] cheald|11 years ago|reply
Unlike most technologies which promise it, Varnish is magical webscale sauce. It's awesome.
[+] javipas|11 years ago|reply
So Heroku makes the setup pretty automatic, right? Otherwise you'd have to setup and configure each of those elements one by one, right?
[+] matthijs_|11 years ago|reply
A credit card entered @ Heroku is required in order to do this. It won't be billed if you follow the readme.
[+] ihuman|11 years ago|reply
For which parts would you need to enter a credit card? The addons? I've used Heroku for some assorted Ruby and Python programs, but I have not had to enter a credit card. However, what I have done has only scratched the surface of what Heroku offers, so I am not surprised if I missed the the parts that require credit card info.
[+] drunkcatsdgaf|11 years ago|reply
you could always use heroku's postgres instead of mysql, avoiding having to put in a CC.
[+] dylanlacom|11 years ago|reply
Where is the wp-admin directory and the files in wp-includes?
[+] andrewryno|11 years ago|reply
It's installed through Composer. In composer.json it sets up a custom repository to download the latest version of WordPress, and then uses the "extra" section to install it to a custom directory (in this case the public directory).
[+] sirji|11 years ago|reply
Will this work on the Free plan
[+] andreash|11 years ago|reply
pros and cons vs wpengine.com?
[+] swombat|11 years ago|reply
One obvious con will be that you have to set it up yourself while WPEngine is hands-off.
[+] nly|11 years ago|reply
Price maybe? $29/mo is pretty expensive for a personal blog.