Dupliquer un serveur Web

10 réponses
AuteurMessage

erwinol |
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 21/11/2014 à 10:08

Bonjour à tous !

Je suis passé récemment sur une architecture avec un Load Balancer, plusieurs serveurs web (NginX) et un serveur mysql (waw en 2014, il était temps ^^).

Mon souci est le suivant :
Pour l'instant je n'ai qu'un serveur web configuré et installé que je nomme WEB_A. Je pourrais installer le second (WEB_B) à la main mais j'aimerais trouver une solution pour dupliquer un serveur et en ajouter facilement par la suite. De plus il faudrait que les modifications faites sur les fichiers d'un serveur soient automatiquement répercutées sur les autres. Bref tout faire à la main c'est une solution à court terme mais pas à long terme.

Comment faites-vous pour :
- Installer des nouveaux serveurs (WEB_B, WEB_C) pour qu'il soient des copies de WEB_A.
- Répercuter les modification (code, config, etc..) de WEB_A vers les autres serveurs.

Et que ce soit relativement simple pour moi :p

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 21/11/2014 à 11:47

Hello,

pas vraiment de solution simple là dedans. Plusieurs possibilités que je vois :
1) un rsync, et tu corriges derrière ce qu'il ne fallait pas synchroniser (configuration du RAID, du réseau, références matérielles, etc).
2) un script maison que tu lances une fois l'installation de ton fournisseur terminée
3) un outil de déploiement, type Ansible/Puppet/Bcfg2. Intéressant si tu installes des dizaines de serveurs...

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 21/11/2014 à 12:12

Merci Bool

nayluge | Cyril
Membre

 

Inscrit le : 09/01/2008

# Le 22/11/2014 à 23:39

Pour les fichiers php/conf, rien de mieux que ne pas avoir a les synchro. C'est a dire les déployer partout d'un coup à la mise en prod ( capistrano ;) )

Pour les medias uploadés, rsync marche bien pour deux serveurs mais devient un sport dès que ça grandit. l'idéal reste à mon sens le filer avec cache local.



Scull | Thomas
Membre

Photo de Scull

Inscrit le : 06/08/2006

# Le 23/11/2014 à 09:50

nayluge > le coup de déployer les scripts de conf avec capistrano c'est du trés bon! Dire que je m'embète à les éditer/créer dans mes scripts de déploiement/config serveur!

Mon GitHubOuvrir dans une nouvelle fenetre | Founder & CEO of [website I made over the weekend]

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 24/11/2014 à 09:50

Les gars, il a demandé "simple". Descendez de vos échelles de techos, essayez d'EXPLIQUER à Erwinol, par exemple, ce qu'est capistrano, ce qu'il a y gagner, etc ... Le but du jeu, c'est pas de montrer ce que vous connaissez, mais de partager vos connaissances.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

nayluge | Cyril
Membre

 

Inscrit le : 09/01/2008

# Le 24/11/2014 à 11:14

A vos ordres Herr General ;)

Donc capistrano est un petit soft permettant simplement d'effectuer des actions sur différents seveurs sans avoir à se connecter sur chacun. On peut donc facilement mettre en prod sur n serveurs ses sources par exemple en récupérant la branche master d'un projet sous git.

Ainsi, pas besoin de syncro entre les différents serveurs, tout est géré en amont.

Aussi capistrano permet de ne pas avoir à la main les actions à effectuer après mise en prod comme vider les caches etc ...

Néanmoins cela ne fonctionne pas avec les fichiers uploadés qui ne sont logiquement pas présent en dev.
Une solution pour ce type de fichier est le filer. ( On peut tout aussi bien envisager le stockage de ces fichiers sur amazon S3 par exemple ).

Pour la configuration des serveurs, comme le disait Bool, Ansible/Puppet/Bcfg2/Chef sont réellement utiles si l'on a plusieurs serveurs éxécutant des programmes communs. L'idée de ces softs est de gérer des templates de configuration par programme ( apache / mysql etc ... mais aussi les users, bref un peut tout ) et de les allouer aux machines qui vont bien. Pour configurer un nouveau serveur identique au précédant, il n'y a qu'à le rajouter dans la configuration avec les rôles souhaités, lancer une commande et tout se configure automatiquement.


Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 24/11/2014 à 11:18

Yep Capistrano est un outil de déploiement de projet / mise en prod. Ça permet de pousser son code vers le(s) serveur(s) de manière assez simple / intelligente.

Donc si t'as seulement besoin de dupliquer ton code local vers plusieurs serveurs, ça répond très bien au besoin.
Si tu as besoin de dupliquer le serveur complet, c'est pas le but.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 24/11/2014 à 11:35

Il n'existe pas un Capistrano full PHP par hasard ? (sur le papier ça a l'air top, mais config le machin en Ruby, ça m'enchante moyen).

nayluge | Cyril
Membre

 

Inscrit le : 09/01/2008

# Le 24/11/2014 à 11:43

http://deployer.in/Ouvrir dans une nouvelle fenetre

Par contre je ne l'ai jamais testé.

Scull | Thomas
Membre

Photo de Scull

Inscrit le : 06/08/2006

# Le 24/11/2014 à 12:09

J'ai déjà testé le deployer.in en php (y a même pas un an), c'est vraiment basique et peu fiable, j'avais trés souvent des soucis (déco, synchro partielles, souci avec les clés rsa, les droits etc...).
C'était vraiment pour le bricoleur du dimanche sur de petits projets.

Mon GitHubOuvrir dans une nouvelle fenetre | Founder & CEO of [website I made over the weekend]

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 28/03/2024 14:49:14 | Généré en 3.02ms | Contacts | Mentions légales |