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: 
Reposted from ServerFault, "[Why add additional application pools in IIS?](https://serverfault.com/questions/2106/why-add-additional-application-pools-in-iis)"

* AppPools can run as different identities, so you can restrict permissions this way.
* You can assign a different identity to each app pool so that when you run task manager, you know which w3wp.exe is which.
* You can recycle/restart one app pool without affecting the sites that are running in different app pools.
* If you have a website that has a memory leak or generally misbehaves, you can place it in an app pool so it doesn't affect the other web sites
* If you have a website that is very CPU-intensive (like resizing photos, for instance), you can place it in its own app pool and throttle its CPU utilization
* If you have multiple websites that each have their own SQL database, you can use active directory authentication instead of storing usernames/passwords in web.config.
If your apps are stable and don't use much memory, then I would say that it's fine to put them in the same app pool. App Pools give you isolation between your applications.