Ubuntu Juju, utiliser vos charmes et déployer facilement des services dans le cloud

Juju est une technologie qui permet de déployer facilement des applications dans un nuage informatique. Elle permet de capitaliser les bonnes pratiques des équipes techniques et de rendre l’assemblage de composants logiciel totalement automatisé.

Juju c’est quoi ?

Juju provient du projet Ensemble. C’est un mot d’origine africaine qui signifie “Magie”.

C’est un outil d’orchestration de services qui propose des recettes de déploiement. Pour faire simple, il permet en une ligne de commande de déployer une instance complète d’un serveur WordPress dans un environnement virtualisé de serveurs.

On peut faire le rapprochement avec les gestionnaires de paquets des distributions GNU/Linux mais cela va au-delà de la simple installation d’un logiciel.

Juju permet de rendre abstraite la notion de machine ou de serveur. On déploie un service dans le nuage. Le système se charge de l’allocation des ressources, de créer des machines virtuelles, etc… Cela va même jusqu’à configurer automatiquement les relations entre différents services selon les liens que l’on définit.

Pour l’instant le système ne gère pas les dépendances. Il faut donc penser à installer une base de données et à la lier avec l’instance de WordPress que l’on vient d’installer.

La magie des charmes

Pour cela Juju s’appuie sur des “Charmes”. Il s’agit de procédures exécutables écrites dans le langage de son choix qui doivent respecter certaines règles de nommage pour correspondre à ce qui est appelé un “hook”. Un hook (littéralement « crochet » ou « hameçon ») permet à l’utilisateur d’un logiciel de personnaliser le fonctionnement de ce dernier, en lui faisant réaliser des actions supplémentaires à des moments déterminés (source Wikipédia). Ces hooks contrôlent l’installation, la mise en relation, l’arrêt, le démarrage, etc des charmes.

Je ne suis pas sûr d’avoir totalement compris le principe des charmes, alors je vous laisse regarder cette démonstration qui est bien plus parlante. Elle montre leur utilisation pour déployer un site Mediawiki avec sa base de données et un système d’équilibrage de charge et de cache sans avoir à configurer quoi que ce soit.

La démonstration m’a tout simplement bluffé quand on sait le temps qu’il faut pour assembler tout ces composants (normal c’est une démonstration). La complexité de cette opération est masquée par les charmes qui j’imagine ne sont pas forcément simples à mettre au point. Mais quel gain de temps après…

Juste un point de détails, mais la démonstration montre la mise en oeuvre de Juju avec les services d’Amazon. Je suppose, mais je n’ai pas trouvé la réponse, que cela est possible aussi dans le cadre d’une infrastructure de cloud complète à base de serveurs Ubuntu et d’OpenStack par exemple.

Je vous laisse consulter la liste des charmes disponibles.


Réagir à cet article

Article original écrit par Philippe Scoffoni le 24/11/2011. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Vus : 1847
Publié par Philippe Scoffoni : 544