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