SlideShare uma empresa Scribd logo
1 de 25
+Ngiambus Marcus https://twitter.com/ngiambus
CLOUD &
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
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 ?
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
- 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
ARCHITECTURE : SAAS – PAAS – IAAS
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
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
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
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
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
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
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.
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…
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
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.
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.
Pour créer une nouvelle application App Engine,
utilisez le bouton et sélectionnez la rubrique
"New Web Application Project".
Nouvelle application App Engine
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"

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
<?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
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
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
DEMO EN VIDEO
+Ngiambus Marcus
https://twitter.com/ngiambus
Merci

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to Azure
 
Exposé stage d'éte
Exposé stage d'éteExposé stage d'éte
Exposé stage d'éte
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Applications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènementsApplications Android - cours 8 : Gestion des évènements
Applications Android - cours 8 : Gestion des évènements
 
QCM système d'information
QCM système d'informationQCM système d'information
QCM système d'information
 
Rapport de mini projet de programation web
Rapport de mini projet de programation webRapport de mini projet de programation web
Rapport de mini projet de programation web
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)Applications Android - cours 3 : Android Studio (Outil de développement)
Applications Android - cours 3 : Android Studio (Outil de développement)
 
Test de charge avec Apache JMeter
Test de charge avec Apache JMeterTest de charge avec Apache JMeter
Test de charge avec Apache JMeter
 
Python et son intégration avec Odoo
Python et son intégration avec OdooPython et son intégration avec Odoo
Python et son intégration avec Odoo
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancés
 
Jenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagnerJenkins - perdre du temps pour en gagner
Jenkins - perdre du temps pour en gagner
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 

Destaque

Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011
jimmybourassa
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rights
harshhanu
 

Destaque (20)

Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 
Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011
 
Cours Search Marketing - 1 Introduction - IAE Lille
Cours Search Marketing -  1 Introduction - IAE LilleCours Search Marketing -  1 Introduction - IAE Lille
Cours Search Marketing - 1 Introduction - IAE Lille
 
Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine Fr
 
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
DNUG2015 Frühjahrskonferenz: Brücken bauen, Grenzen überwinden: Domino im Dia...
 
Nuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casNuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de cas
 
An introduction to Google's App Engine
An introduction to Google's App EngineAn introduction to Google's App Engine
An introduction to Google's App Engine
 
b2performance berth
b2performance berthb2performance berth
b2performance berth
 
Google Cloud Platform. Google App Engine
Google Cloud Platform. Google App Engine Google Cloud Platform. Google App Engine
Google Cloud Platform. Google App Engine
 
Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014Search Engine Friendly Design (SEFD) - SMX München 2014
Search Engine Friendly Design (SEFD) - SMX München 2014
 
Google App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im ProduktiveinsatzGoogle App Engine. Zwei Jahre im Produktiveinsatz
Google App Engine. Zwei Jahre im Produktiveinsatz
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Web meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media RelationsWeb meets Location - Mobile Social Media Relations
Web meets Location - Mobile Social Media Relations
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rights
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
RoomCloud Booking Engine
RoomCloud Booking EngineRoomCloud Booking Engine
RoomCloud Booking Engine
 
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai SpriestersbachSEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
SEFD - Search Engine Friendly Design - SMX München 2015 Kai Spriestersbach
 
Codathlon Google App Engine
Codathlon Google App EngineCodathlon Google App Engine
Codathlon Google App Engine
 
Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...Internal Combustion Engines - Construction and Working (All you need to know,...
Internal Combustion Engines - Construction and Working (All you need to know,...
 

Semelhante a Cloud & Google app engine Presentation by Ngiambus Marcus

App engineday 1-Devfest Yde 2013
App engineday 1-Devfest Yde 2013App engineday 1-Devfest Yde 2013
App engineday 1-Devfest Yde 2013
gdgyaounde
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
Microsoft
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
Microsoft Décideurs IT
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
Devclic
 
Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Bureau Metier - Version 20061010
Bureau Metier - Version 20061010
Didier Girard
 

Semelhante a Cloud & Google app engine Presentation by Ngiambus Marcus (20)

App engineday 1-Devfest Yde 2013
App engineday 1-Devfest Yde 2013App engineday 1-Devfest Yde 2013
App engineday 1-Devfest Yde 2013
 
Google appengine&guice
Google appengine&guiceGoogle appengine&guice
Google appengine&guice
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
def déploiement_sur_google_cloud_avec_utilisation_optimale_des_ressources_et_...
def déploiement_sur_google_cloud_avec_utilisation_optimale_des_ressources_et_...def déploiement_sur_google_cloud_avec_utilisation_optimale_des_ressources_et_...
def déploiement_sur_google_cloud_avec_utilisation_optimale_des_ressources_et_...
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec Azure
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
 
Livre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logicielLivre blanc Windows Azure et les éditeurs de logiciel
Livre blanc Windows Azure et les éditeurs de logiciel
 
Les clés d’un site (beaucoup) plus rapide selon des facteurs qui restent trop...
Les clés d’un site (beaucoup) plus rapide selon des facteurs qui restent trop...Les clés d’un site (beaucoup) plus rapide selon des facteurs qui restent trop...
Les clés d’un site (beaucoup) plus rapide selon des facteurs qui restent trop...
 
A la découverte d'Azure Logic App
A la découverte d'Azure Logic AppA la découverte d'Azure Logic App
A la découverte d'Azure Logic App
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Crud+tutorial+fr
Crud+tutorial+frCrud+tutorial+fr
Crud+tutorial+fr
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwt
 
Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPAL
 
SEO campus 2019 | Les clés d’un site web (beaucoup) plus rapide selon des fac...
SEO campus 2019 | Les clés d’un site web (beaucoup) plus rapide selon des fac...SEO campus 2019 | Les clés d’un site web (beaucoup) plus rapide selon des fac...
SEO campus 2019 | Les clés d’un site web (beaucoup) plus rapide selon des fac...
 
Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Bureau Metier - Version 20061010
Bureau Metier - Version 20061010
 
Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App Améliorer l’expérience utilisateur en passant aux Progressive Web App
Améliorer l’expérience utilisateur en passant aux Progressive Web App
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 

Mais de Marc NGIAMBA

Mais de Marc NGIAMBA (8)

Marc NGIAMBA : TRANSFORMATION NUMERIQUE DES ENTREPRISES: Innovez ou Disparaisse
Marc NGIAMBA : TRANSFORMATION NUMERIQUE DES ENTREPRISES: Innovez ou DisparaisseMarc NGIAMBA : TRANSFORMATION NUMERIQUE DES ENTREPRISES: Innovez ou Disparaisse
Marc NGIAMBA : TRANSFORMATION NUMERIQUE DES ENTREPRISES: Innovez ou Disparaisse
 
Applications Cloud MTN pour les entreprises Camerounaises
Applications Cloud  MTN pour les entreprises CamerounaisesApplications Cloud  MTN pour les entreprises Camerounaises
Applications Cloud MTN pour les entreprises Camerounaises
 
Economie numérique et développement local
Economie numérique et développement localEconomie numérique et développement local
Economie numérique et développement local
 
MTN Cameroon Hosting Datacenter
MTN Cameroon  Hosting Datacenter MTN Cameroon  Hosting Datacenter
MTN Cameroon Hosting Datacenter
 
To the 5th Generation? The Future of Mobile Communications
To the 5th Generation? The Future of Mobile CommunicationsTo the 5th Generation? The Future of Mobile Communications
To the 5th Generation? The Future of Mobile Communications
 
Google glass presentation - I/0 Extended Douala
Google glass presentation - I/0 Extended Douala Google glass presentation - I/0 Extended Douala
Google glass presentation - I/0 Extended Douala
 
Présentation des MOOC at Google GDG BARCAMP Douala
Présentation des MOOC  at Google GDG BARCAMP DoualaPrésentation des MOOC  at Google GDG BARCAMP Douala
Présentation des MOOC at Google GDG BARCAMP Douala
 
Ngiambus Marcus
Ngiambus MarcusNgiambus Marcus
Ngiambus Marcus
 

Cloud & Google app engine Presentation by Ngiambus Marcus

  • 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. 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. 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. - 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. ARCHITECTURE : SAAS – PAAS – IAAS
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. <?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. 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. 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