OpenStack.fr

OpenStack.fr

mardi 3 janvier 2012

IaaS < 2012 > PaaS

Tout d’abord, très bonne année 2012 à tous les acteurs travaillant sur les solutions Open Source et plus particulièrement aux teams OpenStack.
Comme 2012 va être l’année des premiers déploiements IaaS (privé,  public, voire hybride) avec des solutions Open Source ou propriétaires (ex: VMWare, IBM, ...), il faut donc penser à l’avenir et se pencher sur l’une des finalités des services IT au profit de l’exposition des services applicatifs.

En effet, le mode IaaS est intéressant, mais pas suffisant pour répondre à la majorité des besoins clients. Imaginons qu’il soit acquis que les entreprises déploient leurs applications et services dans le Cloud (privé, public ou hybride), comment vont-elles s’y prendre? Eh bien, elles devront s’appuyer sur un framework PaaS quelconque pour les réaliser, qui intégrera, entre autres :

  • Plusieurs langages de programmation : Java, Python, Ruby, NodeJS,  …,
  • Plusieurs composants techniques relatifs aux tiers applicatifs :
    • Front Office  (ex : Nginx, …),
    • Middle Office (ex : MoM, …),
    • Back Office (ex : MySQL, Postgre, NoSQL, ….)
Ce framework PaaS devra offrir les services IT suivants, à la partie applicative :

  • Répartition et équilibrage de charges en s’appuyant sur le Load Balacing IT de la couche IaaS, mais la réelle disponibilité de services applicative (ex : SLA > 99,95%, niveau actuel de Google App Engine en release 1.6.0) pour l’ensemble des tiers reste complexe et seul le framework PaaS qui s’appuie sur des composants gérant correctement la distributivité peut y parvenir,
  • Elasticité applicative permettant de répondre aux pics et aux baisses d’activité de façon dynamique et pas liée à des opérations OPEX,
  • La facilité de configuration et de déploiement, voire de réversibilité PaaS permettant des mises en œuvre, des montées de version, voire des migrations aisées,
  • La comptabilisation des ressources utilisées essentiellement IT en plus de celle relative à l’application elle-même,
  • Etc.
Très bien, tout ceci est logique, mais qu’existe-t-il comme framework PaaS pour répondre à ces attentes ? Côté éditeurs logiciels, les grands ont une offre propriétaire, c’est-à-dire non standardisée (ex : Azure de Microsoft, Google App Engine,  Heroku (c.à.d Salesforce.com), mais aussi avec une autre approche Amazon avec AWS ElasticBeanstalk). Le monde de l’Open Source est investi par VMWare avec son offre Cloud Foundry qui sur certains pans de son framework ressemble à celui d’Heroku sur la panoplie de briques couvertes. Pour mieux appréhender cette couche PaaS, je vous invite à visiter les 2 liens ci-dessous.

  • Le 1er est une vidéo VMWare sur Cloud Foundry et son offre standalone Micro Cloud Foundry (VM contenant le framework Cloud Foundry permettant de développer des applications depuis son propre PC ou Mac, voire encore une VM IaaS avec une image intégrant Cloud Foundry, et ensuite de les publier directement dans l’environnement SaaS cible, ex :https://api.cloudfoudry.com, mais possible aussi sur autre environnement IaaS supportant Cloud Foundry).

  • Le 2ème est relatif à un post de Canonical qui a packagé et testé Cloud Foundry dans le contexte d’Oneiric (release : Ubuntu Server 11.10). Sur la base de qqs exemples simples (ex : Hello World + variables d'environnement) en qqs langages (Ruby, NodeJS, Java, …). Ces 1er exemples n’utilisent pas de persistance. En conséquence, un exemple supplémentaire est donné (application graphique "drawbridge" de type « paperboard ») avec une persistance sous MySQL. En final, qqs exemples de commandes CLI sont données pour lister les ressources et/ou les services utilisés, voire aussi pour actualiser certaines de leurs caractéristiques. A l'aide de ces commandes CLI (aujourd'hui), GUI (demain), il est réellement très facile de créer, démarrer, étendre (en ressources), stopper, supprimer, etc. une application.

En conclusion, je vous laisse imaginer le travail d’automatisation à tous les niveaux qui reste à accomplir pour fournir un réel environnement de Cloud Computing, au profit des applications. Pas de panique, les grandes évolutions ne se sont pas réalisées en un jour, vous n’avez qu’à vous référez à l’histoire des centrales électriques avec les problèmes de standardisation, de déploiement, de performance, etc.


Il a été évoqué l'approche récente (mi 2011) d'AWS pour le PaaS avec ElasticBeanStalk (présentation détaillée: ici) qui est différente et permet aux développeurs (Java pour le moment avec AWS Toolkit for Eclipse), voire aux administrateurs d'avoir la main sur la gestion des ressources avec l'accès aux éléments relatifs à l'élasticité, à la redondance, aux évènements IT et applicatifs (logs), etc. Cette solution PaaS d'AWS est gratuite, ce sont seulement les ressources et les services IaaS qui sont facturés (EC2, S3, EBS, AutoScalingCloudWatch, etc.).  Comme pour l'ensemble des services AWS, on trouve une console de management Web propre à ce service accessible depuis un des onglets de la console AWS Management.

Cette démarche est à l'inverse des premières implémentations PaaS ou à terme, les ressources IT ne seront plus facturées, mais seulement l'utilisation des services applicatifs. C'est probablement une transition douce vers le modèle PaaS à la sauce des grands éditeurs, car demain, la volonté est de s'affranchir des contraintes IT

2 commentaires:

  1. Je vous invite à visualisez plusieurs présentations (audio/vidéo) réalisées en Webminar par VMWare sur Cloud Foundry.

    http://www.youtube.com/watch?v=8i9dDA2ONSA&feature=related

    RépondreSupprimer
  2. A la recherche des API REST / GitHub permettant, à minima, de scaler dynamiquement les applications, je n'ai pas trouvé de docs, uniquement les sources sous "vcap / lib / services / api / clients / service_gateway_client.rb" qui mentionnent la gestion des services via les ressources REST suivants : provision, unprovision (c.à.d +/- N VM) et bind et unbind (c.à.d l'attachement à des services supplémentaires). Bref, en espérant que cette API s'enrichisse en fonctionnalité et en documentation.

    RépondreSupprimer