Ce message a pour objectif de discuter de l'infrastructure actuelle, des améliorations possible et pourquoi pas fournir une proposition lors du prochain CA.
État des lieux
Aujourd'hui on dispose de 2 serveurs :
- prod, un VPS CLOUD 2 avec 4Go RAM et 50Go HDD à 20€ TTC ;
- preprod (ou beta), un VPS dont l'offre n'existe plus et dont il faut me confirmer le prix et la configuration.
On a également :
- un sentry hébergé par sandhose ;
- un munin hébergé par spacefox ;
- 2 ou 3 versions faisant office de beta pour des POC ou des ZEP sur des serveurs des développeurs (artragis, sandhose, moi-même) ;
- les backups chez spacefox (à confirmer).
Les problèmes
Le premier problème visible : tous les services ne sont pas chez Zeste de Savoir. Pour X ou Y raison, si spacefox ou sandhose venait à être indisponible ou perdre des informations (pas de renouvellement de leur serveur par exemple) : c'est la merde !!
Le second implique un problème de performances. Pour l'heure actuelle ça va mais si le site venait à grossir rapidement on pourrait vite avoir des soucis de perf aux heures de pointe (on est sur du VPS, pas du dédié). Un autre souci est la place qu'offre un VPS : 50Go. On va pas se mentir c'est beaucoup, mais on en a déjà une bonne partie d'utilisée.
Propositions d'amélioration
Je vous propose donc une solution qui est la mienne. Elle n'est pas forcément idéale et est à discuter.
Je vous invite à proposer d'autres solutions si jamais vous avez des idées ! Pour le moment on met de côté le coût mais essayer d'être réaliste et raisonnable
Ce dont on a besoin :
- prod
- preprod (une minimum)
- sentry
- munin
- mysql
Proposition 1 (gustavi)
Serveur 1
Serveur dédié avec de la virtualisation (Xen, Esx, Promox, etc) qui contient plusieurs VPS (ou container selon le choix de la techno) :
- prod : le serveur de production, le plus gros avec le plus de ressources et la priorité dessus.
- alpha : un serveur qui est mis à jour à chaque modification de la branche dev (à chaque commit).
- beta : un serveur qui joue le même rôle qu'à l'heure actuelles, à savoir faire des tests avant chaque release. Il serait mis à jour à chaque nouvelle release ou RC.
- beta2, beta3, etc : plusieurs VPS qui peuvent être activés à la demande des développeurs. L'objectif est de pouvoir faire des tests, des POC ou de travailler sur des ZEP sans passer par la beta ou nos serveurs personnels. Ainsi sandhose peut déployer une version avec son nouvel éditeur pendant que moi-même déployera une version avec la ZEP-13 dans quelques jours. C'est très flexible.
- mysql : le serveur de base de données. Il regroupe toutes les bases des serveurs cités précédemment.
- (mail) : le serveur de mail. Je pense qu'on peut l'intégrer à la prod dans la mesure où sur les beta on ne l'utilise pas.
Une solution alternative serait de séparer ce gros serveur en deux plus petits : un avec la prod et un avec tout le reste.
Serveur 2
Serveur VPS qui permet la gestion des autres serveurs, il contient :
- le sentry pour la gestion des erreurs post-production ;
- le munin pour le monitoring ;
- pourquoi pas un nagios pour orchestrer le tout.