I use the architecture our architects suggest. I have a hand it the decision, but they make all the tough decisions. Its definitely n-tier as our projects are usually quite large, spanning a dozen servers or more. With that many servers involved (SQL Server, File Server, Web server, web services only servers, Application servers, etc.) it requires a lot more knowledge than I want to spend time learning. From my point of view, I reccommend where the web servers and application servers "live" in the architecture but thats about all.
From that, I must deal with the other issues such as creating a development environment that we can use for developers, QA testers (2 levels), and demos. Its quite a bit to consider since you cant necessarily rely on "convential" means to read application settings, such as the registry. For example, if you have one development application server hosting multiple COM+ components (VB6) but you need to have them point to two different SQL Servers for two sets of developers, you cant really read the registry to get a connection string. Or, if you use trusted connections and set the components identity then app server must be on the same domain as the SQL Server, which isnt always the case.
Plus, our current architecture supports a customized version of MSs auto-download feature. We built our own version checking and dependency checker to auto-download assemblies as needed AND only if you have access (access being defined by Active Directory, which holds some application data and permissions).
If youre a smaller company or an individual then its best to use a simplified 3 tier architecture. For testing purposes, Id suggest 4 servers, if possible: SQL Server, Application Server (COM+ components or .NET components) and 2 Web Servers if you are going to be hosting ASP or ASP.NET pages. Why two? You want some experience with NOT relying on the session since session information isnt shared between web servers so youll have to come up with a custom solution, such as storing session information in SQL Server.
If youre a larger company or developing a solution for one, its good to have someone like Microsoft come in and reccommend the "proper" way to set up servers and development machines. Youd be surprised by how much you can learn from 2 or 3 official Microsoft staff helping you out for a week. Expensive, but well worth it
-nerseus