Bonjour, 

Je suis à la recherche de documentation ou de conseils, je n'arrive pas à 
me faire une idée claire seul de mon côté! 

Généralement je mets au point des projets Rails disons assez classiques et 
je les déploie avec Mina qui est super léger. 
Je me suis plongé dans docker et maintenant le schéma classique ressemble à 
une série de containers: 
- nginx
- rails 
- postgres
- redis 
- ... 
Avec des volumes persistants pour les datas.
Le tout est assez facile à déployer et à maintenir pour un serveur/client 
pour son projet. 

Une demande revient régulièrement chez mes clients et je réfléchis à la 
façon de rendre cette production plus générique. 

Voici ce que je cherche à faire/comprendre:

Après le débat multi-tenant vs multi-instances, imaginons une application 
type et pour chaque client un 'micro serveur' qui fait tourner les 
containers. 
Chaque client est isolé, mais a la même copie de l'application. Chaque 
client se connecte par un sous-domaine qui lui est attribué. 
Les questions que je n'arrive pas à clarifier sont celles liées au 
déploiement et à la mise à jour d'une telle infrastructure. Comment 
automatiser ces tâches sachant que le nombre de clients va varier en 
fonction de l'attrait pour l'application et pourrait atteindre un nombre 
trop important pour être déployée "manuellement". 

On trouve pas mal de documentation sur la question du multiserveur pour des 
applications de grosse taille avec par exemple une configuration décrite 
dans le fichier docker-composer avec plusieurs serveurs qui vont 
communiquer entre eux. Mais dans le cas décrit ci-dessus avec 
potentiellement un grand nombre de serveurs on ne peut pas se permettre 
d'avoir un fichier yml qui fait des milliers lignes en fonction du nombre 
de clients. 
D'autre part si on automatise la tâche avec mina ou capistrano le temps de 
déploiement d'un tel parc peut être très long et le risque d'erreur est à 
prendre en considération. 

Est-ce que ce type d'architecture est une idée viable et maintenable, 
est-ce une mauvaise direction et devrais-je plus réfléchir sur un modèle? 
Bref comment automatiser la mise en place d'une application similaire qu'on 
installe pour un grand nombre de clients? 

Je suis preneur d'idées ou de lecture sur ce type de question. 

D'avance merci pour les idées! 

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à