Cloud & Google app engine Presentation by Ngiambus Marcus

2,620 views
2,429 views

Published on

Google app engine Presentation at DevFest 2013 - Google Developer Group Douala

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,620
On SlideShare
0
From Embeds
0
Number of Embeds
37
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Cloud & Google app engine Presentation by Ngiambus Marcus

  1. 1. +Ngiambus Marcus https://twitter.com/ngiambus CLOUD &
  2. 2. HISTOIRE DU CLOUD : SERVEURS INUTILISÉS D’AMAZON ? Les ingénieurs d’Amazon ont alors eu l’idée de les louer à d’autres développeurs web Les ingénieurs d’Amazon ont eu l’idée de « cacher » le fonctionnement de leurs serveurs et de vendre uniquement de la puissance de calcul et du stockage Parfois, le serveur change dans la journée et vous n’êtes pas au courant, mais ça n’est pas grave : ce qui compte, c’est que votre site fonctionne toujours Pour faire face à la demande qui grandissait de jour en jour, Amazon a dû installer des dizaines de milliers de serveurs dans le monde, Mais ils étaient sous utilisés
  3. 3. Google App Engine vous permet d'héberger votre site sur les serveurs de Google et de bénéficier d'une puissance qui peut s'adapter au trafic de votre site. Si vous avez Besoin de plus de serveurs ? Il suffit de demander, et ça se met en place tout seul Serveur de Google sur Street View => http://goo.gl/Ya9bkS Avec Google App Engine, vous pouvez par exemple utiliser gratuitement le service avec 1 Go de stockage et l’équivalent de 5 millions de pages vues par mois. GOOGLE APP ENGINE : C’EST QUOI AU FAIT ?
  4. 4. Le démarrage simple et rapide : Après avoir écrit le code de l’application, il suffit de le tester sur un ordinateur local, puis le déployer dans les Datacenters de Google à l’aide d'un simple clic. L’évolutivité automatique : L’utilisateur peut bénéficier des mêmes technologies évolutives que celles utilisées pour développer les applications Google (Gmail, Google doc, Google drive…). L’hébergement économique : Le déploiement et l'hébergement d'une application sur l’infrastructure Google est gratuit dans la limite de certains quotas (bande passante, CPU utilisé…). Au-delà de ce quota, les services deviennent payants. LES AVANTAGES DE LA PLATEFORME GAE
  5. 5. - IaaS (Infrastructure as a Service) : Ici , un prestataire vous fournit un accès à tout ou partie de son infrastructure technique, c’est-à-dire à ses serveurs. C’est ce que faisait Amazon à ses débuts - PaaS (Platform as a Service) : on vous fournit non seulement un accès à l’infrastructure, mais on s’occupe aussi de gérer le nombre de machines nécessaires pour que votre application fonctionne bien quelle que soit la charge de trafic. On vous donne aussi accès à des fonctionnalités comme par exemple des bases de données, des serveurs de cache, des serveurs d’e-mail… C’est le cas de Google App Engine : - SaaS (Software as a Service) : on vous fournit l’accès à un logiciel sous forme de service. Avant, vous deviez installer le logiciel sur votre machine (ex : Microsoft Office 360, Google Apps…). LES DIFFÉRENTS TYPES DE CLOUD
  6. 6. ARCHITECTURE : SAAS – PAAS – IAAS
  7. 7. Pour commencer, il faut savoir que Google propose plusieurs services cloud : App Engine : le service PaaS de Google, la star de la maison. De gros sites comme Khan Academy ou Pulse l’utilisent Compute Engine : le service IaaS de Google. Si vous avez besoin de puissance de calcul brute (pour calculer des modèles mathématiques par exemple), c’est ce qu’il faut utiliser. Cloud Storage : un service potentiellement « illimité » de stockage de fichiers dans le cloud. C'est donc un... DaaS. C'est bien, je vois que vous suivez. Smiley Big Query : des fonctionnalités permettant d’analyser de grosses quantités de données en peu de temps (on parle de Big Data). Très utile pour les entreprises qui veulent faire de la Business Intelligence (BI) pour avoir des indicateurs de tendance basés parfois sur plusieurs Tera Octets de données. Cloud SQL : une base de données MySQL distribuée dans le cloud. Vous n’avez pas besoin d’installer ni de mettre à jour MySQL. Pas même besoin de le configurer. Vous pouvez créer des serveurs SQL répliqués en quelques clics si vous avez besoin de plus de puissance GOOGLE APP ENGINE : LES SERVICES CLOUD DE GOOGLE
  8. 8. Le rôle d'App Engine est de "masquer" le fonctionnement et la complexité des serveurs de Google. Lorsqu'un visiteur se connecte à votre site, il arrive sur le load balancer (répartiteur de charge) de Google, qui va chercher un serveur disponible et pas trop chargé pour gérer la demande de votre visiteur. Si votre site a besoin d'accéder à des données, ce qui est fréquent, il fera appel à une autre zone de serveurs appelée DataStore (c'est en quelque sorte la base de données). Tout ceci est résumé dans ce schéma fourni par Google : FONCTIONNEMENT
  9. 9. API GOOGLE APP ENGINE App Engine propose une variété de services qui vous permettent d'effectuer les opérations courantes de gestion de votre application. Les API suivantes servent à accéder à ces services :  API URL Fetch Les applications peuvent accéder à des ressources en ligne, telles que des services Web ou d'autres données, grâce au service URL Fetch d'App Engine. Le service URL Fetch récupère les ressources Web en utilisant l'infrastructure haut débit Google, qui récupère également les pages Web pour de nombreux autres produits Google.  API Mail Les applications peuvent envoyer des e-mails en utilisant le service Mail d'App Engine. Le service de messagerie utilise l'infrastructure Google pour envoyer des e-mails.  API Memcache Le service Memcache met à la disposition de votre application un cache de paires valeur-clé en mémoire hautes performances, accessible via de nombreuses instances de votre application. Le service Memcache est intéressant pour les données qui n'ont pas l'utilité des fonctionnalités de persistance et de transactionnalité du magasin de données, telles que les données temporaires ou les données copiées du magasin de données vers le cache mémoire en vue d'un accès haut débit.  API de manipulation d'images Le service Images permet à votre application de manipuler les images. Avec cette API, vous pouvez redimensionner, rogner, faire pivoter et retourner des images aux formats JPEG et PNG
  10. 10. Les plateformes PaaS comme Google App Engine supportent un nombre limité de langages de programmation. Voici les 4 langages supportés par Google à l’heure actuelle (cette liste est susceptible de s'agrandir à l'avenir) : Java Python Go PHP En réalité, tout langage pouvant utiliser la machine virtuelle Java peut aussi fonctionner : c’est le cas de Ruby et de Scala GAE ET LANGAGE DE PROGRAMMATION
  11. 11. 1 - Créer un compte Google App Engine 2 - Maitriser l’environnement de développement - IDE Eclipse - JDK 1.6 - Plugin Eclipse Google App Engine 3 - Création du serveur App Engine Création du serveur App Engine Création de l’application Web Configuration de l’application 4 – Déployer l'application APP ENGINE DANS LA PRATIQUE
  12. 12. I- Créer un Compte App Engine La création du compte App Engine est très simple, et ne prend que quelques minutes. - Tout d’abord, l’utilisateur doit se connecter à son compte Google App Engine via l’adresse suivante : https://appengine.google.com/. Il introduit donc son adresse Gmail et son mot de passe, puis clique sur le bouton « connexion » Authentification au compte Google
  13. 13. PS : Si l’utilisateur ne dispose pas d'un compte Google, il peut télécharger le SDK App Engine et développer ses applications. 1. - Une fois authentifié, l’utilisateur sera redirigé vers la page de validation du compte App Engine. A partir de cette interface, il pourra introduire son numéro de téléphone et attendre l’arrivée d’un code secret par SMS pour compléter la création de son compte. Le numéro de téléphone portable donné ne peut être utilisé qu'une seule fois pour la création d'une instance AppEngine.
  14. 14. II - Maitriser l’environnement de développement Pour commencer à développer des applications Google App Engine, l’utilisateur doit télécharger et installer le kit de développement de logiciels App Engine. Ses composants sont les suivants : l’IDE Eclipse Le téléchargement se fait à partir du site www.eclipse.org, section downloads. L'installation consiste simplement à décompresser le fichier Zip téléchargé. Le lancement d’Eclipse se fait en exécutant le fichier eclipse.exe. JDK 1.6 Le choix de cette version du JDK est justifié par la compatibilité avec la plateforme App Engine. Le téléchargement se fait à partir de l’url suivante : http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads1902814.html Plugin Eclipse de Google App Engine Pour l’installation du plugin, l’utilisateur doit suivre ces étapes : 1. Démarrer Eclipse 2. Sélectionner le menu Help > Install New Software…
  15. 15. 1. Dans la boite de dialogue qui apparait, entrez l’URL suivante : http://dl.google.com/eclipse/plugin/4.2 2. Cochez la case Google Plugin for Eclipse (require) et cliquez sur Next. L’installation se poursuit Intégration du plugin App Engine dans Eclipse
  16. 16. III - Création du serveur App Engine et déploiement La réalisation de la partie serveur est découpée en trois étapes: 1. Création du serveur App Engine 2. Création et configuration de l’application Web 3. Déploiement de l’application Pour créer le serveur App Engine, il suffit de vous connecter sur l’adresse : https://appengine.google.com/ à l’aide de votre compte Google. Une fois connecté, l’interface Create an application est affichée - Le champ Application Identifier contient l’id de l’application à mettre dans le fichier web.xml. l'URL complète de votre application sera http://application-id.appspot.com/ - Le champ Application Title contient le titre de l’application.
  17. 17. 1. Lorsque l’installation se termine, Il vous sera demandé de préciser si vous souhaitez redémarrer Eclipse. Cliquez sur Restart Now 1 - Création et configuration de l’Application Maintenant que nous avons installé Eclipse et le plugin Google App Engine, tout est prêt pour que nous commencions à créer notre première application App Engine.
  18. 18. Pour créer une nouvelle application App Engine, utilisez le bouton et sélectionnez la rubrique "New Web Application Project". Nouvelle application App Engine
  19. 19. Lorsque la fenêtre Create a Web Application s’ouvre, Vous devez : • Donner un nom à votre premier projet : Exemple « Tuto-GoogleAppEngine » • Donner un nom au Package : Pour notre projet « com.devfest.tuto » • Décocher la case "Use Google Web Toolkit" 
  20. 20. Configuration de l’application Maintenant que nous avons créé notre projet App Engine, il faut configurer l’application par le biais du fichier appengineweb.xml qui se trouve dans le dossier war/WEB-INF
  21. 21. <?xml version="1.0" encoding="utf-8"?> <appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> <application>ID APPLICATION </application> <version>1</version> <threadsafe>true</threadsafe> <system-properties> <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" /> </system-properties> </appengine-web-app> La modification consiste donc à ajouter l’ID de votre application créé précédemment entre les balises <application> </application> Dans notre cas
  22. 22. Une fois terminée, nous allons déployer le projet sur la plateforme: - Cliquez avec le bouton droit sur le projet - Google > Deploy to App Engine >Deploy Pour tester le déploiement, nous allons accéder à http://tut o-androi d -gae.appspot.com /, Déploiement de l’Application
  23. 23. Apres déploiement vous accédez a votre application via le lien Exemple => id_application.appspot.com Apres déploiement vous accédez a l’application => ngiamus.appspot.com vous pouvez aussi accédez à votre tableau de bord App Engine dans le quel vous pourrez monitorer votre application ou par exemple ajouter un domaine propre a vous du genre www.id_application.com
  24. 24. DEMO EN VIDEO
  25. 25. +Ngiambus Marcus https://twitter.com/ngiambus Merci

×