Question: I've read recommendations that we should create separate application pools for each asp.net application on our Win2008 server. 

We have about 20 apps that would be on the same server. I know this would create 20 separate worker processes which seems very wasteful.

Is it good practice to create separate application pools for each application?

Answer: 
This really depends on the applications, your security model, and how much you trust the applications.

Here are a few things that I always tell people to consider when working with application pools.

* Use separate application pools if each application needs different access to system resources. (Can use multiple process accounts)
* If an application is a resource hog, mission critical, or an "unknown", it is best to put it in to its own pool to isolate it from the rest of the system
We work as outside contractors for a large corporate client. We are not on-site, so we do not have connectivity to all of their systems. Sometimes during development it is necessary for me to debug an application directly on their development servers. To do that I must be able to attach to w3wp process. When I attach and start debugging, entire process stalls, which affects all of the applications that are in the same process/application pool.
By creating a dedicated application pool and moving my development there, I can easily debug without making anyone's life miserable.