mercredi 30 mai 2012

Le PaaS c'est classe ! 2/3 (Google App Engine)

Je suis développeur: c'est mon métier. Mais c'est aussi un hobbie et j'ai toujours au minimum un projet personnel en cours.
Avant la découverte des PaaS, j'avais tendance à créer des VM sur mon pc: server bdd, jenkins,redmine ect.
Certains projet étant en collaboration avec des amis il fallait que ces VM soient accessibles depuis le net:
- obligation de laisser mon pc allumé
- débit effroyable pour y accéder depuis l’extérieur  
Enfin bref faisable mais peu pratique.


Et j'ai découvert Google App Engine (GAE)

GAE s'utilise avec votre compte Google. Il est possible de créer 10 applications, et de garder plusieurs versions déployées de chacune d'elles.
Mise en production
Une fois créé votre projet sous éclipse et votre application dans GAE, une mise en production s'effectue en cliquant ici :
- vous devrez vous connecter à votre compte Google sous eclipse si vous ne l'êtes pas déjà.
- vous devrez renseigner l'application et la version (sans ".") .
- vous allez lire 2-3 articles le temps que GWT compile si vous faites un projet GWT



Félicitation,vous êtes en production !

Quotas d'utilisation
GAE est gratuit jusqu’à un certains point, voici pour simplifier les quotas quotidiens d'un compte gratuit:



Si cela ne vous suffit pas, vous pouvez ouvrir un compte payant. Il vous est alors possible de définir un plafond en € à ne pas dépasser. Une fois les quotas gratuits dépassés, vous serez alors facturés et votre site sera accessible tant que le seuil que vous avez définit n'est pas atteint. C'est un réel paiement à la consommation.
La fonction de facturation fonctionne comme suit:
        - ouverture d'un compte Google CheckOut
        - définition de la limite de facturation Google CheckOut (limite de facturation autorisée)
        - définition du coût quotidien autorisé sur les différentes ressources (Temps UC, bande passante entrante, bande passante sortante,stockage,messagerie).

Spécificités

Google App Engine fonctionne avec une JVM en mode "sandBox". En effet on ne peut utiliser que certains packages de la JRE dont la liste blanche est ici. La démarche est logique, il ne faudrait pas que certaines applications aient des effets de bord sur les performances de leurs voisines.

Cette limitation n'en est pas une car GAE vous oblige ainsi à utiliser les Api google dont vous trouverez la javadoc ici. Ce sont celles là même qui sont utilisées par les services Google (Picasa, gmail, ect).

 La persistance se fera donc via les Api de storage et les annotations JPA ou JDO. cette Api cache une base NoSQL.
Il est aussi maintenant possible d'utiliser une base de données mySql avec Google Cloud Sql.

Conclusion
Je suis quelqu'un de curieux, j'aime comprendre ce qui se passe "dessous" et maîtriser toute mon application. Pourtant cette abstraction fournie par GAE m'a séduite.
Entre le travail, les transports sur Paris et une vie sociale, il reste souvent peu de temps à la veille techno. Alors quand j'ai envie de faire une application pour tester GWT ou d'exposer sur le net des services pour une application Android, peu importe la configuration du serveur d'application et la base de données: l'important c'est d'être productif et de se focaliser sur l'essentiel.
La facilité de déploiement depuis Eclipse ainsi que le système de facturation sont les points que j'ai le plus appréciés sur GAE.
Bémol: Il sera souvent chronophage de migrer une application GAE sous une autre plateforme (car dépendante des API Google).

Aucun commentaire:

Enregistrer un commentaire

Crédits

Thème dérivé du GUI Set Retro-pixel.