Join Tiberiu Covaci for an in-depth discussion in this video IIS introduction, part of Deploying ASP.NET Applications.
- [Instructor] Before we get started with IIS, let's talk a little bit about IIS Architecture. IIS version seven was introduced together with Windows Server 2008. And one of a novelty was that compared with the previous versions was the fact that the configuration and the loading of IIS itself was separated from the communication protocol. So Windows Activation Service is a part of IIS that runs as a service inside svchost.exe.
Another service is WWW Service which is responsible for the communication with the application fully itself. So everything starts by Windows Activation Service, reading the configuration from the configuration database. For every single port that we need to listen to, it well create one HTTP Listener. Then for every application pool that we have created, it will create one instance of WWW Service that will run that particular application pool.
So now when a Client comes along and wants to send their request, the HTTP Listener will pick up that particular request. If there is already an application pool up and running, it will send that request straight to the application pool. If for some reason the application pool is not running and that reason might be either that application was killed or that the application was shut down after a time of inactivity. The HTTP Listener will place the request on the Request Queue. Once the request is in the Request Queue, then the Windows Activation Service will recreate that application pool.
And that application pool then, it will pick up the request from the Request Queue. Then the request would be many, and then at the end, a response will be sent back to the HTTP Listener, and the HTTP Listener will send back the response to the client. Sometimes it might happens that we configure our IIS sever or our application to cache certain requests. So that's when the Cache come into place. There isn't a cache that's placed at the Kernal Mode and it's not part of the IIS, it's because these would be much quicker so you don't have to switch between Kernal Mode and User Mode in order to be able to serve Cached Requests.
One key piece of technology that we mentioned, it's IIS and IIS stands for Internet Information Services. Which is nothing more then just a web server that is used to host all kind of web applications, including ASP.NET applications. So let's see how do we do IIS installation. And in order to do that, we're going to look at how do you manually install IIS on a client OS. Then how do you manually install it on a server OS. Then we are going to look at two kind of automations.
One is with PowerShell and the second one would be with PowerShell DSC.
- Choosing a deployment strategy
- Installing IIS manually and automatically with PowerShell
- Deploying to IIS with Visual Studio
- Deploying to Azure
- Deploying to Docker