I'm developing a quite popular mobile application which needs to download some amount of data at first run (then check availability of new data periodically). Currently I'm using shared hosting at Dreamhost and I'm very satisfied, but when downtime occurs, fresh users are screwed, app won't work without initial package.
I can buy secondary hosting and embed source switching logic inside app, but it raises complexity of network part. Instead, I was thinking about some kind of distributed hosting, where data are available from multiple locations.
I need only hosting of files. Are such services available for cheap? Is the Amazon S3 the right direction or should I look for something else? What are disadvantages?