In one of my recent posts, we’ve seen how very cost-effective could be implementing Microsoft Dynamics NAV on Azure. Regarding costs, Azure SQL is very cheap and the architecture part that can affect more your budget is normally the service tier virtual machine (one or more, depending on your configuration).
When provisioning a virtual machine in Azure, the provisioned resources on the VM Resource Group are not only the virtual machine itself, but many more, for example:
- Storage account
- Virtual network
- Network interface
- Public IP address
- Network security group
An Azure VM is composed by all these IaaS services. Regarding costs (the hot topic for all when I propose a cloud-based solution :D), the main part comes from the virtual machine itself and it depens on the specific VM instance size you have (CPU cores, memory and so on).
The second part of the costs comes from the storage account that hosts the VM’s image file (.vhd), more storage you have and more you pay.
The third part of the VM costs comes from bandwidth traffic: in Azure, you pay for the outbound traffic (from Azure to others), the inbound traffic is free. Normally the impact of these costs are very few.
After that, there are all the other resources that have a very very few cost (like public IP) or no cost at all (like network security group, network interface and virtual network).
To reduce costs, remember that if you logoff the VM from your RDP, the VM is always running! You can shutdown your Virtual Machine directly from the Azure Portal by clicking the Stop button. The VM status will then become “Stopped (Deallocated)” and in this way resources will be deallocated (CPU and memory) and you’ll pay ONLY for the associated storage account:
Remember that in this way Azure will deallocate also the Dynamic IP address of your VM, so when you need to restart the VM you need to use another IP address to connect. If you want to have a static IP address, you need to configure it from the Azure Portal:
The VM shutdown can also be done via Powershell or via Azure CLI.
You can also set an automatic shutdown in order to automatically stop and deallocate your VM when you want. This can be done in the Azure portal via the Virtual Machine blade, Auto-shutdown section:
To monitor your VM costs from the Azure Portal, you can select your Resource Group and click on Resource costs or directly select your Subscription and see the costs overview:
If I have to represent a cost percentage when deploying an Azure VM for your NAV service tier, this could be the impact: