Question

Je suis en train de construire une application Lifestreaming qui impliquera de dériver de nombreux flux pour de nombreux utilisateurs et de réaliser des algorithmes d’exploration de données et d’apprentissage automatique des résultats. L’hébergement équilibré et évolutif de GAE semble bien convenir à un système qui pourrait éventuellement contenir beaucoup de données, mais son manque de tâches cron est une nuisance. Est-ce que je ferais mieux d'utiliser Django sur un même emplacement et de gérer ma propre mise à l'échelle de base de données?

Était-ce utile?

La solution

Bien que je ne puisse pas répondre directement à votre question, mon expérience en matière de création de Microupdater (un agrégateur de nouvelles collectant quelques centaines de flux sur AppEngine) peuvent vous donner un aperçu.

  • Récupération des flux. Extraire de nombreux flux par les tâches cron (c'était la seule solution jusqu'au SDK 1.2.5) n'est ni efficace ni évolutif, car la fréquence des tâches est limitée (par exemple, 1 min. Vous ne pouvez donc extraire que 60 flux par heure au maximum). Et avec le dernier SDK 1.2.5, il existe l'API XMPP , que je n'ai pas encore implémentée. La meilleure approche prometteuse serait PubSubHubbub , dont vous proposez une URL de rappel et que HubBub notifiera vous nouvelles entrées en temps réel . Et il existe une implémentation de démonstration sur AppEngine, avec laquelle vous pouvez vous amuser.

  • Analyse des flux. Vous savez peut-être déjà que l'analyse des flux nécessite beaucoup de ressources processeur. J'utilise Universal Feed Parser de Mark Pilgrim, lors de l'analyse d'un flux important (par exemple un sujet public sur Google Reader), Il se peut qu'AppEngine ne traite pas toutes les entrées. Mon tableau de bord contient beaucoup de ces avertissements limitant le nombre de processeurs. Cependant, mon incapacité à optimiser le code risque d’empêcher que cela se produise.

Pour résumer, AppEngine n’est pas encore une plate-forme idéale pour l’application Lifestream, mais cela pourrait changer à l’avenir.

Autres conseils

Cela peut changer quand ils proposent des forfaits payants, mais dans l’état actuel des choses, App Engine n’est pas adapté aux applications gourmandes en ressources CPU. Il est conçu pour pouvoir gérer un grand nombre de demandes, mais pas nécessairement un grand nombre de calculs par demande. Je rencontre cette question avec des calculs assez mineurs et je crains de devoir commencer à regarder ailleurs à mesure que mon ensemble de données se développe.

(Il est évident que c'est assez ancien et que cela répond simplement au fait que les requêtes Google qui y sont associées arrivent toujours très haut ...)

Je viens de commencer à utiliser AppEngine et je ne l’utilise pas pour des tonnes de demandes externes. Mais je sais que les informations ci-dessus sont probablement beaucoup moins valides maintenant, et pourraient même ne pas être conservées. Ils ont assoupli les limites un peu depuis le 08 septembre - consultez le blog d'Aral Balkan pour connaître sa plainte initiale à ce sujet, et développements ultérieurs.

Si votre application repose uniquement sur Django, alors App Engine est un bon choix. Cependant, si vous avez besoin d'ajouter des bibliothèques améliorées en C, vous êtes dans une crique. App Engine ne prend pas en charge des éléments tels que PIL ou ReportLab, qui utilisent C pour accélérer les temps de traitement. Je ne fais que mentionner cela parce que vous voudrez peut-être utiliser C pour accélérer certaines de vos routines à long terme.

Si vous décidez d'utiliser un co-loc, consultez WebFaction.com. Ils sont très bien supportés par Django / Python et ils n’ont aucun problème à utiliser les répertoires susmentionnés.

Jetez un coup d'œil à hôte slice : ils vendent des instances de serveur virtualisé basées sur xen à partir de 20,00 $ / mois ...

  

Nous sommes comme vous. Malade de survendu,   hébergement ancien sous-performant   entreprises. Nous avons pris les choses en notre   propres mains. Nous avons construit une société d'hébergement   pour les personnes qui connaissent leur métier. Donner   nous une boîte, donnez-nous la bande passante, donnez-nous   la performance et nous nous mettons au travail. Vite   machines, disques RAID-10, niveau 1   bande passante et accès root. Géré   avec un backend Xen VPS personnalisé à   assurez-vous que vos ressources sont   protégé et garanti.

C’est formidable pour démarrer et étendre un projet sans encourir les coûts d’un fournisseur géré ou d’une colo.

Non. Si vous devez supprimer beaucoup de choses, App Engine ne fonctionnera pas aussi bien. Vous pouvez l'utiliser comme un serveur frontal en plaçant vos données dans leur magasin après avoir effectué votre prétraitement hors ligne, mais vous ne pouvez pas faire grand chose dans la seconde que vous avez par requête sans faire de fous vraiment . les choses.

Votre application serait probablement mieux sur votre propre hébergement.

Tirer des flux ou faire des calculs ne sera pas un problème. Mais vous devrez bientôt payer pour votre compte. Le moteur d'applications inclut Django, sauf que vous devez utiliser certains adaptateurs pour la pièce modèle. Cela vous évitera sûrement des problèmes de maintenance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top