Toutes les architectures sont bonnes aussi longtemps qu'ils répondent aux exigences et faire le travail. En outre, Web Server -> DB Server est généralement mieux car chaque nouveau niveau ralentit le système. En général, un appel entre les niveaux est 100 fois plus lent qu'un appel entre des couches logiques dans un processus ou entre des processus sur la même machine. Mais il y a des cas où un niveau distinct est requis tel que Application Server de votre diagramme. Par exemple, sous haute pression, Serveur Web -> Serveur d'applications -> DB Server peut être meilleur du point de vue de l'évolutivité lorsque Web Server reçoit uniquement des requêtes et des files d'attente de logique métier à traiter de manière asynchrone sur le serveur d'applications. Dans ce cas, on peut ajouter autant de serveurs d'applications qu'il le souhaite. Cette architecture est très populaire dans le monde CQRS et Event Sourcing. Mais généralement, les gens ne font que trop compliquer les choses et choisir une technologie à utiliser juste parce que c'est un tout nouveau et sophistiqué. Pour résumer: un nouveau niveau est un mal mais parfois nécessaire.