SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformDevOps Indonesia
 
해양디지털트윈v02.pdf
해양디지털트윈v02.pdf해양디지털트윈v02.pdf
해양디지털트윈v02.pdfKwang Woo NAM
 
Nnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networksNnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networksNAVER Engineering
 
Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureRouyun Pan
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020Joe Speed
 
And then there were ... Large Language Models
And then there were ... Large Language ModelsAnd then there were ... Large Language Models
And then there were ... Large Language ModelsLeon Dohmen
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & ComponentsVijay Rastogi
 
Android app development
Android app developmentAndroid app development
Android app developmentTanmoy Roy
 
GANs Presentation.pptx
GANs Presentation.pptxGANs Presentation.pptx
GANs Presentation.pptxMAHMOUD729246
 
TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT   TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT Mia Chang
 
Object extraction from satellite imagery using deep learning
Object extraction from satellite imagery using deep learningObject extraction from satellite imagery using deep learning
Object extraction from satellite imagery using deep learningAly Abdelkareem
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratiqueOsones
 
Google app engine introduction
Google app engine introductionGoogle app engine introduction
Google app engine introductionrajsandhu1989
 
Onnx and onnx runtime
Onnx and onnx runtimeOnnx and onnx runtime
Onnx and onnx runtimeVishwas N
 
A brief primer on OpenAI's GPT-3
A brief primer on OpenAI's GPT-3A brief primer on OpenAI's GPT-3
A brief primer on OpenAI's GPT-3Ishan Jain
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Gaëlle Acas
 

Tendances (20)

Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
CI/CD on Google Cloud Platform
CI/CD on Google Cloud PlatformCI/CD on Google Cloud Platform
CI/CD on Google Cloud Platform
 
Fundamental MLOps
Fundamental MLOpsFundamental MLOps
Fundamental MLOps
 
230309_LoRa
230309_LoRa230309_LoRa
230309_LoRa
 
Automotive android
Automotive androidAutomotive android
Automotive android
 
해양디지털트윈v02.pdf
해양디지털트윈v02.pdf해양디지털트윈v02.pdf
해양디지털트윈v02.pdf
 
Nnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networksNnstreamer stream pipeline for arbitrary neural networks
Nnstreamer stream pipeline for arbitrary neural networks
 
Deep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & FutureDeep Learning Hardware: Past, Present, & Future
Deep Learning Hardware: Past, Present, & Future
 
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
ROS 2 Foxy with Eclipse Cyclone DDS | Philly ROS Meetup July 20th 2020
 
And then there were ... Large Language Models
And then there were ... Large Language ModelsAnd then there were ... Large Language Models
And then there were ... Large Language Models
 
Introduction to Android, Architecture & Components
Introduction to  Android, Architecture & ComponentsIntroduction to  Android, Architecture & Components
Introduction to Android, Architecture & Components
 
Android app development
Android app developmentAndroid app development
Android app development
 
GANs Presentation.pptx
GANs Presentation.pptxGANs Presentation.pptx
GANs Presentation.pptx
 
TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT   TensorFlow Lite for mobile & IoT
TensorFlow Lite for mobile & IoT
 
Object extraction from satellite imagery using deep learning
Object extraction from satellite imagery using deep learningObject extraction from satellite imagery using deep learning
Object extraction from satellite imagery using deep learning
 
OpenStack dans la pratique
OpenStack dans la pratiqueOpenStack dans la pratique
OpenStack dans la pratique
 
Google app engine introduction
Google app engine introductionGoogle app engine introduction
Google app engine introduction
 
Onnx and onnx runtime
Onnx and onnx runtimeOnnx and onnx runtime
Onnx and onnx runtime
 
A brief primer on OpenAI's GPT-3
A brief primer on OpenAI's GPT-3A brief primer on OpenAI's GPT-3
A brief primer on OpenAI's GPT-3
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
 

En vedette

Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Javatcouery
 
Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011Introduction à Google App Engine - WAQ 2011
Introduction à Google App Engine - WAQ 2011jimmybourassa
 
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 LilleRenaud JOLY
 
Tk03 Google App Engine Fr
Tk03 Google App Engine FrTk03 Google App Engine Fr
Tk03 Google App Engine FrValtech
 
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...JRibbeck
 
Nuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casNuxeo WebEngine : Etude de cas
Nuxeo WebEngine : Etude de casDamien Metzler
 
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 EngineStefan Sperber
 
b2performance berth
b2performance berthb2performance berth
b2performance berthITB Berlin
 
Google Cloud Platform. Google App Engine
Google Cloud Platform. Google App Engine Google Cloud Platform. Google App Engine
Google Cloud Platform. Google App Engine Kwaye Kant
 
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 2014Daniel Herndler
 
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 ProduktiveinsatzPer Fragemann
 
WordPress State of the Word 2012
WordPress State of the Word 2012WordPress State of the Word 2012
WordPress State of the Word 2012photomatt
 
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 RelationsSympra GmbH (GPRA)
 
Intellectual Property Rights
Intellectual Property RightsIntellectual Property Rights
Intellectual Property Rightsharshhanu
 
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!adesso AG
 
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 SpriestersbachSEARCH ONE
 
Codathlon Google App Engine
Codathlon Google App EngineCodathlon Google App Engine
Codathlon Google App EngineVincentBostoen
 

En vedette (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...
 
Google App Engine - INTRO
Google App Engine - INTROGoogle App Engine - INTRO
Google App Engine - INTRO
 
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
 

Similaire à 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 2013gdgyaounde
 
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 EESabri Bouchlema
 
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_...zineblahib2
 
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 AzureSamir Arezki ☁
 
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"Nazih Heni
 
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 ?Stéphane Traumat
 
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 logicielMicrosoft
 
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 logicielMicrosoft Décideurs IT
 
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...SEO CAMP
 
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 AppRadoine Douhou
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
GtugDakar AppEngine, Gwt
GtugDakar AppEngine, GwtGtugDakar AppEngine, Gwt
GtugDakar AppEngine, Gwthkairi
 
Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALLaribi Aicha
 
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...RESONEO
 
Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Bureau Metier - Version 20061010
Bureau Metier - Version 20061010Didier Girard
 
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 RESONEO
 
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 WebHarrathi Mohamed
 

Similaire à 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
 

Plus de Marc NGIAMBA

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 DisparaisseMarc NGIAMBA
 
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 CamerounaisesMarc NGIAMBA
 
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 localMarc NGIAMBA
 
MTN Cameroon Hosting Datacenter
MTN Cameroon  Hosting Datacenter MTN Cameroon  Hosting Datacenter
MTN Cameroon Hosting Datacenter Marc NGIAMBA
 
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 CommunicationsMarc NGIAMBA
 
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 Marc NGIAMBA
 
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 DoualaMarc NGIAMBA
 

Plus 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