Maintenant, il faut aisément déployer ses applications, sachant que cela peut devenir fastidieux et onéreux, lorsque le nombre de ressources et de composants logiciels est important (ex: application scalable et fortement disponible, mettant en jeu environ 6 à 8 serveurs physiques ou logiques). Alors, c'est là qu'intervient Juju, car c'est un outil de déploiement et d'orchestration de services, au dessus de la gestion des paquets logiciels du monde essentiellement Linux. Juju (anciennement nommé: ensemble) s'appuie sur l'utilisation de fichiers de description appelés "charms" (anciennement nommé: formula) pour décrire des expressions partageables, réutilisables et reproductibles d'opérations d'installation, de configuration, de connexion, de montée de version et d'exploitation des services, dans un environnement de ressources distribuées.
Des mots clés et une grammaire propres à Juju basés sur une syntaxe YAML (moins verbeuse qu'XML et donc, très facilement lisible) pour décrire dans un fichier "formula: metadata.yaml" d'une arborescence dédiée à l'application à déployer, l'ensemble des éléments nécessaires à ces actions de déploiement et d'orchestration automatisées. Pour constituer cette description, il faut bien évidemment connaître la composition des constituants logiciels de l'application et une expérience de leur installation et configuration. A partir de cela, le fichier peut ressembler (configuration non exhaustive) à la copie d'écran ci-dessous.
Sur la base du fichier "metadata.yaml" plusieurs actions élémentaires, voire regroupées ou encore globales peuvent être engagées (en ligne de commande, voire via une IHM Web quelconque). Un exemple de commandes (hooks) est donné ci-dessous.
Le projet Canonical a pour but de fournir cette solution avec les outils et les méthodes adéquates, mais aussi fournir les fichiers de description pour les applications, les plus courantes. Ce lien (ici) sous "launchpad" donne un état de la couverture prise en compte à ce jour et l'état d'avancement pour chacune des applications concernées.
Amis administrateurs système, votre métier va changer, vous n'allez plus avoir à multiplier des taches fastidieuses et répétitives, mais vous concentrez sur d'autres volets plus passionnants: optimisation, performance, etc.
Vivement demain...
Très bonne présentation vidéo par Nicolas Barcet d'Ubuntu des technos: OpenStack, Orchestra et Juju, ici:
RépondreSupprimerhttp://ubuntu-paris.org/video/ubuntu-party-paris-2011-11-11_ubuntu-cloud-et-juju-outils-d-infrastructure-orientes-services_nicolas-barcet
Détail de la constitution du hooks et de la formule (yaml) Juju pour Cassandra. En final, il faut 2 commandes pour installer Cassandra sur 1 à N noeuds de cluster :
RépondreSupprimer$ bzr branch lp:~negronjl/+junk/cassandra
$ juju bootstrap
$ juju deploy --repository . cassandra
vérification
$ juju status
J'ai oublié de fournir le lien du post Ubuntu qui donne les détails :
RépondreSupprimerhttp://cloud.ubuntu.com/2011/08/easy-cassandra-deployments-with-ubuntu-server-and-ensemble/
NB: ensemble = juju