fastly offers varnish-as-a-service. Coincidentally, it's run by Artur.
The main gotcha with Varnish is that, by default, it does not cache anything with cookies. Consequently, it takes app knowledge to cache and invalidate more areas of a site (i.e.,
profile pages or
login pages). With memcache
farther down the
stack, often there is still load from
rendering views, i.e., rendering those all those mustache
templates.
A lesser gotcha is streaming spontaneous content (i.e., in-app IM push over WebSockets), which doesn't make sense for caching
anyhow.
The ability to customize VCL, specify which pages to cache / never cache and an
invalidation API are the
crucial bits. ; )
Ideally though, render views client-side as much as possible in JS from static cached assets on a CDN and make cheap API calls with Goliath.
Barry
On Tuesday, February 21, 2012 10:41:05 AM UTC-8, Joshua Warchol wrote:
It has something to do with "advanced HTTP uses" in the new stack.
Perhaps functions that Varnish did not support, such as long-polling,
chunked replies, something like that. The cedar stack has a less
complex inbound request route in order to allow more flexibility in
the dyno layer. But that means no varnish, no nginx. Win some, lose
some I guess.I'm surprised nobody offers an "Add-On" to Heroku for Varnish.