La Nuria Peña, responsable financera de Contoso Airlines, fa mesos que formula la mateixa pregunta al comitè i rep la mateixa resposta imprecisa. Quan es va aprovar la migració, algú va posar en una diapositiva «uns 8.500 € al mes». La factura mitjana del primer trimestre real va ser de 17.500 € al mes: exactament el doble. Ningú no va mentir. Simplement, l'estimació es va fer sumant màquines virtuals i bases de dades, que és el que tothom estima, i es va oblidar tota la resta: el tallafoc, el bastió, la passarel·la global, la ingesta de registres, la sortida de dades i un clúster de Kubernetes els nodes del qual algú creia que eren «part d'AKS».
Aquesta lliçó ensenya a estimar abans de desplegar. Veuràs com factura Azure de debò —quina unitat de mesura fa servir cada família de serveis—, els tres tipus de cost que gairebé ningú no estima, el maneig complet de la calculadora de preus, l'estimació reconstruïda de tota la plataforma de Contoso línia per línia, la calculadora de cost total de propietat per comparar-la amb el centre de dades de Barcelona, per què la mateixa màquina costa diferent en dues regions, com automatitzar estimacions amb l'API de preus minoristes i, sobretot, com es documenta el marge d'error, perquè una estimació sense supòsits escrits no és una estimació: és una xifra.
Avís sobre els preus d'aquesta lliçó i de tot el mòdul: totes les xifres en euros que hi apareixen són orientatives i fictícies, triades perquè els ordres de magnitud i les proporcions siguin didàctics. Els preus reals d'Azure canvien amb freqüència, varien per regió, per moneda, per tipus d'oferta i per descomptes contractats. Cap xifra d'aquest mòdul no s'ha de fer servir per decidir res: consulta sempre la calculadora oficial de preus d'Azure i el teu propi acord comercial.
Contingut
- Per què estimar abans de desplegar
- Com factura Azure de debò: unitats de mesura
- Els tres costos que gairebé ningú no estima
- La calculadora de preus d'Azure, pas a pas
- L'estimació completa de Contoso Airlines
- La calculadora de cost total de propietat
- Preus per regió: la mateixa VM a dos preus
- L'API de preus minoristes
- El marge d'error i els supòsits escrits
- L'estimació com a part del disseny
- Errors Comuns i Consells
- Exercicis
- Conclusió
- Per què estimar abans de desplegar
En un centre de dades propi, gastar diners exigeix una ordre de compra, una signatura i unes quantes setmanes. A Azure exigeix tres clics. Aquesta és tota la diferència, i és enorme: el control de la despesa s'ha desplaçat del departament de compres al teclat de l'enginyer, i ningú no va avisar l'enginyer.
La conseqüència és un patró que es repeteix a totes les organitzacions que migren:
| Moment | Què passa | Cost de corregir-ho |
|---|---|---|
| Disseny | Es tria l'arquitectura i els seus nivells de servei | Gairebé nul: és canviar una decisió en un document |
| Desplegament | Es creen els recursos amb Bicep | Baix: canviar un paràmetre i tornar a desplegar |
| Primer mes | Arriba la factura i sorprèn | Mitjà: cal canviar recursos en producció |
| Sisè mes | La despesa està normalitzada i hi ha dades a sobre | Alt: migracions, finestres, risc |
L'estimació és l'única palanca que actua a la primera fila. Dit d'una altra manera: la factura més difícil de corregir és la que ja has provocat. Un nivell de redundància triat a la lleugera el primer dia es converteix en una migració de dades l'any següent.
I hi ha un segon motiu, menys obvi i més important: estimar obliga a entendre l'arquitectura. Quan la Marta Ríos va refer l'estimació de Contoso amb la calculadora, va descobrir tres coses que feia mesos que hi eren sense que ningú no les veiés —una rèplica geogràfica de base de dades que costava gairebé el mateix que la principal, un grup de nodes d'AKS dimensionat per a una prova de càrrega que va acabar al març, i una passarel·la de VPN sense cap connexió activa—. Estimar és auditar el disseny amb una calculadora a la mà.
- Com factura Azure de debò: unitats de mesura
L'error de fons de l'estimació fallida de Contoso va ser mental: es va pensar en Azure com en un catàleg de màquines amb preu mensual. Azure factura unitats de consum, i cada família de serveis fa servir la seva. Fins que no interioritzes la taula següent, no pots estimar res.
| Família | Unitat de mesura principal | Altres unitats que també facturen | Exemple a Contoso |
|---|---|---|---|
| Còmput (VM, VMSS) | Hora d'instància encesa (deallocated no factura) |
Discos gestionats (GB-mes, IOPS), IP pública, llicència de SO | vmss-api-disponibilidad-pro |
| App Service | Hora del pla, no de l'aplicació | Certificats, dominis, ranures addicionals segons nivell | plan-contoso-reservas-pro |
| Contenidors (AKS) | Hora de cada node (VM) + discos | Pla de control estàndard, equilibrador, sortida | aks-contoso-operaciones |
| Container Apps / Functions consum | vCPU-segon i GiB-segon + execucions | Rèpliques mínimes sempre actives | ca-motor-disponibilidad |
| Emmagatzematge | GB-mes per nivell d'accés | Transaccions, recuperació de dades, canvi de nivell | sttarjetascontosopro |
| SQL Database (vCore) | vCore-hora aprovisionat o vCore-segon sense servidor | Emmagatzematge GB-mes, còpies LTR, rèplica secundària | db-reservas |
| Cosmos DB | Unitats de sol·licitud per segon (RU/s) hora | Emmagatzematge GB-mes, còpies, cada regió addicional | cosmos-contoso-tarifas-pro |
| Synapse sense servidor | TB de dades llegits per consulta | Emmagatzematge del llac, canalitzacions per activitat | syn-contoso-analitica-pro |
| Log Analytics | GB ingerit | GB-mes retingut, pla de taula, consultes sobre arxiu | log-contoso-pro |
| Xarxa | GB de sortida (egress) | Hora de tallafoc + GB processats, hora de bastió, hora de passarel·la | fw-contoso-hub-pro |
| Missatgeria | Operacions o unitats de missatgeria/rendiment hora | Entitats addicionals, retenció ampliada | sb-contoso-pro |
| Logic Apps | Execució d'acció | Connectors empresarials amb tarifa pròpia | logic-contoso-retrasos-pro |
| IA / Azure OpenAI | Token d'entrada i de sortida | Unitats de rendiment aprovisionades, si es contracten | oai-contoso-pro |
| Còpies de seguretat | Instància protegida + GB emmagatzemat | Redundància geogràfica, restauració entre regions | rsv-contoso-pro |
Tres lectures d'aquesta taula que canvien la manera d'estimar:
- La unitat no sempre és el recurs que veus. No pagues
app-contoso-reservas-pro; paguesplan-contoso-reservas-pro, i tant se val que hi allotgis una aplicació o cinc. - Gairebé tot té una segona unitat. L'emmagatzematge té GB i transaccions. El tallafoc té hores i gigabytes processats. La base de dades té còmput i emmagatzematge i còpies. Estimar només la unitat principal produeix sistemàticament estimacions baixes.
- Algunes unitats no són proporcionals a l'ús que perceps. Una consulta mal escrita a Synapse sense servidor llegeix 2 TB i costa més que un dia sencer de màquines virtuals, encara que l'usuari només hagi premut «actualitza».
- Els tres costos que gairebé ningú no estima
De l'estimació fallida de Contoso, gairebé la meitat de la desviació va venir de tres partides que ni tan sols apareixien al full de càlcul original.
Sortida de dades (egress). El trànsit cap a Azure és gratuït; el trànsit **des d'**Azure cap a internet, no. I tampoc no és gratuït el trànsit entre regions, ni en molts casos entre zones de disponibilitat. Tal com s'avançava al mòdul 2, aquesta és la sorpresa habitual de la factura, perquè no apareix en cap recurs: no hi ha cap objecte anomenat «sortida de dades» al portal que puguis mirar. A Contoso la produeix tot això alhora: cada targeta d'embarcament descarregada per un passatger, cada resposta de l'API de Disponibilitat als agregadors externs, la replicació de db-reservas a North Europe, la replicació geogràfica d'acrcontosopro i les exportacions nocturnes cap al sistema de facturació local. S'estima amb una regla senzilla: quants objectes surten al mes × mida mitjana, i es documenta el supòsit.
Transaccions i operacions. Els GB d'un compte d'emmagatzematge s'estimen bé; les transaccions, gairebé mai. I en càrregues amb molts objectes petits —que és exactament el cas de les targetes d'embarcament— les transaccions poden superar l'emmagatzematge. Encara pitjor: els nivells freds abarateixen el GB-mes i encareixen la transacció, de manera que un cicle de vida mal ajustat que mogui a Cool dades que encara es llegeixen molt pot apujar la factura. El mateix s'aplica a les operacions de Key Vault, a les peticions de Cosmos DB i a les operacions de Defender for Cloud sobre Storage.
Les funcions «gratis» que arrosseguen un recurs de pagament. Aquest és el més traïdor, perquè el servei anuncia cost zero i ho compleix:
| Servei «gratuït» | El que sí que es paga |
|---|---|
| Azure Policy | Res per la directiva, però un efecte DeployIfNotExists crea recursos de pagament |
| Configuracions de diagnòstic | La configuració és gratis; la ingesta a log-contoso-pro no |
| Microsoft Entra ID (nivell base) | L'accés condicional i Identity Protection exigeixen nivells de pagament |
| Defender for Cloud (CSPM bàsic) | Els plans per càrrega de treball, sí (mòdul 4) |
| Azure Advisor | Gratuït de debò, sense lletra petita (08-04) |
| Alertes d'Azure Monitor | Les d'estat del recurs són gratis; les de mètrica i de registre es facturen per regla i per sèrie |
| Grups de recursos, etiquetes, ARM | Realment gratis |
| Compte d'Automation | El compte no costa; els minuts d'execució per damunt de la franja, sí |
La regla que cal gravar-se: quan activis alguna cosa gratuïta, pregunta't sempre quin consum genera aigües avall. Les configuracions de diagnòstic del mòdul 7 són gratis i van produir la tercera partida més cara de la plataforma.
- La calculadora de preus d'Azure, pas a pas
La calculadora de preus d'Azure (azure.microsoft.com/pricing/calculator) és una eina pública, sense necessitat de compte, que permet muntar una estimació completa. És enganyosament simple, i fer-la servir bé té mètode.
flowchart LR A["Buscar i afegir<br/>els serveis"] --> B["Configurar cadascun:<br/>regio, nivell, quantitat,<br/>hores i unitats"] B --> C["Agrupar per<br/>component o entorn"] C --> D["Aplicar moneda,<br/>oferta i descomptes"] D --> E["Desar, compartir<br/>i exportar a Excel"] E --> F["Revisar amb l equip<br/>i amb la Nuria"] F -->|"falten supostos"| B
El procediment que segueix la Marta:
- Buscar el servei i afegir-lo. La calculadora té un catàleg per categories i un cercador. Afegeix cada servei de l'arquitectura, inclosos els que «no costen» —per deixar constància que s'han considerat—.
- Configurar regió, nivell i quantitat. Aquí hi ha el 90 % de la feina. Per a una VM: regió, sistema operatiu, tipus d'instància, nombre d'instàncies, hores al mes (730 si és 24x7, unes 176 si només és horari laborable), tipus de disc i nombre de discos, i l'opció d'estalvi (pagament per ús, reserva d'1 o 3 anys, pla d'estalvi, spot). Aquest selector és el que connecta aquesta lliçó amb la 08-03.
- Agrupar per component. La calculadora permet crear grups i reanomenar-los. Contoso fa servir un grup per bloc de l'arquitectura:
Frontal web,API de Disponibilitat,Dades,Xarxa i seguretat,Observabilitat,Integració i IA,Desenvolupament. Sense grups, una estimació de quaranta línies és il·legible i ningú no la revisa. - Fixar moneda, regió de facturació i programa de llicències. La calculadora aplica el tipus d'oferta (pagament per ús, Enterprise, CSP) i permet indicar un percentatge de descompte negociat.
- Desar i compartir. Amb un compte Microsoft, l'estimació es desa i s'obté un enllaç. És el que s'adjunta a la revisió d'arquitectura.
- Exportar a full de càlcul. El botó d'exportació genera un
.xlsxamb una fila per línia, que és el format amb el qual la Nuria pot treballar i comparar mesos.
Dos advertiments d'ús. El primer: la calculadora no coneix la teva càrrega; només multiplica el que li diguis. Si hi poses 730 hores per a una màquina que en realitat estarà encesa 200, la culpa no és de l'eina. El segon: hi ha serveis el cost dels quals no es pot estimar sense dades prèvies —sortida de dades, transaccions, tokens, GB ingerits—; per a aquests, la calculadora t'obliga a introduir una quantitat, i aquesta quantitat és un supòsit que cal documentar (apartat 9).
- L'estimació completa de Contoso Airlines
La Marta va refer l'estimació de la plataforma tal com és avui. El resultat, en euros mensuals orientatius i ficticis:
| Grup | Línia | Configuració suposada | € / mes |
|---|---|---|---|
| Frontal web | plan-contoso-reservas-pro + plan-contoso-api-pro |
Premium v3, 3 i 2 instàncies, redundància de zona, 730 h | 1.930 |
| API disponibilitat | vmss-api-disponibilidad-pro |
Mitjana de 6 instàncies de les 2-20 de l'escalat automàtic | 1.320 |
| API disponibilitat | cae-contoso-pro + ca-motor-disponibilidad |
Entorn + 1 rèplica mínima sempre activa | 240 |
| Contenidors | aks-contoso-operaciones |
Nodes sistema (3) + aplicaciones (4) + lotes en spot |
1.980 |
| Contenidors | acrcontosopro |
Premium amb replicació geogràfica | 90 |
| Desenvolupament | Plans i VM de desenvolupament | App Service dev + vm-motor-disponibilidad-dev apagada de nit |
285 |
| Emmagatzematge | sttarjetascontosopro |
GZRS, 4 TB, cicle de vida a Cool als 30 dies, transaccions | 420 |
| Emmagatzematge | stlagocontosopro |
Data Lake, 12 TB, nivell mixt | 280 |
| Emmagatzematge | stoperacionescontosopro + sttarjetascontosodev |
ZRS 1 TB + LRS 300 GB | 75 |
| Dades | db-reservas (primària) |
vCore De propòsit general, 8 vCore, redundància de zona, 500 GB | 1.480 |
| Dades | Rèplica fg-contoso-reservas a North Europe |
Secundària llegible del grup de commutació | 1.180 |
| Dades | sql-contoso-reservas-dev + cosmos-contoso-tarifas-pro |
Sense servidor amb pausa + escalat automàtic, mitjana 1.400 RU/s | 255 |
| Dades | mysql-contoso-portal-pro + psql-contoso-tripulaciones-pro |
Flexible, 2 vCores cadascun | 345 |
| Dades | syn-contoso-analitica-pro |
SQL sense servidor per TB llegits + sqlpool-contoso puntual |
400 |
| Xarxa i seguretat | fw-contoso-hub-pro |
Azure Firewall: hores + GB processats | 1.010 |
| Xarxa i seguretat | fd-contoso-global + wafcontosoglobal |
Front Door Premium + regles de WAF | 385 |
| Xarxa i seguretat | bastion-contoso-pro |
Nivell estàndard, 730 h | 205 |
| Xarxa i seguretat | vgw-contoso-pro + punts de connexió privats |
VPN + 14 punts privats | 235 |
| Xarxa i seguretat | Sortida de dades | ~4,5 TB/mes a internet + replicació entre regions | 700 |
| Observabilitat | log-contoso-pro + ai-insights-contoso-pro |
~42 GB/dia ingerits + retenció per taula | 1.500 |
| Observabilitat | Defender for Cloud | Plans de SQL, Storage i Key Vault | 310 |
| Observabilitat | rsv-contoso-pro + bv-contoso-pro |
Instàncies protegides + GB, 30 dies, GRS | 465 |
| Integració | sb-contoso-pro + evhns-contoso-telemetria-pro + evgt-contoso-reservas-pro |
Service Bus Premium 1 unitat, Event Hubs 2 TU | 780 |
| Integració | func-contoso-tarjetas-pro + logic-contoso-retrasos-pro |
Pla Premium EP1 + accions de Logic Apps | 335 |
| IA | oai-contoso-pro + ai-contoso-pro |
Cost per token + serveis d'IA | 730 |
| Transversal | kv-contoso-pro, aa-contoso-operaciones, Azure DevOps i altres de menors |
Operacions, minuts, llicències, contoso-paquetes, IP, DNS |
515 |
| Total estimat | 17.450 €/mes |
D'on surt cada bloc mereix comentari, perquè l'aprenentatge és aquí:
- Les cinc línies que sorprenen són, per aquest ordre:
log-contoso-pro(1.500 €, més que la meitat de la plataforma web),fw-contoso-hub-pro(1.010 €, que factura per hora i per gigabyte processat tant si hi passa trànsit com si no), el clústeraks-contoso-operaciones(1.980 €, perquè els nodes són màquines virtuals que es paguen senceres),bastion-contoso-pro(205 € per un servei que es fa servir quinze minuts al dia) ifd-contoso-global(385 € pel nivell Premium que exigeix el WAF). - La rèplica de
db-reservascosta 1.180 €, un 80 % de la principal. És el preu explícit de la decisió de recuperació del mòdul 7, i ara es veu en euros: exactament la mena de dada que permet una conversa honesta amb el negoci. - La sortida de dades (700 €) no correspon a cap recurs. Ningú no l'hauria estimada sense la taula de l'apartat 2.
- Tot l'entorn de desenvolupament són 285 € gràcies al runbook
Detener-IniciarEntornosDevi al nivell sense servidor amb pausa automàtica. Sense aquestes dues decisions rondaria els 1.100 €.
Comparat amb els 8.500 € de la diapositiva original, la diferència s'explica gairebé sencera amb cinc línies: AKS, Log Analytics, tallafoc, la rèplica de base de dades i la sortida de dades. Cap d'elles no és un recurs que l'equip hagués «demanat»; totes són conseqüències de decisions d'arquitectura correctes que ningú no va traduir a diners.
- La calculadora de cost total de propietat
La Nuria va fer la pregunta inevitable: «no era més barat el centre de dades de Barcelona?». Per respondre-la existeix la calculadora de cost total de propietat (TCO), una eina diferent de la de preus: es descriu la infraestructura local —servidors, nuclis, memòria, emmagatzematge, amplada de banda, llicències— i retorna una comparació a diversos anys davant de l'equivalent a Azure.
El valor de l'eina no és el número que produeix, sinó que obliga a incloure els costos que la comptabilitat local mai no imputa al projecte:
| Cost local | Se sol incloure? | Comentari |
|---|---|---|
| Maquinari (servidors, cabina, xarxa) | Sí | L'única cosa que gairebé tothom compta |
| Llicències de virtualització i de SO | De vegades | I el seu manteniment anual |
| Electricitat i refrigeració | Rarament | Sol ser un 10-20 % del cost del maquinari a l'any |
| Espai, terra tècnic i SAI | Gairebé mai | Encara que l'edifici sigui propi, té cost d'oportunitat |
| Personal d'operació | Gairebé mai | Guàrdies, apedaçament, substitució de discos |
| Renovació cada 4-5 anys i sobrecapacitat | Malament | Es compra per al pic i es paga tot l'any, cada cicle |
| Cost de la indisponibilitat | Mai | Sense redundància geogràfica, el risc és un cost diferit |
Amb la calculadora de TCO i aquests ajustos, la comparació de Contoso va quedar així (xifres orientatives i fictícies, anuals):
| Escenari | Cost anual | Comentari |
|---|---|---|
| Centre de dades de Barcelona, cost visible | 190.000 € | El que apareixia al pressupost de TI |
| Centre de dades de Barcelona, cost real ajustat | 340.000 € | Amb energia, personal, espai, renovació i sobrecapacitat |
| Azure, plataforma actual sense optimitzar | 209.400 € | 17.450 € × 12 |
| Azure, després de l'optimització del mòdul 8 | ~150.600 € | Bestreta de 08-05 |
La conclusió que Contoso va escriure, i que convé copiar literalment en qualsevol informe: la comparació no és «Azure és més barat», sinó «Azure és més barat que un centre de dades honestament comptabilitzat, i a més converteix inversió en despesa operativa, elimina la sobrecapacitat i aporta capacitats —redundància geogràfica, escalat en minuts, serveis administrats— que el centre de dades no tenia a cap preu». Comparar només maquinari contra factures d'Azure és la manera més habitual d'enganyar-se un mateix.
- Preus per regió: la mateixa VM a dos preus
La mateixa mida d'instància costa diferent a West Europe, a North Europe, a Suècia Central o als Estats Units. Les causes són reals: cost de l'energia i del terreny, impostos, maduresa del centre de dades, tipus de canvi i demanda local.
Índex orientatiu i fictici prenent West Europe com a 100 per a una mateixa VM:
| Regió | Índex de preu | Comentari |
|---|---|---|
| West Europe | 100 | Regió principal de Contoso |
| North Europe | 96 | Regió secundària del parell |
| Sweden Central | 89 | Més barata, energia abundant |
| East US | 87 | Habitualment de les més econòmiques |
| Brazil South | 128 | Fiscalitat i infraestructura |
La temptació és òbvia: moure càrregues a la regió més barata. Abans de fer-ho, quatre frens que Contoso va aplicar:
- Latència. El web de reserves serveix passatgers europeus. Un 13 % d'estalvi en còmput no compensa 120 ms addicionals a cada compra.
- Residència de la dada. Les dades personals de passatgers i tripulacions no surten de la UE. És una restricció legal, no una preferència, i la imposa la directiva de regions permeses del mòdul 4.
- Sortida entre regions. Repartir components que es parlen molt entre dues regions converteix trànsit intern gratuït en trànsit entre regions facturat.
- Disponibilitat del servei. No tots els serveis ni totes les mides existeixen a totes les regions, i les zones de disponibilitat tampoc.
La regla pràctica: la regió es tria per latència, residència de la dada i disponibilitat de serveis, i només es fa servir el preu com a criteri de desempat, o per a càrregues que no tenen cap d'aquestes lligadures —per exemple, un processament per lots nocturn sense dades personals—.
- L'API de preus minoristes
Per automatitzar estimacions —o per comparar regions sense obrir la calculadora quaranta vegades— Azure publica l'API de preus minoristes (Retail Prices), pública, sense autenticació i sense cost. Retorna els preus de tarifa oficial, sense els teus descomptes negociats.
# Preu per hora d una mida de VM a West Europe, en euros
curl -s "https://prices.azure.com/api/retail/prices?currencyCode='EUR'&\$filter=\
serviceName eq 'Virtual Machines' and armRegionName eq 'westeurope' and \
armSkuName eq 'Standard_D4s_v5' and priceType eq 'Consumption'" \
| jq -r '.Items[] | select(.productName | contains("Windows") | not)
| "\(.armRegionName)\t\(.meterName)\t\(.retailPrice) \(.currencyCode)"'El paràmetre $filter fa servir sintaxi OData i admet serviceName, armRegionName, armSkuName, meterName, priceType (Consumption, Reservation, DevTestConsumption) i reservationTerm. La clàusula select de jq descarta les variants amb llicència de Windows, que apareixen barrejades amb les de Linux i són l'error de lectura més comú.
Bucle equivalent sobre diverses regions —l'ús que més rendiment dona— substituint armRegionName eq '$REGION' dins d'un for REGION in westeurope northeurope swedencentral eastus, prenent [.Items[].retailPrice] | min i multiplicant per 730 hores per obtenir el mes mitjà. La resposta ve paginada mitjançant el camp NextPageLink, així que per a consultes àmplies cal iterar. Un ús molt pràctic: mantenir a contoso-infra un script que, a cada sol·licitud d'incorporació de canvis que modifiqui un .bicep, consulti els preus de les SKU declarades i publiqui l'estimació com a comentari automàtic a la mateixa sol·licitud (apartat 10).
{
"currencyCode": "EUR",
"retailPrice": 0.2048,
"unitOfMeasure": "1 Hour",
"armRegionName": "westeurope",
"armSkuName": "Standard_D4s_v5",
"serviceName": "Virtual Machines",
"priceType": "Consumption",
"meterName": "D4s v5"
}Cada element retornat té aquesta forma. Fixa't en unitOfMeasure: és la clau per no equivocar-se de tres ordres de magnitud. Hi ha mesuradors expressats en «1 Hour», d'altres en «1 GB/Month», d'altres en «10K» operacions i d'altres en «1M» tokens. Multiplicar sense llegir aquesta columna és l'error clàssic de qui automatitza estimacions per primera vegada.
- El marge d'error i els supòsits escrits
Una estimació és un model, i tot model té error. La diferència entre una estimació professional i una xifra improvisada és que la primera declara el seu error i els seus supòsits.
Els components de l'estimació de Contoso es classifiquen per previsibilitat:
| Tipus de cost | Exemples | Previsibilitat | Marge recomanat |
|---|---|---|---|
| Fix | Plans d'App Service, tallafoc, bastió, passarel·la | Molt alta | ±5 % |
| Semifix | Nodes base d'AKS, base de dades aprovisionada | Alta | ±10 % |
| Variable acotat | VMSS amb escalat automàtic 2-20, Cosmos amb escalat automàtic | Mitjana | ±25 % |
| Variable obert | Sortida de dades, transaccions, GB ingerits, tokens | Baixa | ±50 % |
I així s'estima el que és variable, que és on tothom es rendeix:
- Escalat automàtic: no s'estima el màxim ni el mínim, sinó el perfil horari esperat. Contoso va documentar: 2 instàncies de 00:00 a 07:00, 6 de 07:00 a 22:00, i un perfil
apertura-temporada-veranoamb mitjana de 14 durant tres setmanes. La mitjana ponderada mensual va sortir 6, i per això la línia diu 6 i no 20. - Transaccions i sortida: s'estimen des del negoci, no des de la infraestructura. «92.000 reserves al mes × 1,4 targetes per reserva × 180 KB» dona els gigabytes de sortida de targetes; la resta s'acota amb un factor.
- Tokens: consum per interacció × interaccions esperades, amb un límit dur configurat al servei perquè l'error no sigui il·limitat.
El coixí de Contoso: sobre els 17.450 € base, un 15 % de contingència dona 20.070 €/mes, i aquesta és la xifra que es va portar al comitè. És deliberadament conservadora, i respon a una asimetria real: quedar-se curt en una estimació costa credibilitat davant de finances; passar-se una mica produeix una bona notícia. La regla escrita va ser: «es pressuposta l'estimació amb coixí; es persegueix l'estimació base».
Els supòsits van al document, no al cap:
{
"estimacion": "contoso-plataforma-2026-08",
"moneda": "EUR",
"region_principal": "westeurope",
"vigencia_precios": "2026-08-01",
"total_base_mensual": 17450,
"colchon_pct": 15,
"total_presupuestado": 20070,
"supuestos": [
"Reserves mensuals: 92.000, amb pic de 148.000 a l agost",
"vmss-api-disponibilidad-pro: mitjana de 6 instancies (perfil horari documentat)",
"Sortida a internet: 4,5 TB/mes, inclosa la replicacio entre regions",
"log-contoso-pro: 42 GB/dia ingerits, retencio per taula vigent",
"oai-contoso-pro: 40 milions de tokens/mes, limit dur configurat",
"Sense reserves ni plans d estalvi contractats (veure 08-03)",
"Preus de tarifa oficial, sense descompte d acord comercial"
],
"riesgos": ["L estiu pot duplicar l egress i el VMSS", "sqlpool-contoso sense pausar"]
}Aquest fitxer viu al costat de les plantilles a contoso-infra. El seu valor apareix tres mesos després, quan la factura no quadra: es compara el supòsit amb la realitat i se sap què va fallar, no només quant.
- L'estimació com a part del disseny
Que el cost deixi de ser una sorpresa exigeix integrar-lo en dos moments del procés, no en una revisió anual.
A la revisió d'arquitectura. Cap proposta no s'aprova a Contoso sense una estimació adjunta amb els seus supòsits i, quan hi ha alternatives, sense una taula comparativa. Exemple real del disseny de l'API de Disponibilitat:
| Alternativa | € / mes orientatius | Latència | Operació | Decisió |
|---|---|---|---|---|
| VMSS amb escalat automàtic | 1.320 | Baixa i estable | Mitjana: pedaços, imatges | Triada: càrrega sostinguda i previsible |
| Container Apps | 890 | Baixa, amb arrencada en fred ocasional | Baixa | Descartada per l'arrencada en fred a l'obertura de temporada |
| Functions en pla de consum | 410 | Variable | Molt baixa | Descartada: l'API és sostinguda, no esporàdica |
Fixa't que no va guanyar l'opció més barata, i aquest és el punt: l'estimació no decideix, informa. El que sí que és inacceptable és decidir sense ella.
A la sol·licitud d'incorporació de canvis d'infraestructura. Tota modificació d'un .bicep a contoso-infra (05-06) passa per una comprovació automatitzada que compara les SKU declarades contra la branca principal i comenta l'impacte:
# Simplificat: extreure SKU de les plantilles i demanar preu a l API minorista
grep -rhoP "(?<=sku:\s')[A-Za-z0-9_]+" ./infra/*.bicep | sort -u | while read -r SKU; do
P=$(curl -s "https://prices.azure.com/api/retail/prices?currencyCode='EUR'&\$filter=\
armSkuName eq '$SKU' and armRegionName eq 'westeurope' and priceType eq 'Consumption'" \
| jq -r '[.Items[].retailPrice] | min // empty')
[ -n "$P" ] && echo "| \`$SKU\` | $P €/h | $(echo "$P * 730" | bc) €/mes |"
doneLa sortida es publica com a comentari a la sol·licitud, amb el format de taula markdown ja muntat. L'efecte cultural és més gran que el tècnic: qui proposa un canvi en veu el preu abans que ningú no l'hi pregunti, i la conversa sobre cost passa en el moment en què corregir-lo és gratis.
Errors Comuns i Consells
- Estimar només el còmput i les bases de dades. És exactament l'error que va duplicar la factura de Contoso. Recorre la taula d'unitats de l'apartat 2 servei per servei.
- Oblidar la sortida de dades. No té recurs propi, no apareix al portal com a objecte i sol ser una de les deu primeres partides.
- Confondre el recurs amb la unitat facturada. Es paga el pla, no l'aplicació; els nodes, no el clúster; el vCore-hora, no la base de dades.
- Posar 730 hores a tot, o estimar el màxim de l'escalat automàtic. El primer infla els entorns apagats de nit; el segon produeix xifres que ningú no es creu i desprestigien l'estimació sencera. Estima el perfil, i declara el màxim com a risc.
- Llegir malament
unitOfMeasurea l'API. «1M tokens» i «1K operacions» conviuen a la mateixa resposta. - Activar alguna cosa gratuïta sense mirar aigües avall. Les configuracions de diagnòstic són gratis; la ingesta que provoquen, no.
- Consell: agrupa l'estimació per component d'arquitectura, no per servei d'Azure. Ningú no discuteix «Storage»; tothom discuteix «quant costa l'API de Disponibilitat».
- Consell: desa l'estimació amb enllaç i exporta-la a full de càlcul el dia que la facis, i revisa-la quan canviï l'arquitectura, no quan arribi la factura.
Exercicis
Exercici 1. Estima amb la calculadora oficial —fes servir la teva regió i la teva moneda— un entorn de desenvolupament equivalent al de Contoso: un pla d'App Service bàsic, una base de dades SQL sense servidor amb pausa automàtica, un compte d'emmagatzematge LRS de 200 GB i una VM de 2 vCPU encesa només en horari laborable. Agrupa per component, exporta i anota quins tres supòsits t'has hagut d'inventar.
Exercici 2. Contoso Millas (centro-coste=CC-2077) està a punt de llançar-se: web a App Service, PostgreSQL flexible, blobs de justificants, una Function que calcula punts, un Event Grid i un tauler a Log Analytics. Construeix la llista de totes les unitats de mesura que caldrà estimar, marcant quines són fixes, variables acotades i variables obertes, i quin marge aplicaries a cada grup.
Exercici 3. Un company proposa moure vmss-api-disponibilidad-pro de West Europe a East US perquè «costa un 13 % menys». Escriu la resposta tècnica i econòmica: quins costos nous apareixen, quines restriccions ho impedeixen i quines càrregues de Contoso sí que serien candidates legítimes a aquesta mudança.
Solucions
Solució 1: l'exercici importa pels supòsits, no pel total. Els tres que inevitablement cal inventar-se són: (1) hores de la VM —176 h al mes amb el patró laborable de 8 h × 22 dies, davant de les 730 que la calculadora proposa per defecte—; (2) segons de còmput de la base sense servidor, que depenen de quantes hores al dia treballa l'equip i de la finestra de pausa automàtica configurada, i que en desenvolupament sol quedar en un 15-25 % del mes; i (3) transaccions de l'emmagatzematge, que la calculadora demana en operacions d'escriptura, lectura i llistat i que en desenvolupament ningú no ha mesurat mai. A més hi ha dos costos que gairebé segur que s'han omès i cal afegir: el disc gestionat de la VM, que es factura encara que la màquina estigui desassignada, i la seva IP pública si en té. Comprovació de sensatesa: en un entorn així, el disc i la base de dades solen pesar més que el còmput, precisament perquè el còmput s'apaga i l'emmagatzematge no.
Solució 2: unitats per servei i la seva classificació. Fixes (±5 %): hora del pla d'App Service; vCore-hora i GB-mes de PostgreSQL flexible si està aprovisionat; rèplica d'alta disponibilitat si s'activa. Variables acotades (±25 %): execucions i GB-segon de la Function si està en pla de consum —acotada perquè el nombre de bescanvis té un sostre conegut—; operacions d'Event Grid; GB-mes dels blobs, que creixen de manera previsible al ritme de bescanvis. Variables obertes (±50 %): transaccions de l'emmagatzematge, que en justificants petits poden superar el GB-mes; GB ingerits a log-contoso-pro per les configuracions de diagnòstic del projecte, que és la partida que més se subestima; i sortida de dades per la descàrrega de justificants. Costos gratuïts amb consum aigües avall que cal declarar encara que valguin zero: Event Grid té una franja gratuïta generosa, les etiquetes i directives no costen, però l'assignació diagnostico-app-service heretada de la iniciativa «Base de governança de Contoso» generarà ingesta des del primer dia. Marge global recomanat: 15 % sobre el total, amb els supòsits de bescanvis mensuals i mida mitjana de justificant escrits al document.
Solució 3: l'estalvi del 13 % s'aplica només a la línia de còmput (1.320 € → uns 1.150 €, uns 170 € al mes), i contra això apareixen costos nous: sortida entre regions per cada consulta de disponibilitat que el VMSS faci a db-reservas i a cosmos-contoso-tarifas-pro, que continuen a West Europe —trànsit avui intern i gratuït que passaria a facturar-se i que, amb el volum de l'API, es menja l'estalvi amb escreix—; latència d'anada i tornada transatlàntica a cada petició, que degrada la disponibilitat mostrada al passatger; i doble operació, perquè caldria replicar xarxa, NSG, punts privats, bastion, regles de fw-contoso-hub-pro i configuracions de diagnòstic en una segona regió. La restricció que ho tanca sense discussió és de compliment: les dades de passatgers no surten de la UE, i la directiva de regions permeses del mòdul 4 denegarà el desplegament. Càrregues que sí que serien candidates legítimes: processos per lots nocturns sobre dades ja anonimitzades, agents de compilació autoallotjats de contoso-reservas-ci —que a més poden anar en instàncies d'accés puntual (08-03)—, i entrenaments o proves de càrrega puntuals sense dades personals. Regla general: es mou per preu allò que no té latència crítica, ni dades regulades, ni conversa intensa amb recursos d'una altra regió.
Conclusió
Ja saps per què l'estimació és l'única palanca que actua quan corregir encara és gratis, i per què l'error de Contoso —duplicar la previsió— no va ser de càlcul sinó de model mental: Azure no és un catàleg de màquines amb preu mensual, sinó un conjunt d'unitats de consum. Tens la taula d'aquestes unitats per família de servei —hora d'instància, hora de pla, GB-mes, transacció, unitat de sol·licitud, TB llegit, GB ingerit, GB de sortida, execució, token, instància protegida—, l'advertiment que gairebé tot té una segona unitat que ningú no estima, i els tres costos que s'obliden sempre: la sortida de dades, que no té recurs a què mirar; les transaccions, que en objectes petits superen l'emmagatzematge; i les funcions «gratuïtes» que arrosseguen consum aigües avall, amb les configuracions de diagnòstic com a exemple perfecte.
Manegues la calculadora de preus amb mètode —buscar, configurar regió, nivell, quantitat i hores, agrupar per component, fixar moneda i oferta, desar, compartir i exportar— i has vist l'estimació completa de Contoso: 17.450 €/mes orientatius, amb les cinc línies que sorprenen identificades —Log Analytics, el tallafoc, els nodes d'AKS, el bastió i Front Door— més la rèplica de db-reservas, que costa el 80 % de la principal i posa preu explícit a la decisió de recuperació del mòdul 7. Saps fer servir la calculadora de cost total de propietat i quins costos ocults del centre de dades cal sumar perquè la comparació sigui honesta: energia, personal, espai, renovació, sobrecapacitat i risc. Entens per què la mateixa VM costa diferent a cada regió i per què la regió es tria per latència, residència de la dada i disponibilitat, amb el preu només com a desempat; i pots automatitzar-ho amb l'API de preus minoristes, vigilant sempre unitOfMeasure. Per damunt de l'eina t'endus el que converteix una xifra en una estimació: el marge d'error declarat, la manera d'estimar el que és variable a partir del perfil horari i del negoci en lloc del màxim teòric, el coixí del 15 % que va portar els 17.450 € als 20.070 € pressupostats, i el fitxer de supòsits i riscos versionat al costat de les plantilles.
Però una estimació, per bona que sigui, continua sent una hipòtesi. La pregunta de la Nuria —«per què puja la factura cada mes?»— només es respon amb dades reals: què s'ha gastat, en quin recurs, de quin equip, quin dia i per què. Això és Azure Cost Management, i és la lliçó següent: la jerarquia de facturació i la seva diferència amb la de recursos, l'anàlisi de costos agrupada per servei, ubicació, grup de recursos i etiqueta —on per fi es cobra la disciplina de centro-coste=CC-1042 sembrada al mòdul 1 i forçada per la política hereda-centro-coste del mòdul 4—, els pressupostos amb les seves alertes automatitzades, el repartiment entre equips, les exportacions a stlagocontosopro i la detecció d'anomalies. D'estimar el cost passem a mesurar-lo.
Curs d'Azure
Mòdul 1: Introducció a Azure
- Què és Azure?
- Models de servei, regions i zones de disponibilitat
- Crear i configurar el teu compte d'Azure
- Recorregut pel portal d'Azure
- Azure Resource Manager: subscripcions, grups de recursos i etiquetes
- Azure CLI, PowerShell i Cloud Shell
Mòdul 2: Serveis principals d'Azure
- Màquines virtuals d'Azure
- Escalat i alta disponibilitat del còmput
- Azure App Service
- Azure Storage: blobs, fitxers, cues i taules
- Xarxes a Azure: xarxes virtuals, subxarxes i NSG
- Connectivitat híbrida i lliurament global
Mòdul 3: Bases de dades d'Azure
- Triar el servei de dades adequat
- Azure SQL Database
- Azure Cosmos DB
- Azure Database for MySQL
- Azure Database for PostgreSQL
- Analítica de dades: Data Lake, Data Factory i Synapse
Mòdul 4: Seguretat a Azure
- Microsoft Entra ID i gestió d'identitats
- RBAC i identitats administrades
- Azure Key Vault
- Protecció DDoS i tallafoc d'aplicacions web
- Microsoft Defender for Cloud
- Governança i compliment amb Azure Policy
Mòdul 5: Azure DevOps
- Introducció a Azure DevOps
- Azure Repos
- Azure Pipelines: integració contínua
- Desplegament continu amb entorns i aprovacions
- Azure Artifacts
- Infraestructura com a codi amb Bicep
Mòdul 6: Serveis avançats d'Azure
- Contenidors a Azure: Container Registry i Container Apps
- Azure Kubernetes Service (AKS)
- Azure Functions
- Azure Logic Apps
- Missatgeria i esdeveniments: Service Bus, Event Grid i Event Hubs
- Serveis d'IA d'Azure
Mòdul 7: Monitoratge i gestió
- Azure Monitor: mètriques, alertes i taulers
- Log Analytics i consultes KQL
- Application Insights
- Azure Automation i runbooks
- Còpies de seguretat i recuperació davant desastres
Mòdul 8: Gestió i optimització de costos
- Calculadora de preus i estimació de costos
- Azure Cost Management: anàlisi, pressupostos i alertes
- Reserves, plans d'estalvi i Azure Hybrid Benefit
- Azure Advisor
- Estratègies d'optimització i cultura FinOps
