GCloud_Logo

« Se concentrer sur l’écriture du code et non sur l’infrastructure »

C’est la stratégie qu’annonce Google avec sa nouvelle plateforme cloud lancée il y a quelques mois.

Build, Test and Deploy, sera l’hymne des développeurs grâce à cette plateforme; le tout sur une infrastructure hautement scalable. Pour ce faire, les outils mis en place par Google se déclinent comme suit:

  1. Compute
  2. Storage
  3. Big Data
  4. Services

Cet article est le premier d’une série, qui auront pour but de présenter en détails la plateforme offerte par Google et de montrer par des ateliers simples l’utilisation de cette dernière. Ce premier billet constitue une présentation générale de la plateforme et une prise en main rapide : la création du compte, l’installation et l’utilisation du CLI et les outils offerts par Google pour les développeurs.

I- Présentation de la plateforme

1. Compute

ComputeEngine

C’est le service qui représente l’aspect Infrastructure-as-a service (IaaS). Ce dernier nous permet la mise en place de machines virtuelles hébergéees sur l’infrastructure de Google avec un niveau élevé en terme de performance
Liste des caractéristiques

AppEngine

Lancé depuis 2008, la Platform-as-a-Service (Paas) de Google a su séduire de nombreux développeurs notamment grâce aux services intégrés qui apportent une importante productivité et un support notamment de Java, PHP et Python. Pour commencer, il suffit juste de télécharger le SDK approprié, écrire son code et déployer directement sur la plateforme en laissant Google s’occuper de la gestion de la charge et de la scalabilité.
Liste des caractéristiques | Laravel 4 On App Engine Par Gilles Mergoil

 

2. Storage

Développer, déployer, créer des infrastructures complexes etc… oui, mais qu’en est il pour les données? Pour ce volet, Google nous offre 3 solutions adaptées aux besoins de chacun:

CloudSQL

Afin de stocker et gérer la base de donnée relationnelle MySQL, Google nous offre ce produit qui permet la réplication et la gestion des bases de donnée en assurant une haute disponibilité et des performances de hauts niveau.
Liste des caractéristiques

CloudStorage

Utiliser un service de stockage d’objet durable et hautement disponible. Les données seront accessibles depuis n’importe quelle localisation. Google offre la gestion de version, garantie une forte SLA et nous livre une API qui nous permet de gérer les données depuis notre code.
Liste des caractéristiques

CloudDataStore

Pour les adeptes du NoSQL, Google offre la possibilité de stocker des données non relationnelles. Le cloud datastore est automatiquement scalable en fonction des besoins, il supporte aussi les transactions et utilise des requêtes assez proche du SQL
Liste des caractéristiques

 

3. Big Data

BigQuery

Avec ce service, on a la possibilité d’analyser des ensembles volumineux de données dans le cloud en utilisant des requêtes SQL-Like sur des muti-terabyte de dataset, tout ça en quelques secondes. Scalable et facile d’utilisation, BigQuery offre des statistiques en temps réel a propos des données recherchées.
Liste des caractéristiques | Retour d’expérience Par François Reynald


4. Services

CloudEndpoint

Afin de créer des web service REST depuis son code et les rendre accessibles sur iOS, Android et les clients JavaScript. Cloud Endpoints permet la génération automatique des librairies clients ce qui rend le développement des frontend plus facile. Le service supporte le OAuth 2.0 et la gestion des clés client.
Liste des caractéristiques

TranslateAPI

Pour la création d’application multilangues et la traduction de texte vers d’autres langage automatiquement.
Liste des caractéristiques

PredictionAPI

Utiliser les algorithmes d’apprentissage machine de Google pour analyser et prédire les futurs sortie d’un service en utilisant des interfaces REST
Liste des caractéristiques | Retour d’expérience Par Clément Séguy

 

II- Prise en main 

Afin de faciliter la prise en main de leur plateforme, Google offre plusieurs outils comme :

  • Google Cloud SDK: Un ensemble d’outils, de librairies et un CLI qui permet une gestion totale de tous les services de la plateforme. Plus d’infos
  • Push-To-Deploy: Afin de gagner en productivité, quoi de plus simple que de faire un git push et de voir son application automatiquement déployée sur le App Engine? C’est ce que propose Google. Google utilise donc toute la puissance du gestionnaire de source Git couplé avec la facilité de déploiement. Plus d’infos
  • Cloud Playground: Besoin de tester toute la plateforme mais en local? cet outil est fait pour ça, depuis son navigateur, on peut facilement exécuter les services de Google comme le App Engine, le Cloud Storage et le Cloud SQL. Plus d’infos
  • Google Plugin pour Eclipse: Pour les praticiens de Java, un petit plugin Eclipse qui offre un ensemble d’outils et de support d’API pour faciliter le déploiement sur l’App Engine. Plus d’infos
  • Android Studio: Vous êtes un développeur Android et vous avez besoin d’ajouter un backend pour votre projet? cet IDE est fait  pour vous, il intègre la possibilité d’ajouter le Cloud Plateform comme un backend pour votre application et le Cloud Endpoint qui offre des API REST. Plus d’infos

 

Mise en place de l’environnement de travail

On commence par la création d’un compte sur la plateforme : en ce moment Google offre 500$ de crédit pour tester confortablement tous les services qu’elle propose. Pour ce faire, suivez ce lien

La prochaine étape est de télécharger et configurer automatiquement le Google Cloud SDK Cli

Pour Linux/Mac OS X

$ curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash | bash

Ou, manuellement depuis google-cloud-sdk.zip ou google-cloud-sdk.tar.gz dézipper l’archive et exécuter le script ./google-cloud-sdk/install.sh

Il faudra redémarrer votre terminal afin que le votre nouveau $PATH soit pris en charge.

Pour finir, il suffit de s’authentifier sur Google Cloud Plateforme juste en lançant la commande  

$ gcloud auth login

Ajouter de nouveaux packages / composants

$ gcloud components list

le retour de cette commande vous présente la liste des packages (exp: SDK Java, Python etc…) et la liste des composants / outils (exp: Cloud Storage CLI) installé ou non sur votre système. Afin d’en ajouter, il suffit de lancer la commande:

$ gcloud components update [component ids]

C’est fini pour cet article, le prochain sera dédié à la mise en ligne d’une application WEB développée en JAVA sur le Google Cloud. Pour ce faire, nous configurerons un App Engine, un Cloud Storage et un Cloud SQL. Nous étudierons ainsi plus en détails les différents services de la plateforme.

Stay tuned !