Site lourd de bande passante… utiliser la co-localisation?

11

Je travaille sur un site Web qui est susceptible d'être très gourmand en bande passante. Une caractéristique majeure du site lorsqu'il est en cours d'utilisation peut tirer jusqu'à 1 Mbps pour une seule session. Heureusement, une fois que les utilisateurs auront dépassé le nouveau facteur de jouet, l'utilisation de cette fonctionnalité sera probablement de 1 à 5% ou moins (probablement beaucoup moins) du temps de session.

Cependant, les nouveaux utilisateurs sont susceptibles de jouer avec cette fonctionnalité un peu, surtout au lancement. Je suis très préoccupé par l'utilisation de la bande passante.

C'est plus ou moins un marché de niche, donc je n'aurai jamais besoin d'évoluer à des niveaux fous comme YouTube. Cependant, il est tout à fait possible que ce soit quelques téraoctets / mois.

La colocalisation est-elle ma meilleure option? Quels services de bande passante bon marché (colocation / hébergé / cloud / autre) sont disponibles?

Darron
la source
Combien de bande passante parlons-nous réellement (pics), qui détermine votre niveau d'engagement, qui influence fortement si un colo est une bonne idée ou non (étant donné que la facturation de 95% des tuiles est assez courante)
Tim Post
1
D'accord, je pense que je penche vers la fixation d'une limite stricte à 10 Mbps. Je peux avoir une phase bêta limitée. Je commencerais avec elle grande ouverte, et passerais à des comptes à aperçu limité si je suis submergé. Cela devrait fonctionner.
darron
Très curieux de savoir quel type de contenu dynamique vous générez qui nécessite 1 Mbps pour télécharger! Vidéo en direct? Quoi qu'il en soit, vous voudrez peut-être vérifier cette question connexe: serverfault.com/questions/148629
Greg Bray

Réponses:

6

Beaucoup dépendra du nombre de sessions simultanées que vous attendez. Si plus de quelques sessions simultanées sont probables, alors vous allez avoir besoin de quelque chose qui vous accorde une connexion à 100Mbit, 1Gbit si vous en attendez plus de 50.

Cela dépendra également du type de résilience dont vous avez besoin - si vous devez disposer de garanties de disponibilité et d'autres SLA et / ou systèmes de basculement pour prendre le relais en cas de problème (car le projet est suffisamment important pour une courte période d'indisponibilité). être embarrassant) alors vos options sont plus limitées et vos coûts seront plus élevés.

Si vous pouvez séparer les données volumineuses du reste de l'application, vous n'avez pas besoin de tout déplacer vers une nouvelle solution d'hébergement. Par exemple, si les éléments à large bande passante sont des fichiers vidéo, vous pouvez louer un serveur dédié avec une bonne bande passante quelque part et les héberger - vous pouvez obtenir des serveurs sur de bons hôtes avec une bande passante décente et des connexions 100 Mbits + étonnamment moins chers ces jours-ci (je paie 50 $ / mois pour un petit serveur avec une liaison 10Mbit que je pourrais saturer dans les deux sens 24h / 24 et 7j / 7 si j'en avais besoin, donc une liaison 100Mbit avec un serveur plus robuste attaché ne va pas coûter cher à moins d'avoir besoin d'une disponibilité garantie et d'autres SLA et / ou serveurs gestion de l'hébergeur). Si le serveur ne sert que des fichiers statiques (même les gros), vous n'avez pas besoin de beaucoup de machine en termes de CPU et de RAM, juste des disques rapides et de la bande passante. Il pourrait également être utile de rechercher des solutions hébergées «cloud» ou un réseau de diffusion de contenu - elles pourraient être plus faciles à faire évoluer si vous sous-estimez la quantité de bande passante dont vous avez besoin sont en théorie beaucoup plus résilientes (vous pouvez donc obtenir une garantie de disponibilité décente avec compensation s’ils ne respectent pas ce SLA). Garder l'action de réduction de la bande passante séparée de ces manières présente l'avantage supplémentaire que si la fonctionnalité à bande passante élevée attire suffisamment l'attention pour la faire analyser, elle ne bloquera pas toutes vos autres fonctionnalités en même temps.

David Spillett
la source
Pas de SLA, pas d'exigences de disponibilité folles. Il utilise actuellement un bon morceau de CPU / RAM par session. Une seule boîte costaud devrait cependant gérer un bon nombre de sessions simultanées.
darron
1

Purement historique:
à l'époque des jeux Facebook, les gens étaient tous habitués aux MMO au format texte basés sur un navigateur.

Ogame était relativement nouveau. Il était lourd graphiquement et un système de carte de 9 fois 999 pages (9 univers avec 999 secteurs avec de la place pour 15 planètes chacun, et chaque planète pouvait avoir une lune).

Le nombre d'utilisateurs se joignant était fou et le trafic encore plus.

Alors qu'ont-ils fait pour le résoudre? Ils ont commencé à utiliser un système de modèles PHP et ont permis aux utilisateurs d'héberger eux-mêmes les images et les fichiers CSS. Tout ce que vous aviez à faire était de cocher une case et d'entrer le chemin absolu vers le dossier de base. Ils l'enregistreraient dans leur base de données, utiliseraient l' <base>élément HTML et le système de modèles définirait l'URI de http: // chemin / vers / image vers fichier: /// chemin / vers / image

Après cela, tous les liens img pourraient rester les mêmes. Rien ne devait être téléchargé, car les utilisateurs l'avaient déjà. Cela signifie un chargement de page plus rapide pour l'utilisateur (ce qui signifie de meilleures évaluations de produits) et une utilisation de la bande passante plus faible pour l'entreprise hébergeant le site.

Et en prime, ils l'ont vendu comme "vous faire des arrière-plans et des images personnalisés, ne sommes-nous pas gentils pour vous laisser faire ça?"

KdgDev
la source
1

Nous avons un site très fréquenté et avons beaucoup de photos chargées sur chaque page. Nous avons des serveurs dédiés mais avons décidé de mettre les photos sur Amazon S3 . Il semble que vous parliez de fichiers vidéo ou d'un autre type de fichier volumineux qui, je pense, s'appliquerait toujours ici. Voici quelques avantages et inconvénients (pour nous)

Avantages

  • Moins d'espace disque requis sur nos serveurs
  • Moins de bande passante pour nos serveurs
  • Nos fichiers journaux sont considérablement plus petits
  • Nous pouvons facilement l'intégrer à Amazon CloudFront pour rendre le chargement encore plus rapide pour les visiteurs

Les inconvénients

  • Il en coûte un peu plus. Nous pourrions économiser un peu d'argent en l'ayant sur nos propres serveurs
  • Moins de contrôle sur eux (Amazon) en baisse ... heureusement pour nous, ils ne descendent pas vraiment. :)

d'autres pensées

Si ce ne sont pas des fichiers multimédias ou des téléchargements de fichiers volumineux dont vous parlez, ma réponse et plusieurs autres pourraient ne pas avoir de sens. Donnez-nous plus de détails et nous ferons de notre mieux pour vous aider.

Micky McQuade
la source
0

Il semble que ce que vous devez regarder est un CDN tel qu'Amazon Cloudfront .

Consultez ces questions pour des discussions sur l'utilisation des CDN:

artlung
la source
Un colo peut en fait avoir plus de sens s'il peut justifier l'engagement minimum (généralement 5 Mo) avec une facturation au 95e centile. Cela signifie qu'il ne paiera jamais les 5% des pics les plus élevés, ce qui finit par être moins cher qu'un CDN tiers. C'est difficile à dire, nous avons vraiment besoin de voir exactement combien il utilise.
Tim Post
Mon utilisation sera presque entièrement du contenu dynamique, avec un encombrement CPU / mémoire important par session. Après avoir joué avec l'outil d'estimation des prix AWS, il semble beaucoup moins cher d'aller avec la colocation.
darron
Ah, je supposais que les morceaux lourds de bande passante seraient des médias que vous pourriez mettre sur un CDN, comme si j'avais présumé mal. Cependant, si vous avez des morceaux dynamiques qui sont traités de manière prévisible (un ensemble fini de "morceaux" de données possibles), vous pouvez toujours mettre tout cela dans un CDN. Je vais arrêter d'essayer de deviner votre application maintenant. :-)
artlung
0

En fonction de l'état / du pays cible (ou du monde), j'utiliserais de nombreuses solutions de cluster ("Cloud") sur différents sites (les réseaux de localisation doivent être surveillés ;-)). D'un côté, vous avez le contrôle total sur votre CDN mais sur l'autre site, vous avez beaucoup à faire (comme la surveillance, la prise en charge des infrastructures matérielles et logicielles et bien d'autres).

Donc des solutions "managées" comme AWS ou quelque chose. Il existe de nombreux fournisseurs de CDN / Cloud qui offrent une large gamme de fonctionnalités.

OFFTOPIC: Jetez un œil à Puppet [1] :-)

[1] http://www.puppetlabs.com/

fwaechter
la source
0

Oui, vous devriez utiliser Amazon AWS quelque chose de similaire.

user4801
la source