A lot responses here seem to make the embedded assumption that users pay the "advertised price" for storage and compute instances from AWS. When you are at that scale, there are presumably closely negotiated agreements that result in much lower than normal pricing but require large volume commitments and clear ramping projections. Thus the arb between doing it all yourself versus AWS is probably quite different than it might seem from the outside.