There's this really great thing called a CDN that can be used to keep your "Web Site" up at all times, even if your source servers are down. It doesn't help your web app, but its better than looking like you've dissapeared from the planet.
However for static or near static sites, it's perfect - just make sure your TTL is correct :-)
I don't think ESI is necessarily a requirement to configure your cdn to serve stale content in case of the backend being unreachable.