If you care a lot about user experience, go with S3.
I have an BingoDisk account that supposedly provides unlimited transfer. If you are just uploading and downloading stuff, it sounds like BingoDisk is ideal. (http://www.bingodisk.com/) I use it for hosting big files, like a 600M SQLite database with information about CPAN modules. It gets quite a few downloads, and nobody has ever told me I'm abusing the service.
(FWIW, I used to use BingoDisk for backups, but Linux's WebDAV support does not work well for backups -- way too much caching going on. S3 turned out to be infinitely more reliable. I don't think this has anything to do with BingoDisk, though, but rather how davfs2 is implemented. This may or may not be a problem for your use case.)
If you don't mind offloading the cost to your users, though, S3 is probably the way to go. I think Amazon will even bill your users for you now.
If a 150MB is downloaded 100 times it would cost $2.59. If it was downloaded 1000 times it would cost $25.55. Is that cheap?
Also, on S3 you pay exactly for what you use, if you use your own server you are paying for them up front. Another bonus is the using their CDN if you have frequently downloaded files.
Check this comment by Don MacAskill, CEO of SmugMug which stores a huge amount of data on S3: http://news.ycombinator.com/item?id=422574. Check his blog too: http://blogs.smugmug.com/don/tag/s3.
Well, I'll try to make up for it by pointing the original asker to http://simplecdn.com
From their frontpage:
A software developer with 100MB worth of downloads would pay $24.90 for lifetime storage, and would then receive a transfer rate of 3.9 cents per GB.
So, pay $24.90 once and serve your 1000 downloads for $5.80 then.
This has already been discussed in some detail at http://news.ycombinator.com/item?id=422225. I suggest anyone interested in talking price/value reads up on that thread before commenting here.
Someone suggested that we use s3. This would've tripled our bandwidth costs.
This is why I believe it's expensive.
I'm not saying you made the wrong decision, or the right one, but is the comparison apples-to-apples?
He seemed to be concerned about bandwidth also, for which S3, frankly, is not cheap.
But then again, that is the kind of stuff that people get paid ridiculous amounts of money to build, heck, I know I did. So I wouldn't bet on it. But if I had the time I would probably do it.
Because I'm tempted to say you should just try one of these cheapie web hosts and see if that fits your needs. For example, and I have no affiliation with this company other than using them a few times, webhost4life has an account with unlimited* bandwidth and unlimited* storage for $6.95 a month (http://www.webhost4life.com/linux.asp). That's a pretty standard price for linux based hosting.
The disadvantage to these types of deals is that they stuff a bunch of websites all on one server which makes performance slow. But it sounds like you'd only have a 1 or 2 page site so that might not be an issue for you.
* when these providers say unlimited there is often a clause in the fine print that sets a limit. You should check before signing up for one of these services.
There are use cases where AWS is not recommended, having too many machines up and running 24x7 or transferring huge amount of data out of the cloud. For a site with heavy uploads it's even possible to store your data on S3 but serve your clients from a machine hosted outside where data transfer is cheaper.
* How many new files do you expect to have uploaded every month? * How many files do you expect to be deleted every month? * What's the average file size? * How many times, on average, do you expect each file to be downloaded per-month?
Use that + Amazon's pricing to figure out how much you'll have to spend on S3 every month. Then compare that to your alternatives.
In my mind, the biggest reason to go with S3 is if you think you are going to end up with a lot more files than you could easily store and mirror on a few leased servers. S3 is a pretty good price for scalable, highly-available storage with a nice fat pipe to the Internet, but the cost per GB transferred isn't great. You can take advantage of the lost cost of storage by keeping track of how often files are downloaded and keeping a cache of locally hosted files that you serve directly off a leased server or VPS.
* How many new files do you expect to have uploaded every month? * How many files do you expect to be deleted every month? * What's the average file size? * How many times, on average, do you expect each file to be downloaded per-month?
Use that + Amazon's pricing to figure out how much you'll have to spend on S3 every month. Then compare that to your alternatives.
In my mind, the biggest reason to go with S3 is if you think you are going to end up with a lot more files than you could easily store and mirror on a few leased servers. S3 is a pretty good price for scalable, highly-available storage with a nice fat pipe to the Internet, but the cost per GB transferred isn't great. You can take advantage of the lost cost of storage by keeping track of how often files are downloaded and keeping a cache of locally hosted files that you serve directly off a leased server or VPS.
* How many new files do you expect to have uploaded every month? * How many files do you expect to be deleted every month? * What's the average file size? * How many times, on average, do you expect each file to be downloaded per-month?
Use that + Amazon's pricing to figure out how much you'll have to spend on S3 every month. Then compare that to your alternatives.
In my mind, the biggest reason to go with S3 is if you think you are going to end up with a lot more files than you could easily store and mirror on a few leased servers. S3 is a pretty good price for scalable, highly-available storage with a nice fat pipe to the Internet, but the cost per GB transferred isn't great. You can take advantage of the lost cost of storage by keeping track of how often files are downloaded and keeping a cache of locally hosted files that you serve directly off a leased server or VPS.
In seriousness, I don't know what the price for amazon ec2 works out to be. However, during the development phase, it is too expensive. I believe it will cost you $72 to run an instance for a month, base price. I would suggest something like slicehost if all you need is a low power server instance for development, and then look at ec2.
I pay $29/yr for 15GB space and unmetered bandwidth.