Google App Engine en tant que plateforme de production

Nous sums sur le sharepoint travailler sur un nouveau projet Web commercial et de considérer Google App Engine comme une plate-forme potentielle.

Des questions:

  1. Google App Engine est-il vraiment évolutif et peut-il être considéré comme une plate-forme de production pour un projet commercial?
  2. Est-ce plus cher (ou moins cher) qu’un bon service d’hébergement à long terme?
  3. Est-il possible (et plutôt bon marché) de déplacer l’application de Google App Engine vers un serveur / une ferme indépendant (par exemple, pour l’utiliser comme système privé, pour exploiter notre propre matériel, etc.)?
  4. Existe-t-il un mécanisme permettant de gérer les attaques DDoS?
  5. Puis-je effectuer une sauvegarde complète des données de l’application?

Désolé pour ces questions stupides.

Je vais répondre à la question 1:

Je suis dans la phase pilote d’une nouvelle application Web sur le moteur d’application. Nous avons passé environ un mois à écrire du code et à préparer les choses pour notre premier client. Ils sont allés vivre la semaine dernière. Ils adorent le logiciel, mais il y a quelques jours, j’ai commencé à obtenir un délai aléatoire dépassant les erreurs dans l’application. Vous cherchez un enregistrement ou une liste et il reviendrait en millisecondes. La prochaine fois, cela prendrait 30 secondes et reviendrait avec une erreur dépassée.

Les traces de stack dans le tableau de bord donnent des résultats aléatoires. J’ai tout essayé, même décapant l’application dans un monde salutaire. Je mets un message de log dans notre middleware de demande de processus django, le premier bit de notre code qui est exécuté. Il montrait que sur les demandes de délai d’attente, il fallait 25 secondes à Google pour que la requête exécute notre code process_request. J’ai posté sur le forum de google et n’ai rien eu. J’ai contacté quelqu’un à Google et ils ont répondu rapidement mais ont seulement dit qu’ils contacteraient l’équipe. Rien depuis.

C’est possible il y a quelque chose que je fais pour causer ça mais j’en doute vraiment. Google ne fournit pas de support, donc je n’ai pas de chance.

Si c’était une application commerciale à part entière, je serais en faillite.

tl; dr : le moteur de Google App est très prometteur, mais il doit mûrir et n’est pas encore adapté à la production commerciale

  1. Regardez google IO (entre autres, ils disent cela: “oui, il est incassable”).
  2. Cela dépend … Il peut même être gratuit pour vous (vous payez pour le chargement que vous avez).
  3. Vous pouvez vous déplacer sur Amazon par exemple en utilisant appdrop . C’est aussi une bonne idée d’utiliser app-engine-patch .
  4. … Bonne question. Je ne sais vraiment pas.
  5. Utilisez GAEBar .

Tout dépend de vos besoins. Pour un projet qui a besoin d’évoluer de très peu d’utilisateurs à des millions d’utilisateurs possibles en peu de temps, le moteur de recherche Google peut être exactement ce que vous recherchez.

Cependant, notez que vous pourriez être surpris par les limitations de GAE. Le magasin de données peut, entre autres, ne pas faire de recherche en texte intégral ni de requêtes utilisant l’instruction IN. Veillez donc à spécifier les besoins de votre application et les données que vous allez stocker et rechercher.

Cela signifie également que le transfert de votre application de GAE vers un serveur distinct peut être problématique, car l’architecture de la firebase database sera probablement différente.

Mes réponses:

  1. BuddyPoke fonctionne sur gae (probablement la plus grande application), vérifiez leurs millions de numéros.
  2. Vous ne payez pas jusqu’à ce que votre application grandisse un peu
  3. Si vous êtes familier avec python, web2py offre cette fonctionnalité avec quelques limitations
  4. Dos protection ( java , python )
  5. Gaebar , voici un excellent article.

Votre question n ° 3 soulève un drapeau rouge. S’il s’agit d’un problème important, je vous déconseille d’utiliser App Engine pour le moment. J’adore la plate-forme et je ne doute pas que ce seront des chemins de migration viables vers une solution auto-hébergée à un moment donné, mais pas maintenant. Des choses comme appdrop prouvent qu’il serait possible de le faire, mais l’effort et l’investissement en valent-ils la peine? C’est la question que je poserais. J’aimerais savoir si quelqu’un a réussi à porter une application de moteur d’application de production en situation réelle sur un autre hôte.

Les sauvegardes doivent être facilement scriptées ou il existe des outils tels que GAEbar comme mentionné par Bolotov.

En ce qui concerne le coût, vous pouvez probablement obtenir gratuitement des dizaines (voire des centaines) de milliers d’objects (enregistrements) et un trafic / utilisation décent. Au-delà de cela, je ne suis pas certain des coûts d’hébergement comparés, cela semble être un bon domaine dans lequel faire des recherches (note à l’auteur).

Enfin, Silfverstrom a raison en ce qui concerne les limitations, notamment en ce qui concerne la recherche en texte intégral. Certains projets sont en cours pour y remédier, mais probablement rien de plus robuste qu’un SGBDR mature.

Pour mettre à jour avec des informations plus récentes (2013), GAE dispose désormais d’une API de recherche de texte. Vous ne pouvez pas rechercher directement les données dans la firebase database; vous créez des documents consultables à partir de vos données et les ajoutez à un index consultable. Ce n’est pas très difficile à faire, mais c’est compliqué. En particulier, chaque fois que vos données changent, vous devez régénérer les documents modifiés et les mettre à jour dans l’index.

Il est également assez facile d’exporter des données dans Google Big Query, ce qui facilite la création de rapports.