Maybe I missed this in the docs, but why isn't HAProxy considered a new point of failure?
Also worth noting, that this isn't really a single point of failure as a system wide thing. It'd only be a single point of failure on that single node. So if haproxy decided to explode, only that one machine would have a problem momentarily, while the process got started back up with our process manager.
The worst case scenario is a human error where we ship a bad config and break everything.
Haproxy sends to caching nginx if available, else directly to s3.