When a command is inside a queue, the producing application has completed its work, but the command processing has not yet started. An independent process or role, besides the frontend web role, has to receive the commands and process them.
A worker role is a noninteractive process that works in the background and perhaps also far from the user, continuously receiving messages and processing them. Technically speaking, from an operating system and Azure point of view, it is just a process, and for .NET it is just a console application. What distinguishes a worker from normal processes is the nonfunctional aspects that need to be considered:
Deployment means the description of the environment around the worker that handles its lifetime, from creation to completion, through execution. The worker needs resources and configuration, and the deployment needs to give all the information necessary to the process. This models our "console...