mirror of
https://github.com/github/awesome-copilot.git
synced 2026-03-12 12:15:12 +00:00
* Add azure-pricing plugin * changes for azure pricing skill * Remove plugin files, not part of this PR * added changes for copilot estimator * refactor: replace Playwright script with web fetch approach for Copilot Studio estimation - Remove copilot-studio-estimator.py (Playwright browser automation) - Update SKILL.md to instruct Copilot to fetch live billing rates from Microsoft docs URLs - Keep COPILOT-STUDIO-RATES.md as cached fallback reference - No Python dependencies needed — uses Copilot's built-in web fetch tool * cleanup: remove estimator URL, mark rates as cached fallback - Remove microsoft.github.io/copilot-studio-estimator from fetch URLs (React SPA, not fetchable) - Mark billing rates table as dated cached snapshot with fallback notice - Keep only Microsoft Learn URLs as live data sources * fix: correct serviceName examples to match API values * Update skills/azure-pricing/references/SERVICE-NAMES.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * chore: regenerate README.skills.md after build * fix: remove URL triggering codespell false positive * feat: add azure-pricing skill to azure-cloud-development plugin --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
143 lines
3.5 KiB
Markdown
143 lines
3.5 KiB
Markdown
# Cost Estimator Reference
|
||
|
||
Formulas and patterns for converting Azure unit prices into monthly and annual cost estimates.
|
||
|
||
## Standard Time-Based Calculations
|
||
|
||
### Hours per Month
|
||
|
||
Azure uses **730 hours/month** as the standard billing period (365 days × 24 hours / 12 months).
|
||
|
||
```
|
||
Monthly Cost = Unit Price per Hour × 730
|
||
Annual Cost = Monthly Cost × 12
|
||
```
|
||
|
||
### Common Multipliers
|
||
|
||
| Period | Hours | Calculation |
|
||
|--------|-------|-------------|
|
||
| 1 Hour | 1 | Unit price |
|
||
| 1 Day | 24 | Unit price × 24 |
|
||
| 1 Week | 168 | Unit price × 168 |
|
||
| 1 Month | 730 | Unit price × 730 |
|
||
| 1 Year | 8,760 | Unit price × 8,760 |
|
||
|
||
## Service-Specific Formulas
|
||
|
||
### Virtual Machines (Compute)
|
||
|
||
```
|
||
Monthly Cost = hourly price × 730
|
||
```
|
||
|
||
For VMs that run only business hours (8h/day, 22 days/month):
|
||
```
|
||
Monthly Cost = hourly price × 176
|
||
```
|
||
|
||
### Azure Functions
|
||
|
||
```
|
||
Execution Cost = price per execution × number of executions
|
||
Compute Cost = price per GB-s × (memory in GB × execution time in seconds × number of executions)
|
||
Total Monthly = Execution Cost + Compute Cost
|
||
```
|
||
|
||
Free grant: 1M executions and 400,000 GB-s per month.
|
||
|
||
### Azure Blob Storage
|
||
|
||
```
|
||
Storage Cost = price per GB × storage in GB
|
||
Transaction Cost = price per 10,000 ops × (operations / 10,000)
|
||
Egress Cost = price per GB × egress in GB
|
||
Total Monthly = Storage Cost + Transaction Cost + Egress Cost
|
||
```
|
||
|
||
### Azure Cosmos DB
|
||
|
||
#### Provisioned Throughput
|
||
```
|
||
Monthly Cost = (RU/s / 100) × price per 100 RU/s × 730
|
||
```
|
||
|
||
#### Serverless
|
||
```
|
||
Monthly Cost = (total RUs consumed / 1,000,000) × price per 1M RUs
|
||
```
|
||
|
||
### Azure SQL Database
|
||
|
||
#### DTU Model
|
||
```
|
||
Monthly Cost = price per DTU × DTUs × 730
|
||
```
|
||
|
||
#### vCore Model
|
||
```
|
||
Monthly Cost = vCore price × vCores × 730 + storage price per GB × storage GB
|
||
```
|
||
|
||
### Azure Kubernetes Service (AKS)
|
||
|
||
```
|
||
Monthly Cost = node VM price × 730 × number of nodes
|
||
```
|
||
|
||
Control plane is free for standard tier.
|
||
|
||
### Azure App Service
|
||
|
||
```
|
||
Monthly Cost = plan price × 730 (for hourly-priced plans)
|
||
```
|
||
|
||
Or flat monthly price for fixed-tier plans.
|
||
|
||
### Azure OpenAI
|
||
|
||
```
|
||
Monthly Cost = (input tokens / 1000) × input price per 1K tokens
|
||
+ (output tokens / 1000) × output price per 1K tokens
|
||
```
|
||
|
||
## Reservation vs. Pay-As-You-Go Comparison
|
||
|
||
When presenting pricing options, always show the comparison:
|
||
|
||
```
|
||
| Pricing Model | Monthly Cost | Annual Cost | Savings vs. PAYG |
|
||
|---------------|-------------|-------------|------------------|
|
||
| Pay-As-You-Go | $X | $Y | — |
|
||
| 1-Year Reserved | $A | $B | Z% |
|
||
| 3-Year Reserved | $C | $D | W% |
|
||
| Savings Plan (1yr) | $E | $F | V% |
|
||
| Savings Plan (3yr) | $G | $H | U% |
|
||
| Spot (if available) | $I | N/A | T% |
|
||
```
|
||
|
||
Savings percentage formula:
|
||
```
|
||
Savings % = ((PAYG Price - Reserved Price) / PAYG Price) × 100
|
||
```
|
||
|
||
## Cost Summary Table Template
|
||
|
||
Always present results in this format:
|
||
|
||
```markdown
|
||
| Service | SKU | Region | Unit Price | Unit | Monthly Est. | Annual Est. |
|
||
|---------|-----|--------|-----------|------|-------------|-------------|
|
||
| Virtual Machines | Standard_D4s_v5 | East US | $0.192/hr | 1 Hour | $140.16 | $1,681.92 |
|
||
```
|
||
|
||
## Tips
|
||
|
||
- Always clarify the **usage pattern** before estimating (24/7 vs. business hours vs. sporadic).
|
||
- For **storage**, ask about expected data volume and access patterns.
|
||
- For **databases**, ask about throughput requirements (RU/s, DTUs, or vCores).
|
||
- For **serverless** services, ask about expected invocation count and duration.
|
||
- Round to 2 decimal places for display.
|
||
- Note that prices are in **USD** unless otherwise specified.
|