Microsoft Azure Cloud Services are (in addition to Web Apps and Virtual Machines) one of three options for executing applications in the cloud. Cloud Services focus very strongly on highly available, highly scalable, multilayered Web applications that benefit most from the flexible resource provision of a public cloud. These applications can be divided into components, called "roles," that can be scaled independently of one another. Microsoft Azure handles the management of the virtual machines required to execute the roles. This includes upgrades to guest operating systems, patching, and failover (failed components are automatically replaced). Unlike with Web sites, developers have full administrative access to the virtual machines in order to, for example, install additional software in the individual instances. Remote Desktop connections for administration are also supported. Roles can be scaled independently of one another (addition or removal of instances); this operation can also be automated (depending on various load parameters) using the auto-scaling function.