The truth is that it can be difficult to choose the right services to run on the Azure cloud considering that there are so many services available (over 600 services) on the Azure cloud to choose from. So in today’s article, I will be guiding you through the questions you should ask that will better help you to choose services on the Azure cloud.
When choosing a cloud service, knowing which questions to ask yourself or your customers can help. So, I will run you through these helpful questions.
Asking the Right Questions
Knowing the right questions to ask yourself or your customer can help you narrow down the service to choose from on the Azure public cloud. There questions include
- How much control do you need?
- Where do I want my Application to run?
- What usage model do you need?
- Which functionality do you need?
Providing answers to the questions above can help you narrow-down the services you can choose from. Now let’s take a closer look at each of the questions.
How much control so you need?
In my last week’s article on “Cloud Computing Service Models”, I explained the different cloud models. You can learn more about it here: https://kazeem.com.ng/index.php/2020/01/15/cloud-computing-service-models/
Talking about control, there is no doubt that when you consume cloud services, you lose some control as compared to running those services on-premises. Infrastructure as a Service (IaaS) gives you the most control in the cloud followed by Platform as a Service (PaaS) and the Software as a Service (SaaS). You can see the difference between this models in my last article https://kazeem.com.ng/index.php/2020/01/15/cloud-computing-service-models/
However, the analogy I want to use to help you understand the difference is “Building your own house vs. buying your own house vs. renting a house”. When you look at this analogy, each has a varied level of control and this is similar to how the different cloud models function.
Where do I want my Application to run?
This would be another good question to ask when you are considering which the best services to choose from on Azure is. The option available with regards to where you want your application to run include:
- Azure Public cloud
What Usage Model do I need?
If you know that your application will be consumed all the time, then you will need to look for services that falls in the category on ‘Always-On’. Example of this ‘Always-On’ service on Azure would be “Azure App Service”. If however, you feel that you will not need to use the services all the time, then you will need to look at categories of services satisfy this need. Example of this would be “Serverless Computing”.
The Serverless category of services only run on a “Need-to” or scheduled basis. With Serverless, you are going to be charged per execution.
Serverless Computing or ”Logic-as-a-Service” is another category of cloud services which I did not mention in my last article. Serverless computing allows us to build and run our applications and services without servers. This mean that when you build a serverless application, you can take your mind off infrastructure concerns. You can read more about Serverless computing here: https://azure.microsoft.com/en-us/overview/serverless-computing/
Which functionality do I need?
My last question to ask when considering how to choose an Azure cloud service is functionality. Let us try to connect the dots here with an example:
I need an app with the following requirements:
- Azure must run on Azure Cloud
- App will run every 1 hour
Identifying these requirements would help us narrow down our options in terms of available Azure services to choose from. Based on the above requirements, there are services on Azure that can satisfy our need such as:
- Azure Virtual Machine
- Container Instances
- Mobile App
- Logic App
- Web App
- Azure Functions
Since the requirement states that the application does not have to be “Always-On”, this would mean that I don’t have to pay the provider 24 hour for running this application. Hence, when looking at my options, I would not consider the Infrastructure as a Service category of services because with IaaS, I would have to pay for resources I don’t need.
The Platform as a Service options such as Mobile App, Web App, would also not my best choice because PaaS services require scaling instructions. Even though scaling instructions can be configured manually, but Azure would not automatically scale it for me.
Serverless services will be our best option because it allows us to worry less about infrastructure and unlike PaaS, you pay per consumption. Example of a Microsoft Azure Serverless service include: Azure Logic Apps and Azure Functions.
You can learn more about Azure services here: https://azure.microsoft.com/services
In summary, when there is a need for us to choose a cloud service on Azure, we should ensure that we are choosing a service that meets our business requirements and needs and not necessarily choosing services based on what we are familiar or comfortable with.