Quand un CDN (réseau de diffusion de contenu) en vaut-il la peine?

16

À quel moment cela vaut-il la peine d'ajouter un CDN (réseau de diffusion de contenu) à votre site Web? Est-il judicieux de l'utiliser pour un site Web à faible trafic qui est une application Web? Les clients sont partout aux États-Unis.

Un CDN offrira-t-il même une différence notable à l'utilisateur final pour mon scénario ou ne montrera-t-il son efficacité qu'une fois que vous aurez vraiment atteint les niveaux d'évolutivité?

Modifier: informations sur la configuration du serveur, il s'agit actuellement d'une seule instance ASP.NET sur un environnement d'hébergement partagé. Ce qui irait dans le CDN serait des fichiers image, des fichiers liés à jquery (je sais que Google fournit un CDN pour le noyau), des fichiers css et probablement des fichiers PDF de taille moyenne.

Chris Marisic
la source

Réponses:

20

À quel moment cela vaut-il la peine d'ajouter un CDN (réseau de diffusion de contenu) à votre site Web?

Lorsque l'un des événements suivants se produit:

  1. Vous touchez un large public international. Une analyse minutieuse de votre public montre que beaucoup d'entre eux sont à 100 - 300 ms du temps de trajet aller-retour (RTT). Vous faites le calcul et découvrez qu'un grand nombre de vos clients obtiennent un site quelque peu lent, en raison des performances médiocres de TCP / IP sur les liens avec un produit à retard de bande passante élevé .
  2. Vous trouvez que vous avez un bon nombre de demandes de fichiers statiques pour la plupart, à savoir le streaming vidéo, audio, PDF, images , etc. En fait, il y a tellement de demandes par seconde qu'il ne peut pas être facilement manipulable par la mise en place juste 2, 3 , 4 serveurs ou plus dédiés au service de fichiers statiques.
  3. Vous êtes un technophile et vous configurez un site à l'aide d'Amazon Cloudfront ou Cachefly juste pour le plaisir. Ne vous sentez pas mal, je l'ai fait aussi.

J'ai vu à plusieurs reprises des articles où SimpleCDN ne faisait pas si bien. Il est vraiment difficile de quantifier objectivement les performances des différents CDN, mais voici une tentative . Peut-être que je suis injuste envers SimpleCDN ici, mais ce ne serait pas mon premier choix.

Amazon Cloudfront est plutôt bon ... pas génial, mais bon marché et facile à démarrer .

Edit: Akamai semble toujours être le meilleur CDN, cher mais ça vaut le coup. Voir la présentation récente de SmugMugs , diapositive 7 dans le PDF ou la version plus détaillée dans la vidéo. Je n'ai jamais travaillé avec Akamai, je les ai toujours considérés comme évidemment trop chers pour les sites sur lesquels j'ai travaillé. Peut-être que cela commence à changer, je ne sais pas, mais ils essaient d'abaisser la barrière à l'accès à leur service CDN.

Jesper M
la source
1
+1 réponse époustouflante!
Marco Demaio
1
Encore bon cinq ans plus tard.
Paulb
2

Cela dépend de l'application. Si vous êtes très sensible à la latence (une application interactive), vous voulez les chargements de page les plus rapides possibles. Si vous êtes une application de streaming (comme YouTube par exemple), la latence est moins un problème.

Pour les applications sensibles à la latence, CDN est généralement une décision de build vs buy.

Si vous avez beaucoup d'utilisateurs internationaux, vous pouvez soit créer des racks près de vos utilisateurs (très probablement coûteux à faire), soit payer un CDN pour mettre en cache votre contenu localement pour vous.

Le prix du CDN est devenu beaucoup plus compétitif ces dernières années. Faites le tour, voyez ce qui existe. Et si vous pouvez créer et maintenir plusieurs racks de caches distribués dans le monde pour moins cher, vous n'avez pas besoin d'un CDN.

Joel K
la source
Ce sont tous des États-Unis, donc l'international n'est pas un facteur. Il s'agit d'une application Web modérément interactive. SimpleCDN semble excessivement bon marché à quelques centimes par Go. Je ne pouvais même pas imaginer dépenser plus de quelques dollars par mois pour avoir le CDN à ces tarifs.
Chris Marisic
J'ajouterai à celui-ci, que la plupart des serveurs partagés mettent beaucoup de temps à répondre, même pour le contenu statique uniquement. Avoir ceux hébergés sur un cdn réduira parfois la charge de la page en quelques secondes. Comme le dit jeff - la performance est une caractéristique.
reconbot
@Joel K: Un bon article, merci, mais je ne suis pas d'accord sur la partie 'construire un CDN vous-même'. Obtenir quelque chose comme IP ou balacing géo multicasting de charge au travail très bien, y compris tous les cas d'angle et plus ou moins les systèmes clients brisés, est difficile . Voir mon article pour une autre question sur les PO.
Jesper M
2

Évidemment, un CDN en vaut la peine dès qu'il est plus économique que de le faire vous-même.

Mais il y a un cas où c'est absolument indispensable: quand vous pouvez vous attendre à avoir de très fortes rafales de trafic. En règle générale, lorsqu'une entreprise lance un nouveau produit avec une forte promotion des médias ou fait une sorte de truc viral sans utiliser les plateformes sociales existantes.

De plus, lorsque vous devez atteindre un public international, vous pouvez souhaiter avoir des serveurs plus proches de vos utilisateurs. Votre site sera plus vif et vous voudrez peut-être dépenser plus juste pour cela.

niXar
la source
Oui, bon point, si vos modèles de trafic sont très irréguliers, c'est-à-dire que vous avez des pics de charge plusieurs fois plus importants que la charge normale, alors un CDN supprimera au moins le fichier statique servant de votre liste de soucis.
Jesper M
2

Si votre service génère des charges importantes (pas seulement des pics) au-delà de ce que votre infrastructure peut gérer en toute sécurité, il peut être utile d'appeler un CDN. Ajoutez à cela l'exigence de temps d'aller-retour rapides, de résilience et de mise à l'échelle, et vous devriez, espérons-le, avoir les revenus pour en payer un.

Dans votre cas, vous cherchez simplement à saisir des optimisations là où vous le pouvez. Vous pourriez envisager d'utiliser Google App Engine comme mini-CDN pour vos fichiers statiques - vérifiez ceci:

Utilisation de Google App Engine comme CDN personnel

Cawflands
la source
0

Un CDN offrira-t-il même une différence notable à l'utilisateur final pour mon scénario

Les téléchargements peuvent être plus rapides que votre serveur. Vous ne développez pas la configuration de votre serveur, mais cela pourrait être plus rapide qu'une machine d'hébergement partagé.

Il est facile de configurer un compte amazon ou un simple cdn pour tester ce genre de chose.

Sam
la source
J'ai pris un simple compte cdn gratuit, je les ai vus parler d'un autre article CDN, à un moment donné, je devrai jouer avec. Mais mes informations sur le serveur vous ont-elles donné de meilleures idées ou sont-elles toujours aussi génériques?
Chris Marisic
-1

Les ici, en disant

‘when you got a whole lot of money to spend, because the perhaps-nominal reduction of  
latency in delivering your content and assurance of your content’s availability is 
making you FAT RICH!!!’

en réponse à votre question: quand un CDN en vaut-il la peine? Vous avez du mal à justifier le coût des services CDN, même de moindre rang, pour les gens d'affaires? Vous souhaiterez peut-être évaluer et évaluer un système CDN basé sur le cloud, comme ce que vous pouvez préparer vous-même avec des composants des services cloud AWS d'Amazon. Distribution de contenu du demandeur géographiquement proche de la fin, à un coût fractionnaire supérieur, par rapport aux 3 grands CDN.

Ou appelez-moi Les Thanone. Ne m'appelle pas humain.

Les.

Les Thanone
la source