python francais Commentaires sur l'utilisation de Google App Engine?



google app engine java (8)

Cette question a été entièrement répondue. Ce qui est bon. Mais une chose vaut peut-être la peine d'être mentionnée. Le moteur de l'application Google a un plugin pour l'Eclipse IDE, ce qui est une joie de travailler avec.

Si vous faites déjà votre développement avec eclipse, vous en serez très heureux.

Pour déployer sur le site Web du moteur de google app tout ce que je dois faire est de cliquer sur un petit bouton - avec le logo de l'avion - super.

https://ffff65535.com

Vous cherchez à faire un très petit projet rapide et sale. J'aime le fait que Google App Engine fonctionne sur Python avec Django intégré - me donne une excuse pour essayer cette plate-forme ... mais ma question est la suivante:

Est-ce que quelqu'un a utilisé le moteur de l'application pour autre chose qu'un problème de jouet? Je vois quelques bons exemples d'applications là-bas, donc je suppose que c'est assez bon pour la vraie affaire, mais je voulais obtenir des commentaires.

Toute autre note de réussite / échec serait géniale.


J'ai essayé le moteur de l'application pour ma petite application de surveillance du tremblement de terre http://quakewatch.appspot.com/

Mon but était de voir les capacités du moteur d'application, donc voici les points principaux:

  1. il ne vient pas par défaut avec django, il a son propre framework web qui est pythonic a dispatcher URL comme django et il utilise des templates django Donc si vous avez django exp. vous le trouverez facile à utiliser
  2. Vous ne pouvez pas exécuter de processus long sur le serveur, ce que vous faites est de répondre à la demande et qui devrait être rapide sinon appengine va le tuer Donc si votre application a besoin de beaucoup de traitement backend appengine n'est pas la meilleure façon sinon vous devrez faire sur un serveur de votre choix
  3. Mon app quakewatch a une fonctionnalité d'abonnement, cela signifie que je devais envoyer les derniers tremblements de terre comme ils se sont produits, mais je ne peux pas exécuter un processus d'arrière-plan dans le moteur de l'application pour surveiller les nouveaux tremblements de terre. connectez-vous à l'une de vos pages et exécutez l'emailer d'abonnement mais ici vous devrez également faire attention à ne pas passer beaucoup de temps ici ou à ne pas casser la tâche en plusieurs parties
  4. Il offre des capacités de modélisation comme Django mais le backend est totalement différent, mais pour un nouveau projet, cela ne devrait pas être important.

Mais globalement je pense que c'est excellent pour créer des applications qui n'ont pas besoin de beaucoup de traitement en arrière-plan.

Modifier: les files d'attente de tâches peuvent désormais être utilisées pour exécuter le traitement par lots ou les tâches planifiées

Edit: après avoir travaillé / créé une application réelle sur GAE pendant un an, maintenant mon opnion est que si vous faites une application qui doit évoluer vers des millions et des millions d'utilisateurs, n'utilisez pas GAE. Maintenir et faire des tâches triviales dans GAE est un mal de tête en raison de la nature distribuée, pour éviter les erreurs dépassées, compter les entités ou faire des requêtes complexes nécessite un code complexe, si petite application complexe devrait coller à LAMP.

Modifier: Les modèles doivent être spécialement conçus en tenant compte de toutes les transactions que vous souhaitez effectuer, car les entités appartenant à un même groupe d'entités peuvent être utilisées dans une transaction et le processus de mise à jour de deux groupes différents est un cauchemar. dans la transaction est impossible à moins qu'ils soient dans le même groupe d'entité, mais en faisant ce même groupe d'entité ne peut pas être le meilleur pour des mises à jour fréquentes .... lire ceci http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine


J'ai utilisé GAE pour construire http://www.muspy.com

C'est un peu plus qu'un projet de jouet mais pas trop complexe non plus. Je dépends toujours de quelques problèmes à résoudre par Google, mais le développement global du site a été une expérience agréable.

Si vous ne voulez pas faire face à des problèmes d'hébergement, l'administration du serveur, etc, je peux vraiment le recommander. Surtout si vous connaissez déjà Python et Django.


J'ai utilisé GAE pour construire une application simple qui accepte certains paramètres, formats et envoie des emails. C'était extrêmement simple et rapide. J'ai également fait quelques benchmarks de performance sur les services de banque de données GAE et memcache ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Ce n'est pas si rapide. Mon opinion est que GAE est une plate-forme sérieuse qui applique une certaine méthodologie. Je pense qu'il évoluera vers la plate-forme véritablement évolutive, où les mauvaises pratiques ne sont tout simplement pas autorisées.


J'utilise GAE pour héberger plusieurs applications à fort trafic. Comme sur l'ordre de 50-100 req / sec. C'est génial, je ne peux pas le recommander assez.

Mon expérience précédente avec le développement web était avec Ruby (Rails / Merb). Apprendre Python était facile. Je n'ai pas joué avec Django ou Pylons ou tout autre framework, juste commencé à partir des exemples GAE et construit ce dont j'avais besoin à partir des bibliothèques webapp de base qui sont fournies.

Si vous êtes habitué à la flexibilité de SQL, le magasin de données peut prendre un peu de temps pour s'y habituer. Rien de trop traumatisant! Le plus grand ajustement est de s'éloigner des JOINs. Vous devez jeter l'idée que la normalisation est cruciale.

Ben


Je pense qu'App Engine est plutôt cool pour les petits projets en ce moment. Il y a beaucoup à dire pour ne jamais avoir à s'inquiéter de l'hébergement. L'API vous pousse également vers la création d'applications évolutives, ce qui est une bonne pratique.

  • app-engine-patch est une bonne couche entre Django et App Engine, permettant l'utilisation de l'application auth et plus encore.
  • Google a promis un SLA et un modèle de tarification d'ici la fin de 2008.
  • Les demandes doivent se terminer en 10 secondes, les sous-requêtes aux services Web devant se terminer en 5 secondes. Cela vous oblige à concevoir une application rapide et légère, déchargeant un traitement sérieux sur d'autres plateformes (par exemple un service hébergé ou une instance EC2).
  • Plus de langues arrivent bientôt! Google ne dira pas cependant :-). Mon argent est sur Java ensuite.

L'idée "App Engine exécutant Django" est un peu trompeuse. App Engine remplace toute la couche du modèle Django. Préparez-vous donc à vous habituer au datastore d'App Engine, ce qui nécessite une autre façon de modéliser et de penser aux données.


L'une des raisons majeures que j'ai rencontrées pour utiliser Google App Engine est son intégration avec Google Apps pour votre domaine. Essentiellement, il vous permet de créer des applications Web personnalisées et gérées qui sont limitées aux connexions (contrôlées) de votre domaine.

La plupart de mon expérience avec ce code était la construction d'une application de suivi de temps / tâche simple. Le moteur de template était simple et pourtant très polyvalent. L'interface de connexion / connaissance de l'utilisateur est également utile. J'ai été capable de faire un paradigme de page publique / page privée sans trop de problème. (un utilisateur se connecterait pour voir les pages privées Un utilisateur anonyme n'affichait que la page publique.)

Je venais d'entrer dans la partie datastore du projet quand je me suis retiré pour "vrai travail".

J'ai été capable d'accomplir beaucoup de choses (ce n'est pas encore terminé) en très peu de temps. Comme je n'avais jamais utilisé Python auparavant, c'était particulièrement agréable (à la fois parce que c'était une nouvelle langue pour moi, et aussi parce que le développement était encore rapide malgré la nouvelle langue). J'ai rencontré très peu de choses qui m'ont amené à croire que je ne serais pas capable d'accomplir ma tâche. Au lieu de cela, j'ai une impression assez positive de la fonctionnalité et des fonctionnalités.

C'est mon expérience avec ça. Peut-être ne représente-t-il pas plus qu'un projet de jouet inachevé, mais cela représente un essai éclairé de la plateforme, et j'espère que cela aidera.





google-app-engine