Choix de l'hébergement de ses données
Le principal outil que nous déployons/intégrons pour nos clients est un ERP dont l’éditeur est basé en Belgique du nom d’Odoo.
Nous reviendrons dans d’autres articles sur les avantages de l’infrastructure modulaire d’Odoo ainsi que sur le modèle choisi par l’éditeur avec une version communautaire open source et une version entreprise propriétaire. Profitons-en quand même pour rappeler ici que nous ne travaillons qu’avec la version communautaire Open Source.
Nous allons dans cet article détailler l’infrastructure que nous avons choisi pour installer Odoo en interne et pour nos clients.
Le choix de l’hébergement
Les possibilités
La première question que nous nous sommes posée a été de savoir ce que l’on voulait proposer à nos clients. Nous avons commencé par lister les possibilités :
2 modèles émergent aujourd’hui :
- le logiciel en ligne vendu comme un service (SaaS pour Software as a Service) - le plus souvent, les clients paient un abonnement mensuel pour utiliser le service.
Pour qui ? | Avantages | Inconvénients |
---|---|---|
Client | - Tout est inclus (normalement), on n’a pas à se soucier de la
version du logiciel, de la maintenance, des sauvegardes, etc. - Prix lissé chaque mois. - On peut bénéficier des nouvelles fonctionnalités/corrections directement, dès que deployées | - Si on arrête de payer on n’a plus accès au service et à ses
données - Le prix monte avec le nombre d’utilisateurs et les fonctionnalités - Bien souvent on ne sait pas trop où sont stockées les données, ce que l’hébergeur peut en faire. - Bien souvent le code étant mutualisé entre tous les clients (pour réduire les coûts), il n’est pas possible d’adapter le logiciel à son besoin |
Intégrateur | Mutualisation des ressources informatiques qui permettent de baisser les prix par client (dans l’idée de pouvoir en avoir le plus possible) et de limiter l’impact écologique des serveurs | - On ne connait pas nécessairement ses clients, ils peuvent utiliser
le service sans jamais nous rencontrer (certains mettraient ça dans
les avantages mais ce n’est pas comme ça que l’on voit notre
métier).- On devient hébergeur des données des clients
(avec tout ce que cela implique juridiquement). - Un problème peut rendre indisponible le logiciel pour tous les clients en même temps. |
- l’hébergement du service sur un serveur dédié à cet usage. Cela permet d’avoir un service dédié à chaque client. Le client peut choisir d’auto-héberger le serveur dans ses locaux ou de passer par un hébergeur chez qui il louera un serveur (pas forcément un serveur physique, le plus souvent on peut louer des ressources sur un serveur mutualisé).
Pour qui ? | Avantages | Inconvénients |
---|---|---|
Client | - Plus grande maitrise de ses données, choix du lieu où elles seront
stockés, tant que le serveur fonctionne (ou est payé dans le cas d’une
location), les données restent accessibles. - Possibilité de changer d’intégrateur sans devoir migrer ses données sur une nouvelle plateforme. - Possibilité d’intégrer des fonctionnalités sur mesure (développés par plusieurs prestataires si nécessité) | - Le coût peut être plus important, n’est pas forcément lissé tous
les mois. - Besoin de faire réaliser le maintien en conditions opérationnelles et de sécurité du serveur (supervision, mises à jour, sauvegardes, etc.) - soit en interne, soit par un prestataire |
Intégrateur | Plateforme unique pour chaque client, pas d’interdépendance, plus grande liberté pour installer des fonctionnalités spécifiques à chaque client | Plusieurs serveurs indépendants à maintenir |
Note: Les avantages et inconvénients cités ci-dessus sont influencés par notre expérience et nos valeurs et pourraient donc être vus différemment dans un autre contexte.
Notre choix
Au Filament, nous souhaitons que nos clients soient propriétaires et responsables de leurs données et nous voulons les laisser libres de changer d’intégrateur s’ils ne sont pas satisfaits (et ce sans devoir être obligé de migrer ses données ou pire changer d’outil). De plus, notre activité est basée sur l’adaptation de logiciels libres aux besoins et modes de fonctionnement de nos clients. Enfin, nous avons les compétences en interne pour automatiser le plus possible les installations et la maintenance, ce qui nous permet d’avoir un parc homogène (tous les serveurs avec le même système d’exploitation, installés de la même façon, avec les mêmes versions de logiciels), et donc de pouvoir mutualiser/automatiser les tâches chronophages de mise à jour, sauvegardes/restauration pour proposer des prix abordables à chaque client.
Avec tout ce qui a été expliqué ci-dessus, vous avez déjà compris que nous avons fait le choix d’avoir un serveur pour chaque client. Nous demandons donc à tous nos clients de nous fournir un serveur sur lequel nous installons Odoo. La plupart de nos clients n’ont pas les compétences ni l’infrastructure nécessaire pour auto-héberger un serveur dans leurs locaux, aussi nous les aiguillons vers Ikoula ou OVH pour louer un Serveur Privé Virtuel (VPS en anglais) localisé en France (mais ils sont bien sûr libres de louer un serveur ailleurs).
Les prix étant sensiblement identiques, nous avons une préférence pour Ikoula (taille plus humaine et 100% énergie renouvelable).
En fonction du nombre d’utilisateurs du client et des fonctionnalités visées nous les orientons parmi la gamme de VPS, Odoo étant peu gourmand en ressources, les VPS entrée de gamme sont souvent suffisants pour des petites équipes jusqu’à 10-15 personnes.
Le Contrat de Maintenance
Nous proposons un contrat de maintenance à tous nos clients comprenant les activités suivantes :
- maintenance préventive :
- supervision du serveur et des services H24
- sauvegardes quotidiennes (2 sauvegardes chiffrées sur des sites distincts)
- mises à jour de sécurité mensuelles
- mises à jour système d’exploitation et code logiciel trimestrielles (hors montées de version Odoo)
- maintenance curative (en cas de problème) :
- restauration d’une sauvegarde
- réinstallation un serveur complet et dernière sauvegarde
Ce contrat est facturé annuellement (en début d’année). Il faut avouer que depuis l’incendie d’OVH à Strasbourg début 2021, il est beaucoup plus facile de faire comprendre aux clients que ce service de maintenance est important. Cet incident aura au moins eu ce mérite.
L’infrastructure technique
Note : Cette partie sera sûrement moins abordable, car nous y aborderons (très succinctement) les différentes technologies / solutions logicielles utilisées
Comme précisé plus haut, nous automatisons le plus possible nos installations pour avoir un parc de serveur le plus homogène possible. Pour cela nous utilisons Ansible (et tous nos rôles sont publiés sous licence libre sur notre GitLab et dans Ansible Galaxy).
Les serveurs sont donc installés comme suit :
- système d’exploitation : Ubuntu LTS (versions maintenues 4 ans par Canonical) - version 20.04 à l’heure actuelle
- sécurité : pare-feu iptables, fail2ban, sécurisation SSHd, collecte de logs avec filebeat
- inverse proxy Traefik
- 2 instances d’Odoo indépendantes : production et test avec chacune sa base PostgreSQL. Chaque instance est déployée dans des conteneurs Docker, avec une image créée par nos soins pour n’avoir que le nécessaire sans superflu.
- agent pour supervision : Nagios NRPE
Pour superviser tout ça nous avons 2 serveurs Nagios (chez 2 hébergeurs différents et avec une configuration générée automatiquement par Ansible depuis l’inventaire des serveurs installés) et une plateforme Elastic-LogStash-Kibana (ELK) qui centralise les logs reçus depuis les serveurs clients.
Nous sommes plutôt satisfait de ce que nous avons mis en place, l’automatisation de l’installation et de la supervision nous font gagner un temps précieux, ce qui nous permet de conserver des prix corrects et de ne pas trop suer à grosses gouttes lors des mises à jour, même s’il y a toujours quelques petits imprévus !
Commentaires
Afficher les commentairesÉcrire un commentaire