Ansible
Ansible, pour des infrastructures reproductibles
Une application web repose sur de nombreux composants : serveurs web, PHP, bases de données, caches, files de messages, reverse proxies, réseau. Tant que ces composants sont installés et configurés à la main, chaque environnement finit par diverger des autres, et chaque intervention devient un risque.
Ansible répond à ce problème en décrivant l’état attendu de l’infrastructure dans des fichiers texte, les playbooks, versionnés avec le code de l’application. Appliquer un playbook amène les serveurs dans cet état, autant de fois que nécessaire, avec le même résultat. L’infrastructure devient lisible, reproductible et historisée.

Simple par conception
Ansible ne demande aucun agent sur les machines gérées : une connexion SSH et Python suffisent. Il s’adapte donc aussi bien à un serveur dédié qu’à des machines virtuelles chez un hébergeur ou à des instances dans le cloud.
Son écosystème est riche : des milliers de rôles prêts à l’emploi sont publiés sur Ansible Galaxy, et il est facile d’écrire les siens. Nos amis de redirection.io y proposent par exemple des rôles pour installer leur agent et configurer nginx ou Apache.
Ce que nous automatisons avec Ansible
🧱 Le provisioning
Installation et configuration uniformes de tout ce dont l’application a besoin : PHP, nginx, PostgreSQL ou MariaDB, Redis, RabbitMQ, Varnish, Elasticsearch, réseau privé, pare-feu, utilisateurs et clés SSH.
🚀 Les déploiements
Mise en production déclenchée depuis l’intégration continue, avec bascule sans interruption de service, exécution des migrations et possibilité de retour arrière en une commande.
🔐 Les opérations récurrentes
Renouvellement des certificats Let’s Encrypt, mises à jour de sécurité, sauvegardes, rotation des secrets : les tâches que l’on oublie quand elles sont manuelles, et qui ne sont plus jamais oubliées une fois automatisées.
Comment JoliCode emploie Ansible
JoliCode n’est ni un hébergeur ni une société d’infogérance. Mais nous considérons qu’une équipe de développement doit comprendre finement l’infrastructure sur laquelle tourne son code, et savoir la décrire.
Nous maintenons un ensemble de rôles Ansible qui constitue notre socle de gestion de configuration, utilisé sur les projets que nous réalisons pour nos clients comme pour nos propres produits. Pour que chaque développeuse et développeur puisse s’en servir sans installation particulière, cette stack est conteneurisée avec Docker et pilotée par des tâches Castor. Les déploiements se déclenchent ainsi directement depuis GitHub Actions, GitLab CI ou CircleCI.
Cette maîtrise nous permet aussi de dialoguer d’égal à égal avec vos hébergeurs, et de vous conseiller sur le choix entre serveurs dédiés, cloud, PaaS ou infogérance.

Faire appel à nous pour votre infrastructure
- Décrire et versionner une infrastructure existante, pour la rendre reproductible et sortir de la dépendance à une personne ou à un document obsolète.
- Automatiser vos déploiements depuis votre intégration continue, avec des mises en production fiables et réversibles.
- Vous accompagner dans vos choix d’hébergement et dans la relation avec votre prestataire, du cahier des charges à l’exploitation.
💡 Parlons de votre infrastructure.Écrivez-nous
Nos derniers articles sur Ansible
Nous publions régulièrement notre état de l’art ou nos recommandations concernant les outils que nous mettons en œuvre.
Déploiement On-Premise – Partie 2 – Castor à la rescousse
Dans le précédent article, nous avons vu toutes les étapes nécessaires pour préparer les images Docker qui seront utilisées en production. Mais nous allons maintenant aller plus loin pour automatiser et simplifier…
par Loïck Piera
Déploiement On-Premise – Partie 1 – Le socle Docker
Dans cet article, nous vous expliquons notre approche de déploiement hybride pour une application Symfony conteneurisée avec Docker. Ce système permet un déploiement à la fois sur des serveurs connectés à Internet…
par Loïck Piera
Appliqué chez nos clients
Dans le cadre de notre partenariat avec Carb0n, nous avons réalisé un examen complet de leur infrastructure, allant de l’environnement de production, jusqu’à au code de l’application. Nous avons fourni…