et ses « backing services » sur des serveurs différents • Placer les fichiers devant être persistés dans un espace partagé (NAS, Bucket, …) • Envoyer les logs sur la sortie standard
• Décrire et installer les dépendances à l’aide d’un outil dédié (composer, npm, bundler, gradle, …) • Injecter la configuration de l’application via des variables d’environnements • Injecter les accès aux datastores via des variables d’environnements
et les espaces de fichiers sont concernés • Le scaling horizontal devient très simple, il suffit d’injecter les bonnes variables d’environnement pour démarrer une nouvelle instance L’APPLICATION EST BIEN PLUS RÉSILIENTE
de « code » qui une fois exécuté permettra d’obtenir l’infrastructure en question • L’infrastructure devient prévisible et contrôlée, elle peut être testée et versionnée • L’outil qui va exécuter la description de l’infrastructure est un système de provisioning
l’administration système automatisé, vous gagnez du temps sur des taches répétitives et peu intéressantes • Installe et configure automatiquement votre infrastructure • Garantie et documente l’état de l’infrastructure • Vous pouvez déployer et administrer facilement un cluster de machines
Ça n’est pas un système de déploiement / build • Ça ne remplace pas un administrateur système (docker non plus d’ailleurs…) • Ça ne gère pas les machines (physiques ou virtuelles) mais uniquement le logiciel qui va dessus • Utilisez du provisioning en association avec des outils qui gèrent déploiements et machines
configuration de provisioning, au format yaml, pour un service donné (utilisateur, db, …) • Ils sont composés de : • tasks : commandes à effectuer pour provisioner le service • handlers : pour gérer les services systèmes associés (démarrage, arrêts, …) • templates : fichier qui pourra recevoir des variables avant d’être transférés sur la machine distante
va orchestrer des rôles en fonction de groupes décrit dans un inventaire • Les rôles sont composés de tasks, handlers et templates • L’ensemble reçoit des variables de configuration Il ne reste plus qu’à déclencher le provisioning : ANSIBLE-PLAYBOOK -I HOSTS PLAYBOOK.YML