Je travaillais pour un site de réseautage social qui héberge des milliards d'images et nous avons évalué S3. La conclusion était que c'est trop cher pour les sites à fort trafic. Le stockage lui-même est assez bon marché, mais les coûts d'accès au contenu sur S3 s'additionnent rapidement. Cela rend S3 plus adapté aux applications comme les sauvegardes en ligne. À mon avis, le coût est le principal con.
D'un autre côté, ceci est seulement une préoccupation une fois que votre site devient grand. Les plus grands avantages de S3 sont que vous n'avez pas à vous soucier de l'évolutivité et qu'il est assez facile à configurer, puis à l'oublier parce que cela fonctionne. De nombreux services de taille moyenne utilisent S3 avec beaucoup de succès. La solution que nous avons choisie est un ensemble de serveurs dédiés qui hébergent les images et exécutent également des serveurs Web (n'utilisez pas Apache, utilisez des serveurs Web optimisés pour un contenu statique tel que lighttpd ou nginx), et en face de ceux-ci, utilisez un CDN (réseau de diffusion de contenu, tel que akamai ou panther express). Vous obtiendrez généralement des taux de réussite élevés (selon les modèles d'accès de votre site), de sorte que les utilisateurs finaux obtiendront la plupart des fichiers directement du CDN et ne causeront aucune charge sur vos serveurs (sauf la première fois qu'un fichier est accédé) . Ainsi, vous pourriez être bien avec un seul serveur et un miroir pendant un certain temps. À mesure que vous évoluez, les défis consistent à répartir vos images à travers la ferme, à gérer la redondance, etc.
Je suppose que le time-to-market joue également un rôle. À cet égard, une bonne stratégie pourrait être de commencer avec S3 et d'être rapidement opérationnel. Plus tard, vous pouvez toujours migrer vers une solution plus sophistiquée. Dans ce cas, assurez-vous que la direction garde cela à l'esprit. Les gens non-tech ont tendance à croire qu'une fois qu'une fonctionnalité fonctionne, vous ne devez jamais la toucher à nouveau. Et sachez que la migration d'un grand nombre de données prend du temps. Lorsque nous avons changé notre architecture photo, les travaux de copie ont duré des mois.