Five quick tips for reducing costs in AzureMay 12, 2020
Microsoft Azure provides a powerful set of services to help developers build and deploy their apps. Azure makes it so easy to use that you can quickly let your Azure hosting costs get out of control.
Let’s sure this will not happen with this five reducing costs tips!
1. Get serious about a tagging
When managing a large Azure infrastructure, tracking which resource can be safely removed could be quite problematic. It’s best to implement your asset management strategy from the very beginning, but don’t worry – it’s never too late to start. For each resource you create, you should:
- Add tags to help categorize resources based on how they are used (ie: dev, prod, test)
- Set ExpirationDate tag with value and/or revisit dates for each resource
- Identify and tag a single person who is responsible for resource (an “business owner” of the resource) and mail the tagged person to see if the resource is still needed when ExpirationDate will occur
To get more knowledge about azure tagging, check Building your Azure tag system blog post and download my Azure Resource Tagging Template.
2. Optimize deployment of virtual machines
You can reduce costs by using each virtual machine (VM) as close as possible to its full capacity. For most users, there’s a need for the machine to be constantly running at low capacity but available to process at high capacity for short periods of time.
- Use Azure Advisor to identify virtual machines with low CPU and network utilization. Since instance sizes in Azure double with each tier, if you notice that usage statistics for CPU and RAM on a given VM instance are below 50% for a sustained period, you can confidently downsize that instance without hindering performance.
- Consider using a The B-Series family of virtual machines. They are specifically designed for predictable, always on, low-capacity workloads that sometimes need to handle high-capacity spikes. This can give you savings in the range of 30% compared to equivalent D-series VMs.
3. Delete unused disks and identify data that can be archived
Since Azure doesn’t automatically delete associated data when you remove a VM, overtime it’s easy to end up paying for more and more disks that are no longer needed. The Azure portal makes it easy to delete those disks, but you’ll want to establish regular intervals to check contents and remove when safe.
4. Use PaaS instead of IaaS
Infrastructure as a service (IaaS) are online services that provide high-level APIs used to dereference various low-level details of underlying network infrastructure like physical computing resources, location, data partitioning, scaling, security, backup etc.
Using IaaS is a first step when moving to Azure, but it is not the cheapest one.
Platform as a service (PaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.
Using PaaS could be cheaper then IaaS.
As the example consider creating a database server for small web application. In Iaas approach you need to create virtual machine, virtual disks, install SQL Server and pay for all created resources the licence. In Paas approach you just create a SQL Database resource and you are charged once with lower price!
5. Be smart about pricing plans
You can save a lot of money (like 50%!) by committing to a three-year plan, but you’ll need to be smart about calculating the resources you need. Use Azure pricing calculator to estimate costs and consider Azure Reservations.
For example, pre-paying for VM or SQL Database compute capacity can save up to 70%. If you have some low priority workloads, another option is using Batch to secure lower rates offered by Azure when they have unused bandwidth.
This was Five quick tips for reducting costs in Azure to make sure, you are cost effective. I would be happy to hear your comments, opinions and new ideas. Let’s extend this list as much as possible!