Web Role vs Worker Role in Azure
Recently I was researching the difference between the Web Role vs the Worker Role in Azure, so I thought it would be good idea to begin my blog. So before explaining the difference between Web Role and Worker Role, let’s review what is Cloud Service Role, and its two varieties: Web Role and Worker Role actually are in Azure.
Azure Cloud Service Role
In Azure, a Cloud Service Role is a collection of managed, Platform-as-a-Service vms that work together to perform common tasks. Cloud Service Roles are managed by Azure fabric controller and provide the ultimate combination of scalability, control, and customization
Web Role is a Cloud Service role in Azure that is configured and customized to run web applications developed on programming languages / technologies that are supported by Internet Information Services (IIS)
Worker Role is any role in Azure that runs applications and services level tasks, which generally do not require IIS. In Worker Roles, IIS is not installed by default. They are mainly used to perform supporting background processes along with Web Roles and do tasks such as automatically compressing uploaded images, run scripts when something changes in database, get new messages from queue and process and more.
Differences between Web and Worker Roles
The main difference between the two is that a Web Role support and runs Internet Information Services (IIS), while an instance of a Worker Role does not. As being deployed and delivered through Azure Service Platform, both can be managed in the same way and can be deployed on a similar Azure Instance. In most scenarios, Web Role and Worker Role instance work together and are often used by an application simultaneously.
For example, a web role instance might accept requests from users, then pass them to a worker role instance for processing.