12 Sep 2009

S3 for Digital Downloads

If you want to run a store that offers  digital downloads, I recommend that you go with S3 for delivering your content.  I've dealt with traditional file hosting for years, and while it worked - I was on thin ice. When you create the architecture of your store and the delivery of your digital media, you always want your store app to run on a different server than your digital downloads.  Keeping your app separate from gigs of files (as you grow) that could fill up the server is wise.  Separating the delivery from the app allows you to make updates without things breaking. I used to use Dreamhost for hosting the files for the store, but I ran into a few things:
  1. TOS - You can't just host files with them.  I looked, and this is true with most hosts.  This is the worst limitation.  And, I've been shut down before.
  2. Backups - Do it yourself, or it's cost prohibitive for them to do it.
  3. Limits - If you go over your limit, you're turned off.
  4. Downtime - One server has all your files, when it goes down....
  5. CDN - Create your own.  I mirrored servers using RSYNC.  It worked, but it was painful.
  6. Securing Files - Use .htaccess, or whatever you come up with.  No built in tokenization.
  7. Worry - There is a bit of worry.  Primarily, are my files still there?  Is that computer okay?
Now, I use S3, which works smoother:
  1. TOS - Simple Storage Service... takes any file you put up
  2. Backups - Why backup? It's on the cloud
  3. Limits - No limit, you pay for what you get
  4. Downtime - Rare. I've seen amazon go down twice, for a few hours
  5. CDN - mmmm cloud
  6. Securing Files - Built in
  7. Worry - Much much less.  Really, is the cloud going to go down?  maybe... but if you are screwed, I'm pretty sure it's not just you, it's a network outage.
With S3, you pay for what you use, the prices are reasonable, and you don't have to worry about your files being there.  I'm sold on S3 for delivering digital downloads. Want to signup for S3 now? It's fairly painless.  Go to http://aws.amazon.com/s3/ or click
Media_httpmediaamazon_aefia
.  You'll get access to your S3 account.  Create a bucket, and go!