Des mots (Demo) dans les nuages (dans le « cloud »)

Une de mes activités (non essentielle de ma mission) est de mettre en place une sorte de PaaS (Plateforme as a Service : mutualisation des services et des logiciels en all in one) pour permettre à tout un chacun de connduire ses projets techniques en souplesse. Une exigence parmi les plus contraignantes etant que les runtimes (machines virtuelles serveurs et interpreteurs) et frameworks (surcouche logicielle) ne sont jamais les memes. Évidemment il ne s’agit pas d’imposer à tout le monde d’utiliser les mêmes socles. Dans un contexte de recherche et développement… toute tentative de cloisonnement nuit a la productivité. J’ai donc tenté l’install d’un micro cloudfoundry par vmware et j’ai été deçu.

Pourquoi ? Moi qui depuis des semaines en vante ses mérites. Laissez moi vous décrire comment ça se passe :

Vous obtenez (apres inscription) un fichier .vmx (vmware oblige) d’1 go et donc devez installer en pre requis un vmware. Bootez dessus et vous tomberez sur un Lucid Lynx (un LTS fort heureusement). Par contre l’accès tty vous est masqué par un « gentil » menu de config. Pour y aller il faut faire une combi magique ctrl+alt+espace puis ctrl+alt+f2 …sans retirer les ctrl+alt.
Une fois en tty : la première chose qui me passe par l’esprit etant donne un host et un guest tous deux en 10.4… sortons le logiciel du guest ! He bien oui c’est possible mais c’est pas standard ! Vous devrez avoir : deux versions de ruby… des librairies c++ … des rubygems partout.

Apres deux jours d’install et de plaisir je me lance le défi de creer un wrapper jboss. Je déchante rapidement. Je dois créer un gem expres. Je dois faire une config yaml alors que j’y connais fichtre rien

Conclusion : 3 scripts d’admin et des contextes /projects/A/appli/B et tout baigne.

Le cloud le cloud… non mais est-ce que j’ai une tête de cloud ? Haha.

CloudFoundry !

image

image

Quand j’ai decouvert l’existence du Paas (Platform as a service) made by VMWare (et donc by SpringSource), j’ai saute sur l’occas pour obtenir mon invitation. Et je n’ai pas ete decu du détour ! Beaucoup plus simpliste que Google App Engine, CloudFoundry fait du deploiement d’application un vrai jeu d’enfant !
L’installation requiert juste un peu de temps (installation de la commande vmc pilotée par le langage ruby… oui faut installer ruby sur son ordi ! Avec gem !).
Loggez vous une fois pour toutes avec les identifiants que vmware vous envoie (via vmc login), puis deployez l’appli web que vous souhaitez !

CloudFoundry supporte les applications Ruby et les servlets Java (via une instance de tomcat).
Il ne possede a priori PAS de limitation sur l’utilisation du langage Java (comme c’est le cas sur App Engine!). Un routeur fait office d’arbitre (VCAP_ROUTER) en faisant un dispatch (nom de domaine -> runtime + hote virtuel a aller chercher).

Et si jamais vous vous demandez si (par mauvaise experience) le datastore n’est pas un simulacre de base de données (comme c’est le cas sur App Engine), ben rassurez vous et rejouissez vous ! Non seulement vous avez a votre disposition des bases type MySQL a creer via des commandes vmc unitaires, mais en plus vous avez le choix avec d’autres sgbd (comme mangoDB par exemple).

Le proof of concept de la simplicite de CloudFoundry (et je ne leur fais pas de la pub ! Non ! Je vous assure n’avoir aucun sponsoring), c’est d’avoir reussi en meme pas une heure a deployer mon appli de stage (si mon ancien tuteur voit ca il sera vert !). Et le resultat est probant puisque me voila heureux gestionnaire d’une appli de sondages….
Voici le lien sur CloudFoundry : http://newave.cloudfoundry.com.

Et je ne compte pas en rester la… j’ai d’autres applis web qui veulent etre livrées !