3 KEY Questions! How I choose which services to use in Azure?
Microsoft Azure is huge and changes fast! I am overwhelmed by the services and capabilities offered in Azure and by how quickly Microsoft releases new services and features. And the list continues to grow rapidly! It is sometimes hard to know which services to use for a given scenario.
3 Key High-Level Questions:
- How much control do I need?
- Where do I need my app to run?
- What usage model do I need?
Once you got the answers to these questions, then narrow down the services from which to choose.
And then, look deeper into the services to see which one best matches the requirements of my application, including functionality as well as availability, performance, and costs.
Try to figure out the degree of control customer need over the operating system, load balancers, infrastructure, application scaling, and so on. This decides the category of services that you will be selecting from.
On the control side of the spectrum is Infrastructure-as-a-service (IaaS) category, which includes services like Azure Virtual Machines and Azure Container Instances.
IaaS give a lot of control over the operating system and the infrastructure that runs your application. But with control comes great responsibility.
For instance, if you control the operating system, you are responsible to update it and make sure that it is secure.
In Platform-as-a-service (PaaS) which contains services like Azure App Service Web Apps, you don’t have control over the operating system that your application runs on, nor are you responsible for it. You do have control over scaling your application and your application configuration.
The next abstraction level is Logic as a service (LaaS), also known as serverless. This category contains services like Azure Functions and Azure Logic Apps. Here, Azure takes care of the underlying infrastructure for you, including scaling your app.
The highest level of abstraction is Software as a service (SaaS), which offers the least amount of control and the most amount of time that you can focus on working on business value. An example of Azure SaaS is Azure Cognitive Services, which are APIs that you just call from your application.
You might think that the answer would be: I need to run my application in Azure. But the answer may not be that simple.
For example, maybe I do want parts of my application to run in the Azure public cloud but I want to run other parts in Azure Government or the Azure China cloud or even on-premises using Azure Stack.
Once customer answered 2nd question, you could narrow down the choice of Azure services even further.
Or it could be that customer want to be able run my application in Azure and on-premises in a Hybrid way (if rules and regulations change), on my local development computer, or even in public clouds from other vendors.
How customers app will be used guides you to the answer to the third and final question. what usage model do I need?
Some applications are in use all the time, like a website. This means that they are always running and that you pay for them all month.
Other applications are only in use occasionally, like a background job that runs once every hour, or an API that handles order cancellations (called a few times a day). Then select a service from the logic-as-a-service (or serverless) category. These services only run when you need them, and you only pay for them when they run.
This article is inspired from Azure Friday (by Scott Hanselman, Rob Caron) How I choose which services to use in Azure. Azure MVP Barry Luijbregts chats with Scott Hanselman about how he goes about selecting the right services in Azure to run his applications and store his data. Please have a look at the video here - Link
?
Please have a look at 5 TOP Reasons why you should consider Azure for your next cloud hosted project here - LINK
Please have a look at 3 WAYS to Save money on Azure here - LINK
Thanks
Susanth