Présentation du projet AppEngine "Google+ To RSS As A Service", des choix, des technos utilisées, des problèmes rencontrés face aux quotas et les solutions utilisées, et des outils Google utilisés pour effectuer du monitoring et des statistiques.
http://gplus-to-rss.appspot.com
2. Fabien Baligand
Passionné de technos java et web
Java Blogger sur gplus.to/javafr
Créateur de la communauté G+ « Java FR »
gplus.to/javafrcommunity
Tech Lead chez Informatique CDC
4. C’est quoi l’idée ?
Exposer les posts publiques
d’un utilisateur / page / communauté G+
sous forme de flux RSS
5. Histoire d’une petite Success Story
Début en Décembre 2011
Un post Google+ visible
et l’adhésion est lancée
Une vraie page d’accueil
avec un bon référencement
Et aujourd’hui :
Jusqu’à 200 000 requêtes par jour
Prez au GDG
8. Pourquoi Google App Engine ?
Parce qu’on installe l’outillage avec le plugin
Eclipse en un clic
Parce qu’on crée un projet GAE en un clic
Parce qu’on déploie le projet sur GAE
en un clic
9. Pourquoi Google App Engine ?
Parce GAE permet l’hébergement
d’application java en cloud PaaS
Pour tous ses services (MemCache, Mail, …)
Pour sa console d’administration
Pour ses quotas gratuits intéressants
10. Technos utilisées
Google APIs Client Library for Java
https://code.google.com/p/google-api-java-client/
https://developers.google.com/+/api/
Rome (Java Rss Generator)
https://rometools.jira.com/wiki/display/ROME/Home
11. Google+ API
Fonctionnalités :
Utilisateurs : profil, recherche, utilisateurs liés à une activité
Activités : liste des activités d’un utilisateur, détail d’une
activité, recherche d’activités
Commentaires : liste des commentaires pour une activité,
détail d’un commentaire
Moments : liste, insertion, suppression
Authentification :
API Key : permet d'accéder aux données publiques
OAuth 2.0 : permet d'accéder aux données privées
requiert une autorisation de l'utilisateur cible
12. Problèmes rencontrés
Quota de la bande passante GAE :
limitée à 1 Go
Quota de l’API Google+ :
limitée à 10 000 requêtes / jour
13. Quota de la bande passante GAE
Contrainte : pas de solution payante pour un
service rendu gratuitement
Solution 1 : rendre le code OpenSource pour
que chacun ait son service gplus-to-rss
Efficacité limitée : 28 téléchargements
http://code.google.com/p/gplus-to-rss/
14. Répartition de la charge
Par tranche horaire
gplus-to-rss
gplus-to-rss2
gplus-to-rss3
gplus-to-rss4
16h - 24h
8h
- 16h
0h
- 8h
15. Quota de l’API Google+
Solution 1 : demander une augmentation de
quota à Google
Efficace
Mais que faire en attendant ?
16. Protection contre la saturation
du Quota Google+ API
gplus-to-rss
G+ API Key 1
G+ API Key 2
G+ API Key 3
G+ API Key 4
MemCache
Service
MemCache
Service
250 000
10 000
10 000
10 000
17. Stats & Monitoring
Google Analytics
Pour le traffic utilisateur
Google API Console Reports
Pour le niveau d’utilisation du quota « G+ API »
Pour le traffic global du service
La console d’admin GAE
Pour le monitoring de la charge en hits/seconde
Pour le monitoring des quotas GAE
Pour le top 20 des requêtes les plus demandées
Pour consulter les logs en ligne
18. Récupération des logs GAE
L’outil appcfg du SDK GAE permet le
téléchargement des access logs GAE
appcfg.cmd --num_days=2
request_logs
mywebapp/
results.log
19. Conclusion
Google App Engine : mangez-en !
Plateforme PaaS simple à prendre en main
Bon nombre de services fournis
Console d’administration avancée
Quotas gratuits
20. Liens
Service en ligne :
http://gplus-to-rss.appspot.com
Projet open-source :
http://code.google.com/p/gplus-to-rss/
Google Group :
http://groups.google.com/group/gplus-to-rss