I've used IIS here and there for various applications, mostly as a developer that doesn't have to interact with it much. I've never understood the complete distinction between an IIS "Website" and an Application Pool. With this new project I am working on I am even more confused since we have what seems to be layers of App Pools:
Our IIS panel:
LOCALHOST ^ Application Pools > Sites > WebsiteX (Main App Pool) > dev (Dev App Pool, static files) ^ ServiceA ]\ ^ ServiceB ] Service App Pool ^ ServiceC ]/
When deploying our application, or parts thereof, which services need to be stopped? I noticed if I stop the Service App Pool I can update the services (if I don't, I get file in use errors). Do I need to stop the Dev App Pool when updating static files? Do I even need the Dev App Pool, or the Main App Pool?
I was under the impression that App Pools are tied to backend applications only. That is, that they aren't needed for serving static files.
I noticed that I can also stop the entire WebsiteX and am able to deploy new releases, without stopping any App Pools. What does that do? Just close connections but leave any applications running?