Sécurité:
En plus de la réponse de Sander, j'ajouterais qu'à certains niveaux de conformité PCI, c'est une exigence :
Serveurs Web et de base de données distincts CHD est stocké en masse dans la base de données, ce qui en fait une cible de grande valeur pour un attaquant. Un serveur de base de données séparé signifie que l'accès peut être strictement contrôlé (exposition limitée). Requis par la section 1 du PCI DSS.
Source: http://www.focusonpci.com/site/index.php/PCI-101/technical-requirements.html
En séparant les tâches Web et de base de données, vous limitez votre exposition. En règle générale, votre base de données se trouve dans un segment privé de votre réseau et inaccessible publiquement.
Une connexion VPN statique est également suggérée, en PCI, entre votre web / db et la détection d'intrusion est fortement suggérée sur votre équipement réseau. En cas de compromis, la base de données sera isolée et la connexion VPN interrompue de telle sorte que, même si votre application et votre clé de chiffrement sont désormais compromises, l'accès au magasin de données a été verrouillé et inaccessible.
Haute disponibilité / reprise après sinistre:
Sander est sur le point ici. Allez le voter. J'ajouterais que même dans le cas d'une petite tâche de maintenance comme la sauvegarde d'un système de fichiers ou un vidage de base de données, votre base de données sera, au mieux, limitée en lecture seule pendant un certain temps. Dans des cas extrêmes, j'ai vu des délais d'attente de verrouillage et des files d'attente de processus se remplir que toutes les connexions disponibles sont mises en file d'attente ou abandonnées. Le site "tombe en panne", effectivement.
Vous pouvez atténuer cela en séparant votre base de données et en planifiant votre serveur Web pour placer le site en mode maintenance pendant ces fenêtres de sauvegarde sans aucune conséquence pour le système de fichiers du serveur Web.