TheCloudTheory / arm-estimator

ACE (Azure Cost Estimator) - automated cost estimations for ARM Templates, Bicep and Terraform
MIT License
166 stars 13 forks source link
arm-templates azure bicep cost-estimation finops terraform

ACE (Azure Cost Estimator) GitHub all releases

arm-estimator-demo Automated cost estimation of your Azure infrastructure made easy. Works with ARM Templates, Bicep and Terraform.

Demo

asciicast

Philosophy

As adoption of cloud services progresses, understanding how cloud billing works becomes more and more critical for keeping everything under control. Most of the time initial infrastructure cost estimation is done only during design phase and gets neglected as development progresses. Many development teams don't have enough understanding how to calculate impact of their changes and find difficult to get an immediate feedback whether they're still withing acceptable level of money spent for their services.

Infrastructure-as-Code (IaC) makes things even more difficult - it solves the problem of cloud infrastructure treated as a separate development stream, but doesn't give you control over cost of components under your control.

ACE follows a concept of running cost as architecture fitness function. You can make it an integral part of your CICD pipeline and quickly gather information of how much you're going to spend.

Main features

Documentation

Check wiki for detailed information about installation, usage and available features

GitHub Action

ACE comes with a dedicated GitHub Action for your worflows for easy integration. See this repository for more information.

Services support

Services not listed are considered TBD. Below list represents the latest commit available, which isn't always aligned with the most recent release. Service Support level Terraform support More information
Active Directory B2C Not Supported Not Supported -
Active Directory Domain Services Not Supported Not Supported -
Advanced Data Security Not Supported Not Supported -
Advanced Threat Protection Not Supported Not Supported -
AKS Stable Supported Supports only VMSS agent pools
APIM Stable Supported -
App Configuration Stable Supported -
Application Gateway Stable Supported -
Application Insights Stable Supported Supports classic mode, doesn't support Enteprise Nodes and Multi-step Web Test
Analysis Services Stable Supported -
ASR Stable Supported Doesn't support recovery to customer-owned sites
Automation Account Stable Supported Supports Process Automation only
Azure App Service Stable Supported Supports Azure App Service Plans (without Isolated tiers) and Azure Functions (Consumption / Premium / App Service Plan)
Azure Firewall Stable Not Supported -
Availability Set Stable Not Supported -
Backup Stable Not Supported -
Bastion Stable Not Supported -
Bot Service Stable Not Supported -
Chaos Studio Stable Not Supported -
Cognitive Search In development Not Supported Doesn't support Document Cracking / Semantic Search / Custom Entity Skills Text Records
Confidential Ledger Stable Not Supported -
Container Apps Stable Not Supported -
Container Registry Stable Supported -
Cosmos DB In development Not Supported Supports only single-region writes with manual throughput provisioning
Data Factory In Development Not Supported Doesn't support IR and SSIS
Event Hub Stable Not Supported -
Event Grid Stable Not Supported -
Health Bot Stable Not Supported -
Key Vault Stable Not Supported Doesn't support Azure Dedicated HSM
Log Analytics In development Not Supported Estimations doesn't include commitment tiers & logs retention
Logic Apps In development Not Supported Doesn't support ISE scale units
Maria DB Stable Not Supported -
Monitor In development Not Supported Alerts estimations doesn't include frequency / metrics count
Network Interface Stable Not Supported -
Network Security Group Stable Not Supported -
PostgreSQL Stable Not Supported Doesn't include Hyperscale being part of Cosmos DB
Public IP Address Stable Not Supported -
Public IP Address Prefixes Stable Not Supported -
Redis Stable Not Supported -
Sentinel In development Not Supported Estimations doesn't include commitment tiers
Service Bus Stable Not Supported Doesn't support Hybrid Connections and WCF Relay
SignalR Stable Not Supported -
SQL Database Stable Not Supported -
SQL Server Elastic Pools Stable Not Supported -
Static Web App Stable Not Supported -
Storage Account In development Not Supported Supports only StorageV2 (without File Service & Data Lake Storage)
Stream Analytics Stable Not Supported Stream Analytics on Edge requires separate estimation
Time Series Stable Not Supported -
Virtual Machine Stable Not Supported Supports Ax, Bx and Dx VM families
VMSS Stable Not Supported Supports the same VM families as Virtual Machines
Virtual Network Stable Supported -
VPN Gateway Stable Not Supported -

Contributions

Contributions are more than welcome!

Acknowledgements