Faites connaissance avec votre nouvelle entreprise
Praxis est une société coopérative et participative (SCOP) qui développe une plateforme permettant de cartographier les cavistes qui vendent du vin totalement naturel.
Quel sera votre rôle ?
Vous êtes ingénieur DevOps chez Praxis. Parmi les salariés de l’entreprise, il y a plusieurs experts DevOps qui ont besoin de partager de l'information et de faire circuler les bonnes pratiques de développement au sein de l’entreprise.
Comme vous êtes le petit nouveau, une décision collégiale vous a désigné comme la personne qui allait mettre en place un wiki pour répondre à ce besoin !
Une recherche rapide sur le web vous permet de comprendre qu’un wiki est un gestionnaire de contenu orienté rédaction collaborative et de partage d'informations structurées. Ça y est, vous tenez votre première mission !
Démarrez votre première mission
Mais bien évidemment, de nombreuses questions vous viennent à l’esprit :
Quel wiki installer ?
Comment installer un wiki ?
Comment automatiser le déploiement de ce wiki, et avec quel outil ?
La méthodologie à suivre pour répondre à toutes ces questions est de se concentrer sur des critères prioritaires qui sont à définir en fonction du contexte de l’entreprise.
Dans votre cas, vous faites le choix d’installer MediaWiki, car c’est une solution open source éprouvée et modulaire. Ce qui colle parfaitement avec le contexte de l’entreprise.
Étudiez l’installation de MediaWiki
La meilleure solution pour comprendre comment installer MediaWiki est de se rendre sur le site de MediaWiki à la recherche du guide d'installation.
En synthèse, vous résumez l’installation de MediaWiki avec les étapes suivantes :
Installer un serveur web pour servir les pages à un navigateur web.
Installer PHP pour exécuter le logiciel.
Installer une base de données pour stocker les pages.
Télécharger les fichiers sources de MediaWiki et les mettre sur le serveur web.
Configurer le serveur web pour pointer vers l’URL MediaWiki.
Finaliser l’installation de MediaWiki via le script d’installation.
Élaborez l'architecture technique de MediaWiki
Maintenant que vous avez la bonne recette pour installer MediaWiki, vous allez élaborer l’architecture technique de MediaWiki.
Pour être conforme aux critères de départ, vous avez besoin de mettre en place une architecture modulaire. Vous faites donc le choix d’installer un serveur Linux (Debian) avec un service web (Apache, PHP) et un serveur Linux (Debian) avec une base de données (MariaDB). Vous utilisez Centos, Apache et MariaDB, car ces solutions sont compatibles avec l'installation de MediaWiki, et elles sont déjà utilisées dans l’entreprise.
Voici le schéma de l’architecture :
Pourquoi séparer les services sur deux serveurs, alors qu'un serveur aurait pu suffire ?
Eh bien, dans une optique de scalabilité, il est toujours intéressant de séparer les services et d'intégrer une architecture modulaire dès la conception. Ainsi, il sera très facile pour faire évoluer l’infrastructure, d'ajouter un serveur supplémentaire. Par exemple, si un seul serveur web n’est pas suffisant pour absorber tout le trafic web, alors il sera possible d’ajouter un serveur web supplémentaire. Avec Ansible, c'est extrêmement simple.
Préparez l’automatisation du déploiement
Tout est calé ! Il faut maintenant se lancer et installer MediaWiki.
Mais, pourquoi faire une installation manuelle alors que vous pourriez scripter le déploiement et l’automatiser ? Vous êtes un pro de l’automatisation, après tout !
C’est d’ailleurs le principe de l’Infrastructure-As-Code ; c’est un concept qui permet de gérer les tâches d’administration automatiquement, via du code, à l'aide de fichiers de définition plutôt que faire des traitements manuels. C’est très populaire en ce moment, c’est donc un bon moyen de s’y mettre.
Ainsi, vous pourrez réutiliser ces scripts pour un autre déploiement ; vous gagnerez du temps et vous pourrez également partager les scripts avec vos collègues.
Choisissez votre outil d'automatisation
Avec quel outil allez-vous automatiser le déploiement ?
Il faut que vous trouviez un outil de gestion de configuration. Il en existe plusieurs, mais les plus connus et les plus utilisés sont Chef, Puppet et Ansible.
Ils ont tous des avantages et des inconvénients ; le choix doit porter sur :
le contexte de l'environnement technique (un outil est déjà utilisé en interne, le nombre de serveurs à gérer est important...) ;
les connaissances internes des équipes techniques : Chef et Puppet utilisent Ruby, alors que Ansible utilise Python. Ansible est simple à utiliser ; les autres outils, un peu moins, le temps d'appropriation est donc un peu plus long ;
le besoin : est-ce que vous voulez faire de la conformité, du déploiement, de la performance, de la simplicité, de l'intégration, de la sécurité... ?
Comme il n’y a pas encore d’outil de gestion de configuration dans l’entreprise, vous choisissez Ansible pour sa simplicité de prise en main pour vous et les équipes.
En effet, vous connaissez Python, vous avez pour habitude de privilégier la simplicité, et vous ne voulez pas que l'intégration de cet outil soit une contrainte sur les serveurs. Vous imaginez même proposer d’utiliser Ansible pour la gestion de l’ensemble de l'infrastructure de l’entreprise.
Qu'allez-vous automatiser ?
Vous vous concentrez sur l’installation de MediaWiki, vous laissez à l’adminsys en chef le soin de mettre en place l’infrastructure des serveurs ; c’est-à-dire installer Linux (Debian) et mettre en place le réseau entre les deux serveurs.
L’adminsys vous donnera alors un compte root sur les 2 serveurs et leurs adresses IP.
Vous allez donc devoir automatiser les étapes suivantes avec Ansible :
Installer un serveur web Apache sur le premier serveur.
Installer PHP également sur le premier serveur.
Installer une base de données MariaDB sur le deuxième serveur.
Télécharger les fichiers sources de MediaWiki et les mettre sur le serveur web Apache.
Configurer le serveur web Apache pour pointer vers l’URL http://http1/mediawiki.
Finaliser l’installation de MediaWiki avec un script d’installation qui est détaillé dans la documentation.
Il faudra donc automatiser les 6 étapes nécessaires à l’installation de MediaWiki.
Résumé
Dans ce chapitre, vous avez découvert ce que vous pouvez automatiser :
vous avez fait connaissance avec votre environnement de travail ;
vous avez été chargé d’installer un wiki ;
vous avez retenu d’installer MediaWiki selon vos critères de choix ;
vous avez choisi Ansible comme outil pour automatiser le déploiement de MediaWiki ;
vous avez également proposé une architecture technique et identifié les étapes d’installation qu’il convenait d’automatiser avec Ansible.
Dans le prochain chapitre, vous allez apprendre à installer et utiliser Ansible dans le contexte de déploiement de la solution MediaWiki. Vous comprendrez comment fonctionne Ansible, et les prérequis nécessaires à un déploiement Ansible.