mai
2009
Dans mes billets précédents, je ne sais pas si vous avez remarqué, j’ai mis « gratuit » entre guillemets parce que je ne pense pas qu’il existe de produit/service gratuit en soi !
En revanche, il y a bien des produits/services gratuits pour une cible donnée.
Un des mérites de Google (qui est et demeure une entreprise commerciale, rappelons le) est de fournir des services gratuits pour les utilisateurs.
Cependant, au final, il ne faudrait pas oublier qui paye ces services et pourquoi ?
Google App Engine n’échappe pas à cette règle. Je vais donc vous parler de la raison des quotas, de leurs valeurs, vous expliquer pourquoi c’est une bonne chose selon moi, qu’est ce qu’il se passe lorsqu’ils sont atteints et comment aller au delà …
=> Les Quotas de GAE : pourquoi ?
Pouvoir créer des applications et ensuite les mettre en production sans avoir à se soucier de l’infrastructure sous-jacente est pour moi le principal apport du cloud computing.
L’infrastructure matérielle a un coût certain et le cloud computing est une solution pour partager des ressources, s’adapter à l’utilisation réelle, et minimiser ces coûts.
Il serait naïf ou utopique d’espérer avoir un système de cloud computing non bridé et gratuit pour tous les utilisateurs.
Avec les quotas, Google a fait un bon compromis pour
- offrir un service limité et gratuit pour un usage personnel et léger
- offrir un service payant pour un usage professionnel plus coûteux
=> Les Quotas de GAE : quoi ?
Je distinguerai :
- Les quotas « de développement ». Ce sont les limites tels que le nombre d’application maximale (10) ou le nombre maximum de ressources statiques (1000). Ces quotas se rencontrent au cours du développement et ne sont pas suffisamment documentés à mon goût (J’ai découvert la limite des 1000 fichiers statiques dans la console d’eclipse :-\ ).
- Les quotas « d’utilisation ». Ce sont les limites par application fixées pour une utilisation gratuite du service.
Ils sont réinitialisés chaque jour, bien documentés et visible dans le tableau de bord de votre application :
=> Les Quotas de GAE : la bonne solution ?
Comme je vous le disais, et j’insiste volontairement sur ce point, il y a toujours quelqu’un qui paye !
Chez Google, dans leur modèle économique, je vois deux grandes tendances se dégager :
- Les services gratuits pour les utilisateurs sur un plan financier car ils « payent » en quelque sorte avec « leur données personnelles ». Les vrais clients de Google sont donc les annonceurs, ceux qui font une partie de son CA. Que je sois bien clair, c’est un « bon deal » pour l’utilisateur qui en a conscience et accepte de donner quelques informations sur lui en échange de la gratuité du service (Qu’il n’aille pas après ce plaindre que les pubs qu’il reçoit soient de mieux en mieux ciblées).
- Les services payants à destination des entreprises. Ils peuvent être « gratuits » dans la version standard mais ce n’est qu’une offre d’appel. C’est alors Google qui paye mais c’est pour mieux vous vendre ses services premium. Là encore, c’est une bonne démarche commerciale, non ?
Selon moi, Google App Engine, comme Google Apps, fait partie du second type de services et je préfère car même si on est bridé dans la version de base et s’il faut mettre la main à la poche ensuite, vous restez le client ! Et vis à vis des données de votre application, cette situation est nettement plus saine, non ?
=> Les Quotas de GAE : que se passe t’il lorsqu’ils sont atteint ?
- Pour les quotas « de développement », le déploiement échoue :
- Pour les quotas « d’utilisation », l’application n’est plus accessible :
=> Les Quotas de GAE : pour aller plus loin …
Il faut mettre la main à la poche, aller dans le menu Billing Settings de son tableau de bord et cliquez sur le bouton Enable Billing :
Si j’ai bien compris, vous indiquez votre budget par type de ressources et vous payez à la consommation (avec comme maximum, la somme que vous vous êtes fixé).
=> Les Quotas de GAE : conclusions.
Le système des quotas est bien fait en ce sens que vous n’avez pas de mauvaise surprise financière.
-
Le possesseur d’un compte « gratuit » ne recevra pas de courrier « Vous avez dépassé vos quotas de gratuité, vous nous devez … « .
Si quelques petits malins font exploser les quotas de votre application personnelle, c’est au pire une indisponibilité pour le jour concerné. - De même, le possesseur d’un compte « payant » choisi combien il veut investir. A lui ensuite de gérer la satisfaction de ses clients vis à vis d’une application non accessible.
Le système des quotas est probablement perfectible ?
Si on met de côté les considérations techniques, on peut ainsi se demander pourquoi les threads Java sont interdits ? Car s’ils permettent de lancer un traitement coûteux en arrière plan, leur usage serait indirectement limité par le coût processeur s’y rapportant, non ?
Vos avis sur ces questions sont les bien venus, que ce soit ici, en commentaires ou là, sur le forum.
@JWillow
Je n’ai rien vu pour l’instant qui permette de récupérer les quotas.
J’ai quand même demandé à la communauté GAE si c’est possible ou si c’est prévu dans une prochaine version.
@zeth
J’ai lu qu’une erreur http 403 est envoyé en réponse pour le dépassement des quotas :
– Requests
– CPU Time
– Bandwidth, incoming and outgoing
Pour les autres quotas (comme ceux relatifs au DataStore), c’est pour l’instant une exception fourre tout « com.google.apphosting.api.ApiProxy.UnknownException » qui est levée.
Dans une prochaine version, ce sera une « com.google.apphosting.api.ApiProxy.OverQuotaException ».
Bonjour,
Simplement pour savoir s’il est possible de faire une export des données statisques ?
Eventuellement pour faire du reporting ou de la surveillance
@zeth
Difficile, je n’irai pas jusque là mais moins facile sûrement.
Pour ce qui est de l’erreur, vu que GAE envoit des exceptions lors des dépassement de quotas, je suppose donc qu’il y a moyen de les intercepter ?
Pour ce qui est du détail, ne t’inquiète pas, je te comprends.
@benwit merci encore pour tout tes retours sur GAE c’est vraiment génial.
je trouve comme toi que le système de quota est nécessaire et que pour passer en mode payant c’est très bien adapté. tu indique qu’il est difficile de détecter que tu es sur GAE si tu indique un nom de domaine perso. mais la page de limite de quota atteinte est elle paramétrable? c’est du détail mais cela peut devenir important pour une application en production.
@liliverte,
Je ne m’y connais pas trop en fait mais tu peux venir en discuter ici : http://www.developpez.net/forums/d745247/java/communaute-java/serie-billets-google-app-engine/
Bonjour,
comme tu semble t’y connaitre.
j’ai un rapport à faire sur le cloud computing :
– Présentation technique du cloud computing (10 pages)
– Principes de mise en oeuvre (10 pages)
GOOGLE –> bien sûr, j’ai même des tonnes d’infos.
Mais aucune ne correspond aux questions posées…….
Pour la présentation technique (comment écrire 10 pages pour dire qu’il y a 3 grands typre de services SAAS, PAAS et IAAS)
Surtout le principe de mise en oeuvre (à part dématérialiser la salle
informatique –> comment ecrire 10 pages pour dire qu’on veux abandonner son infra pour un abonnement ?)
A moins que je sois à côté de la plaque ?
Je ne sais pas comment poster sur la page principale de ton blog
merci pour ton aide.
C’est un risque en effet mais il existe aussi en dehors du cloud computing, non ?
En surchargeant n’importe quel site, il peut tomber. Et je ne parle pas des failles de sécurité ou autre … Chez GAE, il y en a surement aussi mais au final, je ne doute pas qu’ils ont des compétences que ne peuvent se payer les petites structures.
Deuxièmement, il faut savoir qu’on est bien sur GAE. Si c’est explicite avec les url au format {applicationId}.appspot.com, ça l’est déjà moins avec un mapping sur son nom de domaine.
intéressant ce que tu dis. ca pourrait etre éventuellement un gros problème de dispo ca ! si un concurrent veut fermer un site, il suffit de générer un peu trop de charge