Roboconf

Roboconf en moins de 10 Slides

Par l'équipe de Roboconf / @Roboconf

Roboconf


Le projet se focalise sur des déploiements adaptables (ou élastiques).
Il est actuellement utilisé dans le projet Open PaaS.

Roboconf adresse plusieurs usages possibles.

Déploiement dans le Cloud

Cibles de déploiement dans le cloud

Roboconf permet des déploiements dans des clouds publics, privés et hybrides. Plusieurs fournisseurs sont supportés, tout comme les plate-formes de virtualisation (telles que VMWare).

Un Framework pour sa propre PaaS

Build your own PaaS

Roboconf peut être utilisé pour créer sa propre PaaS. Il sait gérer le déploiement, la supervision et la reconfiguration de potentiellement n'importe quelle application.

Orchestration de Déploiements

Imaginons que l'on veuille orchestrer le déploiement des briques suivantes.

Orchestration des déploiements

A partir de relations pré-définies entre composants logiciels, Roboconf sait résoudre les dépendances et mettre à jour les fichiers de configuration en conséquence.

Automatisation de Procédures

Pour chaque composant logiciel géré par Roboconf, on peut définir des actions normalisées. C'est ce que l'on appelle des « recettes ». Elles peuvent être écrites au travers de scripts, d'un module Puppet...

Actions pour une recette de Roboconf

La phase update est particulière à Roboconf. Elle est invoquée lorsqu'une dépendance d'exécution apparaît, est modifiée ou bien supprimée. La reconfiguration est donc gérée automatiquement.

Déploiements Continus

Les déploiements continus sont prévus dans la roadmap de Roboconf.

Développer, compiler et tester, déployer ou migrer

Plusieurs stratégies de migration sont à l'étude.

  • Mise à jour complète (avec interruption de service).
  • A base d'invariants, pour du développement continu (devOps).
  • Mise à jour progressive (en cas d'évolution de l'architecture).

Ne PAS réinventer la Roue

Roboconf apporte de la dynamicité à des solutions de déploiement existantes.

Puppet, Bash, Docker...

D'autres solutions sont également envisageables.

Chef, CFengine...

Travailler avec Roboconf


		1. Définir des composants logiciels et leurs relations (serveurs déployés sur une VM, application qui a besoin d'une base de données...).
		2. Ecrire (ou réutiliser) des recettes pour les composants logiciels définis auparavant.
		3. Spécifier des règles et des outils (comme Nagios ou Cacti) pour la supervision.

Voilà, vous pouvez commencer à déployer avec Roboconf.