best options for a detailed azure invoice? - azure

I need to provide a detailed invoice for Azure usage to a client. I'd like to be able to provide as granular of a breakdown as possible. For example, if an Azure cost of $10 was accrued for an App Service on one day, then I'd like to be able to provide the info on why that was, if that info is available. Was the cost due to a distributed allocation of a monthly cost? Was the cost due to a specific measure of ingress/egress? etc. This is my first time trying to provide a detailed invoice like this, so I'm sure that there are others here who have had the need to do this before who can probably provide some valuable insight on this.

You can see the cost breakdown under Cost Management in Azure Portal
In the Azure portal, navigate to cost analysis for your scope. For example: Cost Management + Billing > Cost Management > Cost analysis.
Select Cost by resource.
Change the view to Table.

Related

What all logs/Metrics should be enabled as part of the Diagnostic settings enablement for Azure Storage Accounts

As part of a client requirement, I've been asked to set up central log repository for different Azure workloads including Storage accounts & databases. I see a default diagnostic setting in place but all of those are disabled. To enable these, we need to enable certain logs/metrics which will further be ingested into the workspace. Now I want to make a cost-effective & most accurate selection of the logs/metrics for storage accounts. Can someone with more profound knowledge into this domain enlighten me about it?
Similarly for Postgre SQL & Cosmos DB databases too, I have to make such decision. Please help me with this.
Please check the below points and references in detail.
Selection:
You can select the logs for the operations that you want to Get all the details you wish for.selection depends on the requirement.
A good practice is to go through your agents and monitoring settings
and see exactly what you are logging. Capture logs which are
important for your monitoring purpose.
Choose the cheapest region to create and store your log analytics
workspace.
If you have very high volume of the log ingestion then it would be
prudent to opt for azure commitment tier.
In case you need to export the log analytics data, rather than
exporting all the data, you can filter it and send only relevant log
data
Above things can significantly reduce your azure billing cost and help you to save money in using azure monitor effectively. Understand Azure Monitor and Log Analytics Pricing and Cost Optimization (azurelib.com)
Storing:
Log data can accumulate in your account over time which can increase the cost of storage.
If you need log data for only a small period of time, you can reduce
your costs by modifying the log data retention period to less days.
Use lifecycle policy to move data between access tiers.
Data ingested into Log Analytics workspace can be retained at no
additional charge(free) up to the first 31 days.
See
Design considerations and change the data retention if
not needed more than that. See Monitoring Azure Blob Storage
| Microsoft Docs.
Storage Insights is a dashboard on top of Azure Storage metrics and
logs. You can use Storage Insights to examine the transaction volume
and used capacity of all your accounts. That information can help
you decide which accounts you might want to retire.
Analyze:
Analyze the used capacity and monitor the use of the container.
you can consider reducing the total cost by exporting logs to
storage account, and then using a serverless query solution on top
of log data.See blob storage monitoring/optimize cost for infrequent
queries
Organize data into access tiers.Log Analytics has Commitment Tiers,
which can save you as much as 30 percent compared to the
Pay-As-You-Go price.
You should periodically review this information to determine if you
can reduce your charges by moving to another tier
References:
Plan and manage costs for Azure Blob Storage | Microsoft Docs
Azure Monitor Logs pricing details - Azure Monitor | Microsoft Docs
Azure Monitor Log Analytics too Expensive? Part 2 - Save Some Money
| Thomas Stringer (trstringer.com)

split costs in Azure API Management

I have two API Managements created in Azure. One for DEV and the other for PROD. Both are "Basic" Tier
I have many APIs in each of them. I want to divide cost for each "Cost Center" in my organization.
The best way to do this is by number of requests? I think yes, but I will listen recommendations
But what is the best way for this? For example, one API consumes the 80% of the total requests... So this API will pay the 80% of API Management cost. I have to divide cost manually?
Thanks
It depends on definition of a Cost Center. In order to get the number of request per API, Product or Subscription, use the report API.
I would suggest to split costs into infrastructure, development and operation categories.
Infrastructure could be based on number of requests
Development are one time costs based on complexity of the APIs. They have clear business owner=Costs center.
Operation are recurring costs you have with support and bugfixing of the APIs and the API Management. They could be derived from the development costs (for example 20%).

How can I use Azure app services to mitigate against growing retention costs?

I need to devise a pricing strategy for a SaaS product I plan to go live with, as tricky a task as that is.
Putting product 'value' and things like RoI aside (since they're off-topic here), I'm looking for some assurances against a situation whereby my competitively priced product incurs losses because of increasing blob storage/SQL costs in Azure.
In a nutshell, this web app will allow users to create tasks, to which they may attach any number of hi-res images, documents etc.
So, in order to keep this question specific and technical, what services does the Azure platform offer that helps mitigate against escalating costs of data/blob storage? Or which services lend itself to managing these losses/costs?
For example, I think a DTU option for my SQL Server will be a flat rate as opposed to a dynamically priced VCore alternative. So I could opt for DTU so I at least know where I stand.
Question/s
Does Azure offer flat rate services for storage? Would IaaS instead of PaaS give me this?
Does Azure ofer flat rate for SQL Server? (Is my understanding of DTU correct?)

How to see detailed cost breakdown for Azure subscription

I can't understand how to see the detailed breakdown of costs behind my Azure charges.
I tried the cost management and billing options within the Azure portal, but just got lots of graphs with no clear idea whether I am looking at totals or how to drill into.
I expected to be able to download detail, but can only see confusing graphs
I eventually found you need to follow this exact process to download the actual transactional data from the portal:
Azure portal -> Cost analysis
Select relevant dates from the menu at the top
Granularity -> daily
Group by -> Meter
Change the small graph symbol in the top right to be a table
Now can chose Export and you will be able to download all detail to excel / csv to analyse yourself without having to use the Azure pre-canned 'helpful' graphs.
As far as I can tell if any of the above steps are not followed, the download doesn't give you the transactions.
To see usage details for an Azure subscription:
Go to Cost Management + Billing
Select your subscription
On the Overview blade, click the Manage button which takes you to the Billing Overview
Select the subscription to see details for
The sidebar on the right has actions you can do. One is Download usage details

Allow customer to only see logging information

We run a software application on azure for one of our customers. The customer want to see the performance of the systems. This consist of two parts. One is the metric information of the servers and they also want to see some information I want to provide by custom logging.
My plan is to give the customer access to the portal and only allow him access to the metric information and the custom tables.
It seems to me that by assigning a role to the customer I should be able to block all the other possibilities.
Does someone can me tell which actions I have to allow/forbid to achieve this? Or were I can find the information for this?
Solution #1
Instead of giving Read access to the virtual machine which may breaks security policy, I'd recommend to go with Azure Log Analytics (ref: https://learn.microsoft.com/en-us/azure/log-analytics/log-analytics-overview
) workspace. That said, you will need to create a workspace which collects and stores server metrics (ref: https://learn.microsoft.com/en-us/azure/log-analytics/log-analytics-quick-collect-windows-computer) and other custom metrics.
Your customer will be given access to the workspace only which he can see all metrics in a dashboard. If there is a need for log filtering, you can use Log Analytics query language (ref: https://learn.microsoft.com/en-us/azure/log-analytics/log-analytics-log-search-transition)
Log Analytics is a paid service. You are given free up to 10 workspaces per subscription. The workspace is considered an Azure resource so the limit follows by subscription limit, which means you can create up to 800 workspaces per a resource group. A subscription can allow 800 * 800 (for reference if you would like to do capacity planning for your workspace-based solution). For Log Analytics pricing, read here (https://azure.microsoft.com/en-us/pricing/details/log-analytics/).
Log Analytics is a good choice as its value proportion is to offer your customer intuitive dashboard to monitor their virtual machine performance, and to offer Near Real Time monitoring. And this solution is a cloud native compatibility.
There is a management solution which offers a bundle of VM capacity and performance monitoring which you can try now https://learn.microsoft.com/en-us/azure/log-analytics/log-analytics-capacity
Solution #2
Log Analytics might not be your choice because it might add more Azure service and operational cost. If you need a cheaper cost, you would need to collect your virtual machine by Performance Counter which is a built-in feature in Windows OS. With Performance Counter you can export to Excel file, or visualize into Power BI or some custom chart.
Other Solutions
You can utilize Azure Monitor and API to get data, For example, this API https://learn.microsoft.com/en-us/rest/api/monitor/metricdefinitions/list. You would certainly need to visualize or format in some intuitive way to satisfy your customer. It can be a custom front-end web, or Power BI or even Excel with chart.
You can just query to Azure Blob Storage and use Stream Analytics combining with Power BI to visualize your data (https://thuansoldier.net/?p=7187).
There is not a single solution. This really depends on your existing resource capacity, financial stuff or so on.

Resources