Mise en scène de la base de données de bonnes pratiques
Je suis sur le point de déployer à la production d'une assez complexe site et pour la première fois ont besoin d'un environnement de test où je peux faire des tests dans un environnement plus réaliste, en particulier en ce qui concerne certains services externes qui ne peut pas être exécutée localement.
Mon plan général est de développer des & test d'abord localement, pousser modifications simples (petites corrections de bugs, HTML/CSS, JS, etc) directement à la production, et pour les plus grands changements, appuyez d'abord à la mise en place de sous-domaine pour un examen complet puis à la production.
Je ne pense pas que j'ai besoin de garder la mise en scène et de la production des bases de données de synchronisation (occasionnel manuel de la mise à jour serait de le faire) mais je me demandais s'il y a des généraux de bonnes pratiques en maintenant un environnement de test par rapport à un environnement de production, en particulier quand il s'agit de bases de données.
Générale idées/avis/expérience serait appréciée.
Mise à JOUR:
Merci pour les commentaires, j'ai l'essentiel. Je suppose qu'il vaut la peine de prendre le temps de réfléchir à ce sujet. Accepté la réponse.
Vous devez vous connecter pour publier un commentaire.
En contournant mise en scène et de faire des changements dans la production est une recette pour un désastre et de la désuétude. Que vous faites de ces modifications à la définition de mineur commence à changer. Deuxièmement, comme les deux environnements de départ (c'est à dire mise en scène ne correspond plus à la production), la pause et vous perdez la confiance dans la mise en scène de l'environnement. Pour obtenir les la plupart à partir d'un serveur de test, vous devriez être en train de faire des déploiements automatisés à elle, entièrement tests et seulement ensuite déployer (automatique) à la production (peu importe comment petit changement). Vous devez également vous assurer de la complète de l'environnement sont aussi semblables que possible, et de rester de cette façon. Cela inclut naturellement la DB. J'ai l'habitude de configuration d'une synchronisation quotidienne ou horaire (en fonction de combien de fois je suis la construction du site ou de l'application) afin de maintenir la DB, et souvent exécuter cette partie du processus de construction.
Que quelqu'un développe un logiciel outil qui aide à chaque étape du processus de déploiement, je peux dire que la meilleure pratique quand il s'agit de mise en scène des environnements est à miroir de votre environnement de production exactement. Cela comprend l'identique d'un schéma de base de données (les données ne sont pas pertinentes, parfois de sauvegarde/d'actualisation est très bien), la même version de système d'exploitation, mise à jour des service packs, des paramètres de serveur web, etc.
Dans un monde idéal, fonctionnel ou d'acceptation de l'utilisateur de test n'a pas besoin d'être fait dans la mise en scène, car le but d'une mise en scène de l'environnement est uniquement pour tester votre déploiement en production. Dans la pratique toutefois, il est parfois acceptable pour votre environnement de test pour être à votre fonctionnelles ou UA environnement de test.
Chaque fois que vous modifiez un paramètre ou de modifier la configuration de votre serveur de production, vous devez modifier le paramètre sur le serveur de test, cela permettra d'assurer que si vous pouvez déployer votre application à la mise en scène, il va, avec une grande probabilité, de déployer en production sans erreur.