I was involved in a project were a lot of Cloud Services in the classic mode, so I decided to know further what was involved in Cloud Services in order to know which dependencies has in the ARM format:
Cloud services were the very first Microsoft Azure Platform as a service (PaaS) offering. They provide the ability to deploy web apps (web roles) and background services (worker roles) onto Azure virtual machines. Azure handles all of the initialization of the servers, deployment to them, Windows Updates, etc.
Web Roles are used to host web applications. Worker Roles are used to host background services, similar to Windows Services.
Web Roles: These are the pieces of the app basically “doing something visible to the user”. You would for instance put your web app here, be it static HTML or dynamic content involving JavaScript. In other words, host web applications
Worker Roles: Where you’ll need some background work to happen as well. For example, to host background services, similar to Windows Services.
The cloud service setup has worked out for a lot of scenarios over the years. There are knobs you can tweak so the service you deploy scale up or out, is highly available, geographically redundant, etc. All those things that can be hard and expensive to solve in your own datacenter.
But, currently, Cloud Services are not being possible to be created, for example, if you migrate from your EA to a new CSP subscription, you only will be able to manage the existing Cloud Services, but no to create new ones, so your question would be: What can I do then? You will need to rearchitec (this is something that is it not covered here) your Cloud Services with the following:
Azure App Services (replacing Web Roles): If you have a cloud service consisting mostly of Web Roles you can possibly migrate to Azure App Services, or more specifically Web Apps.
Azure runs App Services on a fully managed set of virtual machines in either a dedicated or shared mode, based on your App Service Plan. There are 4 types of App Services:
- Web App – used for hosting websites and web applications (previously Azure Websites)
- API App – used for hosting the RESTful APIs
- Logic App – used for business process automation, system integration and sharing data across clouds
- Mobile App – used for hosting mobile app back ends (previously delivered by Azure Mobile services)
As you can imagine, depending of the use, you’ll be able to choose from different Plan Services.
Azure App Services + WebJobs (replacing Web & Worker Roles): Azure WebJobs provide an easy way to run background processes. These can be configured to run on a schedule, on demand or continuously. You may have to scale your App Service Plan up or out a little to handle the extra resources utilized by the WebJobs.
AS you can see, in Azure you will have a lot of options, the only thing is that you have to be aware of which parts you need in terms of your needs.