Architecture test/prod

8 réponses
AuteurMessage

ddpetit |
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 11/12/2021 à 16:23

Bonjour à tous,

(depuis peu), je cherche à me professionnaliser au niveau du développement web, jusqu'à présent je déployais en live les mises à jour de code sur le serveur. J'aimerais basculer avec un environnement de test avant de balancer en production. J'aimerais savoir quelle architecture vous avez de votre côté pour gérer l'environnement de dev et l'environnement de prod ?

Pour info, j'utilise GIT, MYSQL8, PHP7, NGINX

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 13/12/2021 à 13:58

Salut,

C'est un environnement de test sur ta prod, ou en local que tu cherches ?

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 13/12/2021 à 17:25

Je cherche à faire les choses bien pour éviter une erreur à terme qui pourrait impacter l'activité.

Je n'ai pas de solution actuellement, donc ça peut être soit en local, soit éventuellement sur un serveur de dev, mais pas de test sur le serveur de prod, j'ai trop peur de faire une connerie

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 13/12/2021 à 21:04

Ok, actuellement tu dev en prod direct ?

Du coup, le plus simple pour avoir un environnement de dev, c'est Docker, rapide, bonne perf, énorme communauté, et vu ton stack, tu devrais trouver des container prêt à l'emploi, c'est une base pour bcp. T'auras qu'une commande à lancer pour lancer ton serveur, et une pour le couper (depuis peu, tu peux mm le mettre en pause pour éviter de prendre des ressources, notamment via "docker desktop").

Accessoirement, docker permet aussi de faire de la prod avec le même fichier de config que celui que tu utilises en local (du moins en théorie), ce qui t'assures d'avoir le même comportement où que tu sois.

Perso j'utilise docker-compose + des commandes perso pour lancer rapidement mes server, les rebuild, ou les restart (un restart ne prend même pas 5 sec).

ça a aussi l'avantage de pouvoir installer des version de PHP différentes très facilement et en très peu de temps (tu as des container avec ttes les version PHP)

francois10 | Francois
Membre

 

Inscrit le : 14/05/2006

# Le 15/12/2021 à 16:52

Chez nous l'approche dépend des projets.

Sur le core business (CA > 100me) nous avons une approche de niveau bancaire : dev / UAT iso-prod / prod
Les process sont strictes et garantissent que tout se passe bien avec des possibilités de rollback très rapide. C'est safe mais super pénible au quotidien car impact lourdement la productivité.

Sur les BU < 10me, c'est freestyle. Souvent dev et prod uniquement avec du déploiement continue.

PyRoFlo | Florent
Modérateur

Photo de PyRoFlo

Inscrit le : 09/05/2005

# Le 15/12/2021 à 21:14

Nous c'est dév local + intégration continue + staging + préprod + prod, l'étape staging est réservée aux apps les plus sensibles.
Les env staging et préprod sont isolés, la prod aussi bien sûr ^^
Les déploiements sur staging et + sont automatisés et pour certaines apps on fait du déploiement continue (enfin presque, il nous suffit de pousser un tag).

Par contre gros warning sur Docker / Docker Compose : c'est super pour avoir des env de dév et de CI similaires, par contre avoir sa prod sous Docker c'est un autre monde et ça demande un tas d'outils en plus pour gérer tout ça. De mon point de vue il y a très peu de projets qui en ont besoin mais bon... c'est à la mode

Pas vrai @Bool ? :p

Feu d'artifice ParisOuvrir dans une nouvelle fenetre

Golden | Benoit
Membre

 

Inscrit le : 25/02/2013

# Le 15/12/2021 à 21:28

Salut,
Ici pour la gestion d'une plateforme Internet c'est développement à l'ancienne avec xampp en local pour le dev et les tests (Eclipse PDT et Xdebug).
Versioning sous Git comme toi + copie du code sur un NAS (Synology Drive) en synchro.
En prod, backup sur plusieurs jours de la BDD et du code de production, synchro de deux serveurs en MariaDb et Rsync sous Debian.
Bref rien de bien innovant désolé mais je n'ai pas besoin de plus.

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 16/12/2021 à 00:37

PyRoFlo a dit :
Par contre gros warning sur Docker / Docker Compose : c'est super pour avoir des env de dév et de CI similaires, par contre avoir sa prod sous Docker c'est un autre monde et ça demande un tas d'outils en plus pour gérer tout ça. De mon point de vue il y a très peu de projets qui en ont besoin mais bon... c'est à la mode


Oui, c'est pour ça que je disais en théorie. Pour un site secondaire, provisoire, ou pour lancer des tests, why not. Au delà, j'imagine que ça ajoute une complexité inutile, mais c'est plus mon domaine ;)

Intégration continu nécessite d'avoir des tests unitaires au taquet, personnellement, je n'ai pas le temps malheureusement (et c'est un vrai problème pour la collaboration, mais c'est juste impossible à ajouter au calendrier ;)) (d'ailleurs, si vous avez un bon plan pour un dev PHP/JS/MariaDb XP++++ (bon salaire/télétravail) n'hésitez pas)

ddpetit | Damien
Modérateur

Photo de ddpetit

Inscrit le : 03/05/2006

# Le 30/12/2021 à 07:46

Hello tout le monde, merci pour vos réponses, c'est très intéressant

Je vais fouiller sur le CD et sur Docker, ça peut être deux solutions intéressantes

Loccasion.com - Vente de voitures d'occasionOuvrir dans une nouvelle fenetre - Mandataire AutoOuvrir dans une nouvelle fenetre

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/01/2022 9:13:17 | Généré en 12.43ms | Contacts | Mentions légales |