You're not going to get anything that's "highly performant" (at least when compared to modern disk storage systems) when dealing with the latencies inherent with using remote storage. Performance is further hampered by the fact that the target "device" isn't a block device, which necessitates an abstraction layer that even further inhibits performance. S3 is at its best when used for what it was intended for, storing and retrieving individual files using http(s).
Regarding fault tolerance: here's an area where S3 excels. Standard S3 buckets will survive the failure of two of Amazon's facilities, which is quite good for what you're paying. If your needs aren't that stringent, they also recently released the slightly less redundant (but ~30% cheaper) RRS buckets, which are configured to survive the failure of one of Amazon's facilities.