web-dev-qa-db-fra.com

Bande passante lourde site ... utiliser la co-localisation?

Je travaille sur un site Web susceptible de contenir beaucoup de bande passante. Une fonctionnalité majeure du site en utilisation active peut générer jusqu'à 1 Mbit/s pour une seule session. Heureusement, une fois que les utilisateurs auront surmonté le nouveau facteur jouet, l'utilisation de cette fonctionnalité représentera probablement 1 à 5% ou moins (probablement beaucoup moins) du temps de session.

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

Il s’agit plus ou moins d’un marché de niche, je n’aurai donc jamais besoin de passer à des niveaux aussi fous que celui de YouTube. Cependant, il est tout à fait possible que ce soit quelques téraoctets/mois.

La co-localisation est-elle ma meilleure option? Quels services de bande passante bon marché (colocation/hébergé/cloud/quel que soit) sont disponibles?

11
darron

Beaucoup dépend du nombre de sessions simultanées que vous attendez. Si plus de quelques sessions simultanées sont probables, vous aurez besoin de quelque chose qui vous accorde une connexion à 100 Mbits, 1 Gbit si vous 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 contrats de niveau de service et/ou de systèmes de basculement à prendre en charge en cas de problème (car le projet est suffisamment important pour une courte période d'indisponibilité. être gênant), vos options sont plus limitées et vos coûts 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 de grande 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 à un coût abordable de nos jours (je paye 50 $/mois) pour un petit serveur avec un lien de 10 Mbits/s que je pourrais saturer dans les deux sens 24h/24, 7j/7 si nécessaire, donc un lien de 100 Mbits avec un serveur plus costaud connecté ne va pas coûter cher, sauf si vous avez besoin d'une disponibilité garantie et d'autres SLA et/ou serveur gestion du fournisseur d’hébergement). Si le serveur ne fait que servir des fichiers statiques (même les plus volumineux), vous n'avez pas besoin de beaucoup de machine en termes de processeur et de RAM, mais simplement de lecteurs rapides et de bande passante. Il peut également être intéressant de rechercher des solutions hébergées "en nuage" ou un réseau de diffusion de contenu - elles pourraient être plus faciles à adapter si vous sous-estimez la bande passante dont vous avez besoin est en théorie beaucoup plus résiliente (vous pouvez donc bénéficier d'une garantie de disponibilité optimale. avec compensation s’ils ne respectent pas ces accords). Le fait de séparer l'action de couverture de bande passante de cette manière présente l'avantage supplémentaire que si la fonctionnalité de bande passante élevée attire suffisamment l'attention pour la rendre complète, elle ne bloquera pas toutes vos autres fonctionnalités en même temps.

6
David Spillett

Purement historique:
À l’époque précédant les jeux Facebook, les gens étaient tous habitués aux MMO basés sur un navigateur et au format texte.

Ogame était relativement nouveau. C’était une lourde charge graphique et un système cartographique de 9 fois 999 pages (9 univers avec 999 secteurs pouvant accueillir chacun 15 planètes, chaque planète pouvant avoir une lune).

Le nombre d'utilisateurs qui se joignaient à eux était insensé et le trafic encore plus important.

Alors qu'ont-ils fait pour le résoudre? Ils ont commencé à utiliser un système de modèles PHP et ont autorisé les utilisateurs à héberger eux-mêmes les images et les fichiers CSS. Tout ce que vous deviez faire était de cocher une case et d'entrer le chemin absolu du dossier de base. Ils l'enregistreraient dans leur base de données, utiliseraient l'élément HTML <base> et le système de gabarit définirait l'URI de http: // chemin/à/image dans fichier: /// chemin/à/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 une charge de page plus rapide pour l'utilisateur (ce qui signifie de meilleures critiques de produits) et une utilisation moindre de la bande passante pour la société hébergeant le site.

Et en prime, ils l'ont vendu comme "vous créez des fonds et des images personnalisés, ne sommes-nous pas gentils de vous avoir laissé faire cela?"

1
KdgDev

Nous avons un site très fréquenté et de nombreuses images sont chargées sur chaque page. Nous avons des serveurs dédiés mais avons décidé de mettre les images sur Amazon S . On dirait que vous parlez de fichiers vidéo ou d'un autre type de fichier volumineux qui, à mon avis, s'appliquerait toujours ici. Voici quelques avantages et inconvénients (pour nous)

Pros

  • Moins d'espace disque nécessaire sur nos serveurs
  • Moins de bande passante pour nos serveurs
  • Nos fichiers de log sont beaucoup plus petits
  • Nous pouvons facilement l'intégrer avec Amazon CloudFront pour rendre le chargement encore plus rapide pour les visiteurs.

Inconvénients

  • Cela coûte un peu plus. Nous pourrions économiser un peu d'argent en le disposant sur nos propres serveurs
  • Moins de contrôle sur eux (Amazon) en baisse… Heureusement pour nous, ils ne diminuent pas vraiment. :)

Autres pensées

S'il ne s'agit pas de fichiers multimédias ou de téléchargements de fichiers volumineux dont vous parlez, ma réponse et plusieurs autres risquent de ne pas avoir de sens. Donnez-nous plus de détails et nous ferons de notre mieux pour vous aider.

1
Micky McQuade

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

0
user4801
0
artlung

En fonction de l'état/du pays (ou du monde) cible, j'utiliserais de nombreuses solutions de cluster ("Cloud") sur différents sites (les réseaux de sites devraient être mis en réseau ;-)). D'un côté, vous avez le plein contrôle de votre CDN, mais de l'autre, vous avez beaucoup à faire (comme la surveillance, les infrastructures logicielles et matérielles, etc.).

Donc, des solutions "gérées" comme AWS ou quelque chose du genre. Il existe de nombreux fournisseurs de CDN/Cloud offrant une grande variété de fonctionnalités.

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

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

0
fwaechter