J'ai donc récemment joué avec Juju, et je vois pas mal de potentiel. Mais il y a quelques choses que je ne comprends pas exactement. Plus particulièrement, je ne suis pas sûr de l'objectif de "l'instance d'amorçage" (alias "nœud d'amorçage" ou machine "0").
En utilisant l'exemple de le tutoriel utilisateur :
$ bin/juju status
machines:
0: {dns-name: ec2-50-16-61-111.compute-1.amazonaws.com, instance-id: i-2a702745}
1: {dns-name: ec2-50-16-117-185.compute-1.amazonaws.com, instance-id: i-227e294d}
2: {dns-name: ec2-184-72-156-54.compute-1.amazonaws.com, instance-id: i-9c7e29f3}
services:
mysql:
formula: local:mysql-11
relations: {}
units:
mysql/0:
machine: 1
relations: {}
state: started
wordpress:
formula: local:wordpress-29
relations: {}
units:
wordpress/0:
machine: 2
relations: {}
state: started
La machine 1 est l'instance mysql et la machine 2 est l'instance wordpress. Que fait exactement la machine 0?
L'instance bootstrap exécute deux éléments critiques de l'infrastructure: Zookeeper et l'agent d'approvisionnement. Voici la présentation de l'architecture:
Pour le moment, il s'agit en fait d'un seul point de défaillance .. même si cela sera résolu à court terme en étendant le service "bootstrap" à 2 unités soit à la demande, soit en réponse au déploiement d'une deuxième machine. Heureusement, Zookeeper est conçu pour une haute disponibilité et l'agent d'approvisionnement utilisera Zookeeper pour la coordination, ce n'est donc pas un problème complexe à résoudre, juste un qui doit être résolu avant que Juju ne soit prêt pour une utilisation réelle en production.