Pour & les Inconvénients de Google App Engine
[Une Liste mise à Jour 21 Août 09]
M'aider à Compiler une Liste de tous les Avantages & Inconvénients de la Construction d'une Application sur le Google App Engine
Pour:
- Pas besoin d'acheter des serveurs ou de l'espace serveur (pas d'entretien).
- Fait de résoudre le problème de la mise à l'échelle plus facile.
- Gratuit jusqu'à un certain niveau de ressources consommées.
Contre:
- Enfermés dans Google App Engine ?
- Les développeurs ont un accès en lecture seule du système de fichiers sur App Engine.
- App Engine ne peut exécuter un code appelé à partir d'une requête HTTP (sauf pour les tâches en arrière-plan).
- Les utilisateurs peuvent télécharger arbitraire des modules Python, mais seulement si elles sont en pur Python, C et Pyrex modules ne sont pas pris en charge.
- App Engine limite le nombre maximum de lignes retournées par une entité arriver à 1000 lignes par la banque de données de l'appel. (Mise à jour - App Engine prend désormais en charge les curseurs pour accéder à des requêtes plus)
- Applications Java peuvent utiliser uniquement un sous-ensemble (JRE Classe Liste Blanche) des classes du JRE standard edition.
- Applications Java ne peut pas créer de nouvelles discussions.
Problèmes Connus!! : http://code.google.com/p/googleappengine/issues/list
Dur limites
Apps par développeur - 10
Temps par requête - 30 sec
Fichiers par app - de 3 000
HTTP de la réponse de la taille de 10 MO
La banque de données de taille de l'élément - 1 MO
Le code de l'Application taille - 150 MO
mise à Jour Blob store permet de stocker des fichiers jusqu'à 50 mo
Pro ou Con?
App Engine infrastructures enlève beaucoup de l'administration système et les défis du développement de la construction d'applications à l'échelle de millions de hits. Google gère le déploiement de code à un cluster, de la surveillance, de basculement, et le lancement de l'application d'instances que nécessaire.
Alors que d'autres services permettent aux utilisateurs d'installer et de configurer presque tous les *NIX compatible logiciel, App Engine oblige les développeurs à utiliser Python ou Java comme langage de programmation et un ensemble limité d'Api. Actuel Api permettent de stocker et récupérer des données à partir d'un BigTable base de données non relationnelle; la création de requêtes HTTP; l'envoi d'e-mail; manipuler des images; et la mise en cache. La plupart des applications Web existantes ne peuvent pas s'exécuter sur App Engine sans modification, car ils nécessitent une base de données relationnelle.
- Sympa la façon dont vous gérer pour activer des fonctionnalités comme Cron et les Files d'attente de Tâches dans des 'cons'.
- Je suis un débutant à la recherche pour l'utilisation de Google App Engine, je n'ai aucune idée de ce que Cron ou les Files d'attente de Tâches n'. Vous pouvez m'aider à montrer à certains débutants tutoriels ou des livres. Un Wiki!!
- beaucoup de ces données est mis à jour. app engine a ajouté de nombreuses fonctionnalités depuis que cette question a été posée. Il semble également très centrée sur les inconvénients.
- Fichiers par application mis à jour à 10 000, ils "document" dans leur blog: googleappengine.blogspot.com/2011/10/... 😉
- Je n'ai rien eu, mais par contre avec AppEngine. Heroku a été un plaisir de travailler avec et ils ont une vaste documentation. Votre VPS est le meilleur contrôle possible, mais nécessite l'apprentissage de beaucoup de sysadmin choses.
- Cher!!! Je viens de faire l'installation et le fonctionnement d'un exemple de Google, pour l'exécution de la google app engine et j'ai remarqué que leur backend coût des services peut ajouter très rapidement.
- Peut-être ce lien pourrait être utile. blog.adjutas.com/index.php/2017/01/27/...
Vous devez vous connecter pour publier un commentaire.
Pour:
Contre:
Je dirais que sa n'était pas fait pour les entreprises sérieuses et coûteux dans le long terme.
(Grande nouvelle) PRO: GAE prend désormais en charge MySQL :
https://developers.google.com/cloud-sql/
Pour:
intégré dans l'interface utilisateur unifiée pour les journaux
interface web intégrée pour les files d'attente de tâches
intégré dans les indices sur la liste des objets primaires.
Contre:
lâche journaux très rapide
TRÈS cher
TRÈS cher
TRÈS cher
De l'onu-piratable. Les échelles parce que vous êtes obligé de le code de manière à écailles.
Cycles de développement plus long. Parfois vous voulez juste pour pirater quelque chose ensemble, et de la jeter au bout de 5 hors. Avec appengine vous avez le bon code et écrire beaucoup de choses à faire assurez-vous qu'il évolue. Vous ne pouvez pas simplement faire un "trouver . | grep .avi | xargs-ffmpeg -compress ...." 🙂
Vous allez perdre des heures à essayer de faire la plus simple des tâches telles que l'envoi de notifications push pour APN (iPhone). Même si c'est bien si vous ne voulez soutenir android dans le futur.
Terrible pour faire le nettoyage de la base de données. C'est une ÉNORME douleur dans le cul pour fixer les lignes dans la base de données, principalement parce que terriblement lent, mais il exige aussi beaucoup de code à boucle correctement au sein de ses contraintes de temps.
C'était une douleur à port Lucene pour travailler sur le "système de fichiers".
Lent pour ce que vous payez.
Encore PLUS cher si votre application a des pointes de trafic. Mon application a ces pics si un utilisateur qui dispose de nombreux partisans, ce qui rend une action et nous devons les notifications push pour ses disciples. Parce que de ce que j'ai à conserver 10 serveurs inactifs toujours sur ($$$$$) pour gérer les pointes.
Appengine n'est pas trop mauvais en raison du fait que j'ai la possibilité de graver $$$$ au lieu de se préoccuper de l'évolutivité et de la fixation des goulets d'étranglement afin de réduire l'utilisation du serveur. Parfois, il vaut la peine.
Mes conseils pour les personnes qui commencent de nouveaux produits est d'aller avec hetzner.de qui est l'endroit où j'héberge mes autres produits serveurs. C'est pas cher et très piratable. J'ai un serveur chez hetzner qui est de la manipulation 3 fois plus de trafic que le produit que j'ai sur appengine. La différence de prix est de 100 $par mois des versions de $2700 mois!
J'ai l'administrateur système de l'expérience, de sorte que la ligne de fond est que je n'aurais jamais choisir appengine plus avoir mon propre serveur RACINE. Vous ne pouvez pas être ennuyé ingénieur logiciel désireux d'expérimenter de nouvelles choses, au lieu de créer de bons produits!
Pro: Illimité scalabity à votre application et les échelles de la demande.
Con: Non disponible dans certains pays (l'Argentine).
Modifier
Disponible dans le monde entier, mais seulement par le biais de Groupes de Google App Engine.
Lors de l'évaluation des avantages et des inconvénients, je pense qu'il est important de préciser que le marché pour ce qui est de représenter. Les développeurs qui cherchent une solution rentable pour les aider avec la partie abrupte de leur projet de hockey-stick courbe de croissance pèsera lourdement les inconvénients déjà mentionnés. Pour un propriétaire de petite entreprise, cependant, GAE est un Dieu-envoyer. Ces gens le plus souvent, sont à la recherche pour le "cloud" comme un moyen de mieux gérer leur entreprise (c'est à dire vendre des produits physiques et des services). Pour les pme-pmi, GAE les avantages déjà mentionnés peuvent être beaucoup plus utile par rapport à la de hockey-stick recherche de dev, tandis que le contre poids en une fraction des devs' mesure. Je ne vois pas le GAE équipe de faire tout ce qui est lié à SMB positionnement, donc je suppose que les réponses de ce genre sont de moi juste en tirant sur Superman cape, et de cracher dans le vent. Vraiment GAE doit être absolument décision de la pme de l'espace maintenant. Si non (je n'ai pas d'idées re: utilisateur de la base), puis son est très lamentable échec.
Je crois , GAE est pas encore mature en termes de fournir les fonctionnalités de base pour les affaires graves telles que la banque de données complexes clé primaire, java.awt.* de soutien, ce sont seulement quelques je suis de nommage.
Autre que l'espace libre et à construire un "Hobby" de sites web, je crois fermement, GAE n'est PAS le lieu de java devriez regarder dans.
Je vais avoir des applications construites sur la JSP/Servlets et MySQL, la réflexion sur la migration en FGA, mais je trouve que je vais passer plus de "valeur du temps" sur la migration que le simple achat d'un espace de certaines java fournisseur d'hébergement tels que EATJ, etc (Désolé, pas de marketing, juste une expérience).
Un autre gros problème que j'ai est la migration de mes données mySQL en FGA, bulkupload est vraiment pathétique et n'a pas de support client.
Pas de support pour la bd Locale au Serveur DB télécharger.
Une fois la FGA est prêt à "tous les Inconvénients mentionnés par au-dessus, je pense que nous pouvons regarder dans cette migration.
Vous êtes force de posséder un téléphone cellulaire en ligne, et votre pays+le transporteur doit être en mesure de recevoir des Sms.
(Je déteste les téléphones cellulaires, et de ma maman ou de co-travailleurs n'aurez pas de Sms)
Con: Pas d'Autres SGBDR ou des bases de données NoSQL ne sont pas possibles ....
Con: Tous votre base sont appartiennent à nous
... Sur une note plus sérieuse:
Con: Vous n'avez pas de contrôle l'environnement de votre application s'exécute dans. Les mêmes inconvénients que l'externalisation n'importe quel composant. Amusant pour les jouets, pas pour les entreprises (encore) à mon humble avis.
De diverses choses comme des API pour Google propriétaire backends comme leur système de base de données et d'autres 'verrouillage' et les cadres qui signifie que votre code est liée, dans certains lâche sens à leur système peut créer des problèmes de coûts, plus tard, si vous voulez migrer à partir de GAE. Bien sûr, vous pourrait abstraction de ces.
J'aime GAE, AppJet et les autres. Ils sont cool. Mais tout est à sa place. Si vous voulez la liberté et la possibilité de contrôler votre langage de modules, de l'API, de la syntaxe/stdlib versions et autres joyeusetés ... ne pas céder le contrôle à un fournisseur de services.
Le manque de normes pour les environnements et les spécifications pour que votre application peut s'attendre m'inquiète dans le nuage de l'arène.
sens commun choses vraiment.
Con: Limité à Java et Python