Knowledgebase

Please share thoughts on using Amazon S3 for Image Hosting

Posted by archer24, 10-12-2010, 12:23 AM
Hello WHT! New member here..long time lurker though. I'd like to hear your thoughts on using Amazon S3 for image hosting on a high traffic site. I'm trying to minimize the complexity of hosting a site that will need to serve an ever growing amount of images uploaded by users. I also want to reduce the strain put on the server at peak traffic to prevent down time as best as possible within my budget ($300-1000$/month for now). It has been suggested to me to have 2-3 dedicated boxes (currently only have 1 with the planet) and separate them into mysql, web, and image servers. And then to upgrade the storage of the image server as needed. AS3 is very appealing because it would ideally eliminate the need to worry about having available space or downtime with the images as well as eliminate the need to upgrade or commission new image servers. Any thoughts or recommendations on how to achieve a reliable hosting solution for image hosting of this type that is affordable and reliable would be much appreciated. Has anyone here had experience with AS3 that could share their thoughts on its affordability in terms of storage space bang for buck and the bandwidth pricing. Perhaps I would be better off purchasing an unmetered uplink or using 100TB to reduce costs. Thanks for reading - I look forward to hearing what everyone has to say.

Posted by xnpu, 10-12-2010, 03:09 AM
S3 can do what you look for, but personally I would look at some of the other CDN's out there. Amazon is not the cheapest, nor the easiest to setup. Also, depending on your audience, other CDN's with more edge locations may give your site a performance boost. As for separating your web front end from your database, that's usually a good idea. It will force you to make some changes which, if done right, in turn will make it easier to add more web front-ends to the same database when needed.

Posted by CH-Shaun, 10-12-2010, 09:17 AM
There are plenty of CDN providers out there. Rackspace Cloud Files is what i recommend if you want more edge locations. Amazon S3 doesn't have an Australian edge location.

Posted by archer24, 10-12-2010, 01:24 PM
The audience is mainly US so the edge locations isn't a big factor, however I hadn't considered it before - you both make a good point which may come could come into play in the future. Cloud files looks like a great solution especially with their CDN partnership with limelight however their bandwidth is .22/GB vs AS3 .10/GB which puts the estimates for both solutions at $592 vs $349 respectively. (200GB storage, 25GB in 2048GB out, 5.5 mil requests/m) Seems like you both agree off loading the image hosting to the cloud will be the best solution though, saving the hassle of having to load balance and provision the image servers as user uploads/traffic grows which is my main concern.

Posted by dazmanultra, 10-13-2010, 02:57 PM
Personally I think using something like Varnish on multiple machines with multiple A records and anycast DNS would be better if you're technically inclined. (And have the free time) If you just want a fire and forget solution (even if it's ultimately more expensive per request or per GB) then a CDN would be the way to go.

Posted by archer24, 10-13-2010, 04:07 PM
Varnish looks interesting. I will have to do more research on it. I was planning on using nginx with memcached to reduce server costs however it looks like varnish can be integrated as another part to the solution from some posts I've looked up on google. <> Reducing costs is a priority and initial setup and learning curve aren't a problem if they'll be saving me money each month. About you recommendation, is it to have each server setup with the full solution (mysql/web server/images) and load balance them using anycast dns? Or are you just referring specifically to image serving?

Posted by dazmanultra, 10-14-2010, 06:57 AM
Just the image hosting - you'd have a central server that you upload to running nginx, then multiple instances of varnish that have that server as their back end. You could probably do it on VPSs because nginx and varnish are very efficient. You'd set various graceful options in the varnish config (e.g. long caching time etc) to ensure that even if your central server is down, images still continue to be served. The varnish server needn't have as much storage as the main server, but it will store/cache the most frequently accessed images (otherwise for a request which it doesn't have cached, it will have to refer to the back end to grab it).



Was this answer helpful?

Add to Favourites Add to Favourites

Print this Article Print this Article

Also Read
I need a Hosting Cart. (Views: 593)
Knownhost Down? (Views: 616)
Data lost (Views: 623)


Language:

Client Login

Email

Password

Remember Me

Search