Using Azure services frees the developer from having to provision the machines manually, provides a well-defined set of features as well as enabling scalability (both vertical and horizontal) without much hassle, and without having to containerize the application (though, containerization is highly encouraged where applicable).
The following diagram summarizes the architecture of the Azure deployment: