Google Cloud Platform par le menu

L’offre de cloud public est en pleine ébullition, de nouveaux acteurs apparaissent régulièrement et il devient difficile de faire son choix parmi les hébergeurs du marché. Google a construit son offre brique après brique à partir de 2008 en lançant son offre PaaS AppEngine. Dans cet article, je vous propose de découvrir Google Cloud Platform avec ses avantages et ses inconvénients.

Platform as a Service

appengine_final
L’offre Platform as a service de Google s’appelle App Engine. Elle fournit une solution complète permettant d’héberger des applications Java, Python, et maintenant PHP et Go en bêta. Avec AppEngine, Google gère pour vous la scalabilité de l’application et vous bénéficiez de différents services au catalogue, parmi lesquels nous citerons:

  • Memcache pour gérer le cache applicatif
  • DataStore la base NoSQL à forte scalabilité de google
  • Task Queue et Cron qui permettent de lancer des traitements en arrière plan soit à la demande soit de façon périodique
  • Search API pour indexer des documents et les rechercher en Full Text

Bien sûr, vous pouvez aussi tirer parti de l’ensemble des API fournies par Google pour pouvoir interagir avec les autres produits comme GMail pour n’en citer qu’un seul.

Parmi les gros avantages de cette solution, je tiens à mettre en avant la gestion des versions de l’application. Vous pouvez en quelques clics changer la version par défaut de votre application. Mais surtout la solution vous permet de répartir en pourcentage le trafic entrant entre plusieurs versions vous offrant ainsi une grande facilité pour faire de l’A/B Testing. Outre la centralisation des logs et la supervision des métriques système, rendues sous forme de graphes, vous bénéficiez de la supervision 24/7 des Google Site Reliability Engineers(équipes de production).

Les points faibles d’App Engine que l’on peut retenir sont liés aux limitations strictes imposées par la plateforme. Les applications tournent dans une sandbox empêchant tout accès au système de fichiers, il est impossible de lancer des traitements parallèles et les requêtes ne peuvent pas dépasser 60s de temps de traitement.

Pour résoudre ces problèmes, Google propose maintenant en bêta les Managed VM qui permettent de supprimer la plupart des limitations. Le principe ici est de déployer les applications dans des conteneurs Docker qui peuvent être personnalisés. Vous pouvez de plus accéder aux machines en ssh.

Pour en savoir plus sur AppEngine.

compute-engine-logo

Infrastructure as a Service

Compute Engine est le nom de l’offre IaaS de Google. Après avoir été annoncée lors de la Google I/O 2012, l’offre s’est ouverte doucement aux clients pour être finalement ouverte au grand public en Juin 2013. La plate-forme est donc récente à l’échelle de la concurrence. Google s’appuie là encore sur son infrastructure globale (Amérique, Asie, Europe) pour assurer ce service. Google se différencie sur ce marché par la performance avec des latences réseau très faibles et des temps de démarrage en secondes.

Les services que l’on est en droit d’attendre d’une solution IaaS sont disponibles :

  • Gestion des images multi-zones
  • Disques à la demande
  • Snapshot des disques
  • Règles de firewall par réseau
  • Gestion des routes et VPN
  • Machines à haute capacité mémoire ou CPU
  • LoadBalancer sur IP ou en HTTP
  • Disque local SSD

La liste des services peut paraître réduite, mais il s’agit là uniquement des services stables sur lesquels Google est engagé en terme de SLA et de stabilité des API. Les équipes Cloud Platform multiplient les services en preview ou en bêta parmi lesquels on retiendra:

  • Autoscaling group et template d’images
  • Container Engine pour gérer des clusters de conteneurs Docker
  • Preemptible vm: instance à très faible coût

Il s’agit donc d’une offre IaaS complète et prête à l’emploi. Parmi les points forts de cette solution, nous aimons beaucoup l’administration de la plateforme via l’API Rest, l’outil en ligne de commande qui supporte l’intégralité des services disponibles et facilite le scripting. La performance est largement au rendez-vous, les machines virtuelles démarrent très rapidement. Pour finir les tarifs affichés sont majoritairement inférieurs aux concurrents et surtout sans engagement. Notez bien que les charges sont calculées à la minute après les dix première minutes de gratuité.

Côté points faibles nous retenons l’absence de gestion d’utilisateurs en dehors de Google. Par exemple, il n’est pas possible de créer ses propres utilisateurs contrairement à IAM d’Amazon. Dans l’ensemble, Google fournit peu de services gérés en version finale.

Si l’on accepte d’utiliser les services en bêta comme la nouvelle offre cloud monitoring, la plateforme devient d’emblée riche et complète.

Pour en savoir plus sur Compute Engine.

Stockage, NoSQL et BigDatastore-logo

La création des services de stockage Google est apparu en mai 2010 avec le lancement officiel de Google Storage. Il s’agit d’un système de stockage d’objets associant les données et des tags. Ce service permet de stocker des fichiers dans un système répliqué, résilient, tirant parti des caches de points d’accès Google. Storage fournit un Driver Hadoop permettant d’exécuter des Jobs MapReduce. Le service peut-être utilisé comme serveur web de contenu statique notamment. Il sert aussi de plateforme d’échange de fichiers entre les différentes solutions du catalogue Google. Mais dans cette partie stockage je tiens à mentionner d’autres solutions:

Nous abordons ici l’un des gros points fort de la plateforme Google Cloud, le Big Data est depuis longtemps le coeur de métier de l’hébergeur et son offre en est une belle démonstration. Pour les bases de données, vous avez le choix entre une NoSQL de haut niveau avec la solution DataStore et bas niveau avec BigTable qui supporte les API HBase. Bien sûr vous pouvez faire le choix d’un MySQL géré avec Cloud SQL, sachant qu’il vous restera toujours la possibilité de déployer votre propre base de données sur des instances Compute Engine.

Avec le lancement de BigQuery en mai 2010, Google a initié une révolution des offres de Data Warehouse. En quelques mots, BigQuery fournit une interface SQL de haut niveau pour interroger des peta-octets de données en quelques secondes. Comme toujours, Google fournit des API REST pour interagir avec ces produits, pour BigQuery, il existe de plus, un outil en ligne de commande facilitant le scripting. Plusieurs solutions de BI ont déjà intégrées BigQuery comme Tableau et Qlickview pour n’en citer que deux.

Afin d’enrichir, de transformer et d’agréger les données en flux, Google a aussi lancé son service Cloud Dataflow qui se rapproche sensiblement de ce que fournit Apache Spark ou Amazon Kinesis. Dataflow repose sur l’allocation de machines Compute Engine pour traiter à la volée un flux de données (logs, fichiers csv, métriques IoT …) et le persister dans Storage ou BigQuery.

Comme vous pouvez le constater, l’offre de stockage fichier ou base de données est assez large et bénéficie d’une maturité indéniable. Google se fait fort d’exposer des API inter-opérables avec les produits du marché: HBase pour BigTable, MySQL pour Cloud SQL , ODBC pour BigQuery, Hadoop pour Storage. En matière de BigData Google a une longue histoire d’innovations à la pointe; avec les services que nous avons vus ensemble; l’hébergeur nous met à disposition les produits issus de son expérience. Ce que nous aimons moins avec ces produits tient à l’aspect propriétaire et au manque de réversibilité affiché. Il n’est en effet pas possible de les installer en dehors de l’infrastructure Google.

Pour conclure

Malgré sa jeunesse, le cloud public de Google offre déjà une large gamme de services allant du IaaS au SaaS en passant par le PaaS. Parmi les facteurs différenciant, je retiendrais la performance en terme de latence et bande passante réseau qui s’appuie sur le backbone privé de Google, la rapidité de démarrage des machines Compute Engine, et la grille tarifaire attractive. L’exposition d’API Rest consistantes pour la gestion des services est un point fort indéniable. Nul besoin ici de passer par une librairie tierce comme Boto. Après l’annonce de l’application de la loi de Moore au cloud en baissant régulièrement les tarifs, Google a annoncé son objectif de porter l’ensemble de son infrastructure sur la Cloud Platform. Si l’on considère l’ensemble des services déjà disponibles en version bêta, Google rattrape à grands pas ses principaux concurrents du marché. Mais cette revue ne serait pas complète sans quelques points faibles. A commencer par la gestion des utilisateurs de la plateforme qui doivent à tout prix posséder un compte Google. La labellisation bêta d’une grande quantité de services sur lesquels Google ne s’engage pas en terme de SLA est aussi un frein à l’adoption de l’offre.  Bien que le catalogue soit riche en fonctionnalités, il manque encore d’un véritable écosystème de partenaires et librairies tierces qui supporteraient la solution Google Cloud. Pour finir, le cloud public de Google mérite d’être connu et testé. Sachez enfin que Google offre 300$ de crédit sur 90 jours aux nouveaux utilisateurs alors n’hésitez plus lancez vous et faites vous votre propre opinion.