The most common use of the cloud is for running websites and applications. When it comes to Azure, this can be done with a virtual machine or as a web app. The virtual machine route will require administration and maintenance of the server. This is fine for a single server application, but this will become tedious at scale. This is where the web apps come in.
Web apps on Azure are a managed environment that does not provide access to the admin interfaces of the platform it is running on. Once a web app is up and running, it can be given more or less in terms of computing resources. Alternatively, to counter growth, additional instances can be started and stopped when required. Web Apps supports .NET, PHP, Node.js, Java and Python along with SQL Database and MySQL.
For applications that will need to support lots of users and automatically scale instances up and down, there is Azure Cloud Services. This is designed for scalable, reliable and low-admin applications and is perfect for Saas (Software as a Service) providers. Unlike web apps, these are VM’s which you can access but unlike the standard VM, the patching, updating, and restarts are handled by Azure.
It is clear which roles will be required for which type of application. However, for websites, unless there is a certainty, start with a web app and then proceed to migrate to cloud services should be requirement exist. Any server based role will likely need a virtual machine.