MercadoFresco ha apagado lo que sobraba, ha borrado lo que nadie usaba y ha puesto límites a lo que puede crecer. La factura está en 1.749,60 USD al mes y cada línea tiene una explicación. Queda una palanca sin usar, y es la única que reduce el gasto sin cambiar absolutamente nada de la arquitectura: todo lo que está funcionando se paga a precio bajo demanda, es decir, al precio de quien podría marcharse mañana. Y hay una parte de ese consumo que seguirá ahí dentro de un año con total seguridad.
Esta lección va de convertir esa certeza en descuento. Verás los cuatro modelos de compra con su descuento, su compromiso y su riesgo; los Savings Plans en sus tres variantes, con plazos y formas de pago; cómo funciona el compromiso por dólar-hora con un ejemplo numérico paso a paso; qué cubre cada tipo —crítico en una arquitectura como esta, mayoritariamente sin servidor—; las instancias reservadas para lo que los Savings Plans no alcanzan; cómo se identifica la base estable frente a la parte elástica; el plan de compra concreto de MercadoFresco con su ahorro; y el seguimiento con cobertura y utilización, que son dos cosas distintas y se confunden constantemente.
Aviso de coste. Los Savings Plans y las instancias reservadas no cuestan nada por sí mismos: son una forma distinta de pagar lo que ya se consume. El riesgo no es un cargo inesperado, es comprometerse de más: un plan a 3 años con pago total por adelantado no se puede cancelar, ni devolver, ni reducir. Lo que se compra, se paga. Los porcentajes de descuento de esta lección son orientativos, varían por región, servicio y fecha, y deben comprobarse siempre en la calculadora oficial antes de comprar. Datos e identificadores ficticios.
Contenido
- Por qué existe el descuento por compromiso
- Los cuatro modelos de compra
- Los tres tipos de Savings Plans
- Plazos y formas de pago
- Cómo funciona el compromiso por dólar-hora
- Un ejemplo numérico paso a paso
- Qué cubre cada plan y qué no
- Instancias reservadas: lo que los Savings Plans no alcanzan
- Estándar frente a convertible, alcance y capacidad reservada
- Spot, revisado desde el coste
- Identificar la base estable frente a la parte elástica
- Las recomendaciones automáticas y por qué no son decisiones
- El plan de compra de MercadoFresco
- El antes y el después
- Cobertura y utilización: dos cosas distintas
- Seguimiento y alarmas
- Qué hacer si la arquitectura cambia
- Reparto de compromisos entre cuentas
- Errores caros
- Errores comunes y consejos
- Ejercicios
- Conclusión
Por qué existe el descuento por compromiso
La lógica de negocio de AWS es la misma que la de cualquier proveedor con infraestructura física: los centros de datos se construyen por adelantado. Un servidor comprado hoy hay que amortizarlo durante años, y para eso hace falta previsión de demanda.
Un cliente que paga bajo demanda no aporta ninguna previsión: puede irse mañana. Un cliente que se compromete por escrito a gastar una cantidad concreta durante uno o tres años sí la aporta, y AWS le devuelve parte de ese valor en forma de descuento.
De ahí se deduce todo lo demás, sin necesidad de memorizar tablas:
- A más plazo, más descuento: tres años valen más que uno.
- A más pago por adelantado, más descuento: el dinero hoy vale más que el dinero dentro de un año.
- A menos flexibilidad, más descuento: comprometerse a una familia de instancias concreta vale más que comprometerse a «cómputo en general».
- El riesgo se traslada al cliente: si dejas de usarlo, lo pagas igual.
Ese último punto es el que hay que tener presente durante toda la lección. Un compromiso es una apuesta sobre el futuro, y como toda apuesta se dimensiona por lo que se puede perder, no por lo que se puede ganar.
Los cuatro modelos de compra
| Modelo | Descuento típico | Compromiso | Flexibilidad | Riesgo | Interrupciones |
|---|---|---|---|---|---|
| Bajo demanda | 0 % | Ninguno | Total | Ninguno | No |
| Savings Plans | 20-66 % | 1 o 3 años, en USD/hora | Alta: cambias de instancia, región o servicio sin perderlo | Pagas aunque no uses | No |
| Instancias reservadas | 20-72 % | 1 o 3 años, en instancias concretas | Baja o media según el tipo | Pagas aunque no uses; las convertibles se pueden cambiar | No |
| Spot | Hasta 90 % | Ninguno | Alta | Te pueden interrumpir con 2 min de aviso | Sí |
Los cuatro se combinan, y la combinación es lo normal en una arquitectura madura. El orden mental correcto para decidir:
graph TD A["¿La carga tolera<br/>interrupciones?"] -->|Si| SPOT["Spot<br/>hasta -90 %"] A -->|No| B["¿El consumo es<br/>estable y predecible?"] B -->|No| OD["Bajo demanda<br/>sin compromiso"] B -->|Si| C["¿El servicio esta<br/>cubierto por Savings Plans?"] C -->|Si: EC2, Fargate, Lambda| SP["Savings Plan<br/>de computo"] C -->|No: RDS, ElastiCache,<br/>Redshift, OpenSearch| RI["Instancias<br/>reservadas"]
MercadoFresco ya usa el primer camino desde 10-02: los trabajadores corren en Fargate Spot porque su trabajo se reintenta solo. Lo que falta es recorrer los otros dos.
Los tres tipos de Savings Plans
| Tipo | Qué cubre | Descuento máximo | Flexibilidad |
|---|---|---|---|
| Compute Savings Plans | EC2, Fargate y Lambda, en cualquier región, familia, tamaño, sistema operativo y arrendamiento | Hasta 66 % | Máxima: cambias de EC2 a Fargate y sigue aplicando |
| EC2 Instance Savings Plans | Solo EC2, de una familia concreta en una región concreta | Hasta 72 % | Baja: puedes cambiar de tamaño y de sistema operativo dentro de esa familia |
| SageMaker Savings Plans | Uso de SageMaker | Hasta 64 % | Media: entre instancias y componentes de SageMaker |
La comparación que importa para casi todo el mundo es entre los dos primeros:
- El EC2 Instance da unos 6-8 puntos porcentuales más de descuento, pero te ata a la familia
m6geneu-west-1. El día que quieras pasar am7g, a otra región o a contenedores, el compromiso deja de servirte y sigues pagándolo. - El Compute da algo menos y sobrevive a casi cualquier cambio de arquitectura. Sigue aplicando si migras de EC2 a Fargate, si cambias de región, si pasas parte del trabajo a Lambda.
Para MercadoFresco no hay debate: el EC2 Instance Savings Plan no le sirve para nada, porque no tiene prácticamente EC2. Su cómputo está en Fargate y en Lambda, y ambos solo los cubre el Compute Savings Plan. Este es exactamente el tipo de detalle que hace que las recomendaciones automáticas haya que leerlas con criterio.
Y una advertencia de vocabulario que ahorra confusiones: existe también un tercer producto llamado Savings Plans de bases de datos en algunas comunicaciones comerciales, pero la cobertura de RDS, Aurora, ElastiCache o Redshift se compra con instancias reservadas, no con Savings Plans de cómputo. Confundirlo lleva a comprar un compromiso que no cubre nada de lo que se pretendía.
Plazos y formas de pago
Dos ejes independientes que se combinan en seis opciones:
| Plazo | Pago | Descuento aproximado sobre Fargate | Desembolso inicial |
|---|---|---|---|
| 1 año | Sin pago inicial | ~20 % | 0 USD |
| 1 año | Parcial (50 % por adelantado) | ~22 % | La mitad del año |
| 1 año | Total por adelantado | ~24 % | Todo el año |
| 3 años | Sin pago inicial | ~40 % | 0 USD |
| 3 años | Parcial | ~46 % | La mitad de tres años |
| 3 años | Total por adelantado | ~52 % | Todo, de golpe |
Dos lecturas de esta tabla, y ambas son importantes:
- La forma de pago aporta poco. Entre «sin pago inicial» y «total por adelantado» a un año hay unos 4 puntos porcentuales. Para MercadoFresco, 4 puntos sobre un compromiso pequeño son unos pocos dólares al mes a cambio de inmovilizar todo el importe anual. No compensa. Para una empresa que compromete cientos de miles de dólares, esos 4 puntos sí son mucho dinero, y la decisión es financiera: depende del coste de oportunidad del capital.
- El plazo aporta mucho. Duplicar el descuento del 20 % al 40 % pasando de uno a tres años es una diferencia real. Y también lo es el riesgo: tres años es más de lo que ha durado la mitad de las decisiones de arquitectura de este curso.
La regla que MercadoFresco adopta y que sirve para la mayoría de empresas pequeñas y medianas: primer compromiso a 1 año y sin pago inicial. Se aprende cómo funciona, se comprueba que la previsión era buena, y al renovarlo —con un año de datos reales— se puede plantear tres años sobre la parte que haya demostrado ser estable.
Cómo funciona el compromiso por dólar-hora
Aquí está el concepto que más se malinterpreta. Un Savings Plan no compra instancias: compra un gasto por hora a precio rebajado.
Cuando contratas un Compute Savings Plan de 0,17 USD/hora, lo que estás diciendo es:
«Me comprometo a gastar 0,17 USD cada hora, durante un año, en cómputo elegible. A cambio, ese gasto se factura a tarifa de Savings Plan en lugar de a tarifa bajo demanda.»
El funcionamiento hora a hora:
- AWS mira tu consumo de cómputo elegible en esa hora y lo valora a tarifa de Savings Plan.
- Aplica el compromiso hasta agotarlo, empezando por el uso con mayor porcentaje de descuento —lo hace automáticamente para maximizar tu ahorro—.
- El uso que quede por encima del compromiso se factura a precio bajo demanda.
- Si el consumo no llega al compromiso, la diferencia se paga igualmente. Ese es el riesgo, y es la única forma de perder dinero con un Savings Plan.
Tres consecuencias prácticas que conviene tener claras:
- El compromiso se expresa en dinero, no en capacidad. Si AWS baja los precios, tu compromiso cubre más máquinas.
- Es horario, no mensual. No hay compensación entre horas: una hora sin consumo no se recupera con una hora de mucho consumo. Por eso se dimensiona sobre el mínimo sostenido, no sobre la media.
- No reserva capacidad. Un Savings Plan no garantiza que haya máquinas disponibles; solo cambia el precio. Para garantizar capacidad hacen falta reservas zonales o bloques de capacidad.
Un ejemplo numérico paso a paso
Supongamos un compromiso de 0,17 USD/hora en un Compute Savings Plan a 1 año, con un descuento del 20 % sobre Fargate. Eso significa que 1 USD de uso bajo demanda cuesta 0,80 USD a tarifa de plan, y por tanto el compromiso de 0,17 USD/h cubre 0,2125 USD/h de uso a precio bajo demanda (0,17 ÷ 0,80).
Hora A: consumo exactamente igual al compromiso.
Uso valorado a precio bajo demanda ....... 0,2125 USD Valorado a tarifa de plan ................ 0,1700 USD <- consume todo el compromiso Uso sobrante a bajo demanda .............. 0,0000 USD Coste total de la hora ................... 0,1700 USD Sin el plan habria costado ............... 0,2125 USD Ahorro de la hora ........................ 0,0425 USD (20 %)
Hora B: consumo por encima del compromiso (pico del viernes, el doble de tareas).
Uso valorado a precio bajo demanda ....... 0,4250 USD Cubierto por el plan (0,17 / 0,80) ..... 0,2125 USD -> se factura 0,1700 USD Excedente .............................. 0,2125 USD -> se factura 0,2125 USD Coste total de la hora ................... 0,3825 USD Sin el plan habria costado ............... 0,4250 USD Ahorro de la hora ........................ 0,0425 USD (10 % del total de la hora)
Lección: el excedente no se penaliza, simplemente se paga a precio normal. Quedarse corto en el compromiso no tiene ningún castigo; solo significa que no aprovechas el descuento en esa parte.
Hora C: consumo por debajo del compromiso (madrugada de domingo, entornos apagados).
Uso valorado a precio bajo demanda ....... 0,1000 USD Valorado a tarifa de plan .............. 0,0800 USD Compromiso no utilizado .................. 0,0900 USD <- SE PAGA IGUAL Coste total de la hora ................... 0,1700 USD Sin el plan habria costado ............... 0,1000 USD Perdida de la hora ....................... 0,0700 USD
Aquí está todo el riesgo condensado. Esa hora ha costado un 70 % más de lo que habría costado sin el plan. Y no es una hipótesis rebuscada: es exactamente lo que pasa las noches y los fines de semana en cuanto se apagan los entornos no productivos, que es justo lo que MercadoFresco acaba de hacer en 11-03.
De ahí sale la regla de dimensionado que gobierna toda la decisión: el compromiso se fija por debajo del consumo mínimo sostenido de la hora más floja de la semana, no por la media y mucho menos por el pico.
Qué cubre cada plan y qué no
Esta tabla es la que hay que consultar antes de comprar nada, y la que explica por qué MercadoFresco va a ahorrar menos de lo que esperaba:
| Servicio | Compute SP | EC2 Instance SP | Instancias reservadas | Spot |
|---|---|---|---|---|
| EC2 | Sí | Sí | Sí | Sí |
| AWS Fargate | Sí | No | No | Sí (Fargate Spot) |
| AWS Lambda | Sí (duración, no invocaciones) | No | No | No |
| Amazon RDS / Aurora provisionada | No | No | Sí | No |
| Aurora Serverless v2 | No | No | No | No |
| Amazon ElastiCache | No | No | Sí (nodos reservados) | No |
| Amazon Redshift provisionado | No | No | Sí | No |
| Redshift Serverless | No | No | No | No |
| Amazon OpenSearch | No | No | Sí | No |
| DynamoDB | No | No | Sí (capacidad reservada, solo modo provisionado) | No |
| S3, CloudFront, NAT, ALB, CloudWatch | No | No | No | No |
Y aquí llega la conclusión incómoda para MercadoFresco, que conviene decir sin adornos porque es una lección general:
Una arquitectura mayoritariamente sin servidor tiene mucho menos margen de descuento por compromiso que una basada en instancias.
El detalle concreto: aurora-mercadofresco-pedidos funciona en Aurora Serverless v2, que se factura por ACU-hora y no admite instancias reservadas. Lo mismo ocurre con wg-mercadofresco-analitica, que es Redshift Serverless. Entre las dos suman 447,10 USD al mes que no se pueden comprometer de ninguna forma.
Esto no es una mala noticia disfrazada: es el otro lado de una decisión que ya rindió. Serverless ya ahorró antes, escalando a cero cuando no hay carga —recuérdese la comparación de 06-04, donde Redshift provisionado costaba 1.586 USD al mes frente a 16 de Serverless—. No se puede cobrar dos veces el mismo ahorro. Un clúster de Redshift provisionado con reserva a tres años saldría más barato por hora y muchísimo más caro al mes, porque estaría encendido las 730 horas.
Instancias reservadas: lo que los Savings Plans no alcanzan
Para lo que no cubren los Savings Plans y sí es provisionado, existen las instancias reservadas (RI). Funcionan de forma parecida pero se comprometen a recursos concretos, no a dinero por hora.
Lo que MercadoFresco puede reservar:
| Recurso | Estado | ¿Reservable? | Coste mensual | Ahorro potencial |
|---|---|---|---|---|
mercadofresco-catalogo (ElastiCache, 2 × cache.t4g.medium) |
Provisionado 24/7 | Sí, nodos reservados | 108,83 USD | ~37 USD (34 %) |
aurora-mercadofresco-pedidos |
Serverless v2 | No | 342,60 USD | 0 |
wg-mercadofresco-analitica |
Redshift Serverless | No | 104,50 USD | 0 |
mercadofresco-carritos / -idempotencia |
DynamoDB bajo demanda | No en ese modo | 58,40 USD | 0 |
| Bastión y volúmenes residuales | Ya eliminados en 11-03 | — | 0 | 0 |
Solo una fila es accionable, y es la de ElastiCache. Los nodos de caché llevan meses encendidos las 730 horas del mes, su tamaño está validado y no hay ningún plan de cambiarlos: es el caso de libro para una reserva.
Estándar frente a convertible, alcance y capacidad reservada
Las opciones que hay que decidir al comprar una reserva:
| Decisión | Opciones | Efecto |
|---|---|---|
| Tipo | Estándar: mayor descuento, no se puede cambiar de familia Convertible: menor descuento, se puede intercambiar por otra de igual o mayor valor |
La convertible cuesta unos 5-10 puntos menos de descuento y compra flexibilidad |
| Alcance | Regional: se aplica a cualquier AZ de la región, con flexibilidad de tamaño Zonal: fijado a una AZ, y reserva capacidad |
Regional para ahorrar; zonal solo si necesitas garantía de capacidad |
| Capacidad reservada | Solo con alcance zonal | Garantiza que habrá máquina disponible aunque la AZ esté llena |
| Mercado de reventa | Solo para RI estándar de EC2, con cuenta bancaria en EE. UU. | Permite vender lo que sobra; no aplica a Savings Plans ni a RDS o ElastiCache |
Dos avisos que evitan decepciones:
- Los Savings Plans no se pueden vender ni cancelar. El mercado de reventa existe solo para reservas estándar de EC2. Si compras un Compute Savings Plan y te sobra, te sobra durante todo el plazo.
- La flexibilidad de tamaño solo funciona dentro de la misma familia y sistema operativo. Una reserva de
cache.t4g.mediumcubrecache.t4g.smalla media potencia, pero no cubrecache.r7g.large.
Para MercadoFresco: reserva de ElastiCache, estándar, regional, 1 año, pago parcial. Estándar porque el tamaño está validado y no hay intención de cambiar de familia; regional porque no hace falta garantizar capacidad; un año por la misma razón que el Savings Plan.
Spot, revisado desde el coste
Spot es capacidad sobrante de AWS vendida con hasta un 90 % de descuento a cambio de poder retirarla con dos minutos de aviso. No hay compromiso ni plazo: es un precio, no un contrato.
MercadoFresco ya lo usa desde 10-02, con el reparto base=1, weight 1:4 en svc-mercadofresco-trabajadores: una tarea siempre bajo demanda y el resto mayoritariamente en Fargate Spot. El criterio que decidió dónde entra sigue siendo válido y merece repetirse, porque es el que evita el desastre:
Spot entra solo donde una interrupción con dos minutos de aviso se reintenta sola y nadie se entera.
Cargas que lo admiten en una arquitectura como esta:
| Carga | ¿Spot? | Por qué |
|---|---|---|
| Trabajadores de cola con reintento y DLQ | Sí | Un mensaje no confirmado vuelve a la cola |
| Generación de miniaturas, procesamiento por lotes | Sí | Se reintenta sin efecto visible |
| Cargas nocturnas a Redshift | Sí, con reintento | La ventana es amplia |
| Entornos de desarrollo y pruebas | Sí | Una interrupción es una molestia |
| Compilaciones del pipeline | Con cuidado | Alarga los tiempos si hay interrupciones frecuentes |
| Servicio web de la tienda | No | Una interrupción durante el pico del viernes es exactamente lo que se quería evitar |
| Base de datos, caché | No | No aplica; además, el estado no se recupera solo |
Y una relación importante con lo anterior: el uso de Spot no consume el compromiso de un Savings Plan de cómputo, porque ya se factura con su propio descuento. Por tanto, al calcular la base estable sobre la que comprometerse, el consumo Spot se resta. Olvidarlo lleva a comprometer de más.
Identificar la base estable frente a la parte elástica
Este es el trabajo analítico que precede a cualquier compra. La pregunta: ¿cuánto cómputo elegible está encendido en la hora más floja de la semana?
La herramienta es la vista horaria de Cost Explorer, filtrada a Fargate y Lambda, excluyendo Spot, sobre las últimas cuatro semanas. El perfil de MercadoFresco tras las optimizaciones de 11-03:
| Franja | Descripción | USD/hora de cómputo elegible |
|---|---|---|
| Madrugada de domingo (03:00-06:00) | Solo producción, mínimo de tareas | 0,214 |
| Noches laborables | Producción al mínimo; no productivo apagado | 0,221 |
| Horario laboral | Producción normal + preproducción + desarrollo | 0,392 |
| Tarde de compra (17:00-21:00) | Producción escalada | 0,478 |
| Viernes 17:00-21:00 | El pico: 900 pedidos/hora | 0,690 |
| Media del mes | 0,328 |
Tres cifras y tres conclusiones:
- El mínimo sostenido es 0,214 USD/hora. Es lo que está encendido siempre, sin excepción, incluida la madrugada del domingo.
- La media es 0,328 USD/hora, un 53 % por encima del mínimo. Comprometerse por la media significaría desperdiciar compromiso todas las noches y todos los fines de semana.
- El pico es 0,690, más del triple del mínimo. Comprometerse por el pico sería un desastre.
La regla práctica: comprometerse entre el 70 % y el 85 % del mínimo sostenido en el primer plan. MercadoFresco elige 0,17 USD/hora, que es el 79 % del mínimo. Ese margen del 21 % cubre tres riesgos concretos:
- Que se apague algo más de lo previsto en los próximos meses —hay optimizaciones pendientes—.
- Que una parte del cómputo se mueva a Spot y deje de ser elegible.
- Que un cambio de arquitectura reduzca el cómputo, como pasaría si alguna carga se pasa a un servicio no cubierto.
Las recomendaciones automáticas y por qué no son decisiones
Cost Explorer ofrece recomendaciones de compra en Savings Plans → Recommendations, configurables por plazo, forma de pago y periodo de análisis (7, 30 o 60 días).
Para MercadoFresco, con 30 días y 1 año sin pago inicial, la recomendación es:
Compromiso recomendado ................. 0,29 USD/hora Ahorro mensual estimado ................ 52,80 USD Utilizacion estimada ................... 98 % Basado en ............................. los ultimos 30 dias de uso
Y MercadoFresco no la sigue. Compra 0,17, no 0,29. Las razones son instructivas y valen para cualquier caso:
- La recomendación asume que el futuro será igual que el pasado. Los 30 días analizados incluyen las dos primeras semanas anteriores al apagado nocturno de 11-03. La recomendación está calculada sobre un consumo que ya no existe.
- Optimiza el ahorro esperado, no el riesgo. El algoritmo busca el punto que maximiza el ahorro medio; no sabe que en tres meses hay una migración planificada, ni que el equipo quiere probar a mover una carga a Lambda.
- La utilización estimada del 98 % es una media mensual, no una garantía horaria. Con las noches apagadas, la utilización real de un compromiso de 0,29 sería mucho peor de lo que sugiere ese número.
- Nadie de AWS pierde dinero si te pasas. La recomendación es honesta y está bien calculada, pero el incentivo no está alineado con el tuyo.
La forma correcta de usarlas: como punto de partida y como techo, nunca como decisión. Si la recomendación dice 0,29, se sabe que 0,29 es demasiado y que la respuesta está por debajo. Y siempre se contrasta con la vista horaria propia, que es el dato que la recomendación no puede tener en cuenta: tu conocimiento de lo que va a pasar.
El plan de compra de MercadoFresco
Después del análisis, Marta lleva a gerencia una propuesta de dos líneas:
| Compra | Producto | Compromiso | Plazo | Pago | Cuenta |
|---|---|---|---|---|---|
| 1 | Compute Savings Plan | 0,17 USD/hora | 1 año | Sin pago inicial | Gestión 999988887777 |
| 2 | Nodos reservados de ElastiCache | 2 × cache.t4g.medium |
1 año | Parcial | Producción 111122223333 |
La justificación de cada decisión, escrita en el ADR-024:
- Compute y no EC2 Instance, porque el cómputo de MercadoFresco es Fargate y Lambda, que el EC2 Instance no cubre en absoluto.
- 0,17 USD/hora y no los 0,29 recomendados, porque es el 79 % del mínimo sostenido real posterior a las optimizaciones.
- Un año y no tres, porque en 10-03 se escribieron seis criterios objetivos que llevarían a MercadoFresco a migrar a EKS, y dos de ellos podrían cumplirse en dieciocho meses. Comprometerse tres años con una migración plausible en el horizonte es exactamente el error que esta lección enseña a evitar. Con el matiz de que un Compute Savings Plan sobreviviría a esa migración —EKS sobre Fargate sigue siendo Fargate—, pero no sobreviviría a un cambio de estrategia mayor.
- Sin pago inicial, porque los 4 puntos de descuento adicionales del pago total suponen unos 5 USD al mes a cambio de inmovilizar 1.489 USD durante un año. Para una empresa de este tamaño, el efectivo vale más.
- La compra se hace desde la cuenta de gestión para que el descuento se reparta automáticamente por toda la organización mediante la facturación consolidada.
- Los nodos de ElastiCache sí con pago parcial, porque el importe es pequeño y la certeza es total: llevan diez meses encendidos y no hay ningún plan de tocarlos.
El comando de compra —que en la práctica se ejecuta desde la consola después de revisar el resumen dos veces, porque no hay deshacer:
# 1. Consultar la tarifa vigente antes de comprometerse
aws savingsplans describe-savings-plans-offerings \
--plan-types Compute \
--durations 31536000 \
--payment-options "No Upfront" \
--filters name=region,values=eu-west-1 \
--max-results 5
# 2. Crear el plan. commitment se expresa en USD/hora.
# upfront-payment-amount es 0 en la modalidad sin pago inicial.
aws savingsplans create-savings-plan \
--savings-plan-offering-id "abcd1234-5678-90ef-ghij-klmnopqrstuv" \
--commitment "0.17" \
--upfront-payment-amount "0" \
--purchase-time "2026-10-01T00:00:00Z" \
--tags Proyecto=mercadofresco,Propietario=marta,CentroCoste=operaciones
# 3. Reserva de ElastiCache: primero localizar la oferta
aws elasticache describe-reserved-cache-nodes-offerings \
--cache-node-type cache.t4g.medium \
--duration 31536000 \
--offering-type "Partial Upfront" \
--product-description redis
# 4. Comprarla, con identificador propio para poder rastrearla
aws elasticache purchase-reserved-cache-nodes-offering \
--reserved-cache-nodes-offering-id "1a2b3c4d-5e6f-7890-abcd-ef1234567890" \
--reserved-cache-node-id "ri-mercadofresco-catalogo-2026" \
--cache-node-count 2Tres notas sobre estos comandos:
--commitmentes USD por hora, no mensual ni anual. Escribir170en lugar de0.17compraría un compromiso mil veces mayor, y no hay forma de deshacerlo. Es el error más caro que se puede cometer en toda esta lección.--duration 31536000son los segundos de un año. Tres años son94608000.- Etiquetar la compra permite verla en los informes con las mismas dimensiones que todo lo demás. Sí: hasta un compromiso financiero se etiqueta.
El antes y el después
| Concepto | Antes de comprometer | Después | Diferencia |
|---|---|---|---|
| Cómputo elegible (Fargate + Lambda) | 239,60 USD | 208,60 USD | −31,00 USD |
| ElastiCache | 108,83 USD | 71,83 USD | −37,00 USD |
| Resto de la factura | 1.401,17 USD | 1.401,17 USD | 0 |
| Factura mensual | 1.749,60 USD | 1.681,60 USD | −68,00 USD (−3,9 %) |
| Ahorro anualizado | −816 USD | ||
| Coste por pedido | 0,00972 USD | 0,00934 USD | −3,9 % |
Y el balance completo del módulo, que es la cifra que se lleva a gerencia:
| Hito | Factura mensual | Coste por pedido |
|---|---|---|
| Punto de partida (11-03) | 2.237,60 USD | 0,01243 USD |
| Tras las diez optimizaciones (11-03) | 1.749,60 USD | 0,00972 USD |
| Tras los compromisos (11-05) | 1.681,60 USD | 0,00934 USD |
| Reducción total | −556,00 USD (−24,8 %) | −24,8 % |
| Ahorro anualizado | −6.672 USD |
Conviene señalar la proporción, porque es la lección que más se repite en la práctica y la que menos se cuenta: de los 556 USD de ahorro, 488 vienen de apagar y limpiar, y solo 68 de comprometer. Es decir, el 88 % del ahorro se consiguió sin firmar nada. En una arquitectura mayoritariamente sin servidor, los compromisos son la guinda, no el plato principal.
Cobertura y utilización: dos cosas distintas
Se confunden constantemente y miden cosas opuestas:
| Métrica | Fórmula | Qué significa | Objetivo |
|---|---|---|---|
| Utilización | Compromiso usado ÷ compromiso contratado | Qué parte de lo que pagas estás aprovechando | 99-100 % |
| Cobertura | Uso cubierto por el plan ÷ uso elegible total | Qué parte de tu consumo disfruta del descuento | 60-80 % |
La clave está en que una utilización del 100 % es obligatoria y una cobertura del 100 % es un error:
- Utilización por debajo del 100 % significa que estás pagando compromiso que no usas. Cada punto perdido es dinero tirado. Si baja del 95 %, hay que investigar.
- Cobertura del 100 % significaría que todo tu consumo, incluido el pico del viernes, está comprometido. Como el pico no es sostenido, para llegar ahí habrías tenido que comprometer muchísimo más de la base, y estarías perdiendo dinero todas las noches.
Para MercadoFresco, con un compromiso de 0,17 sobre una media de 0,328:
Utilizacion esperada ... ~100 % (el minimo sostenido es 0,214 > 0,17) Cobertura esperada ..... ~65 % (0,2125 cubierto / 0,328 de media)
Una cobertura del 65 % con utilización del 100 % es exactamente el punto correcto: se aprovecha todo lo comprometido y queda la parte variable pagándose bajo demanda, que es donde debe estar.
Seguimiento y alarmas
Un compromiso comprado y no vigilado es una fuga silenciosa. Tres mecanismos, en orden de importancia:
1. Presupuesto de utilización de Savings Plans (11-04), que es la forma más directa:
{
"BudgetName": "pres-mf-utilizacion-sp",
"BudgetType": "SAVINGS_PLANS_UTILIZATION",
"TimeUnit": "MONTHLY",
"BudgetLimit": { "Amount": "95", "Unit": "PERCENTAGE" }
}Con una notificación de tipo ACTUAL, operador LESS_THAN y umbral 95: avisa cuando la utilización baja de ese porcentaje. Es uno de los pocos usos legítimos de LESS_THAN en un presupuesto, y aquí es imprescindible.
2. Informes de utilización y cobertura en Cost Explorer, revisados en la reunión mensual junto al resto. Dos gráficos que se miran en diez segundos y que cuentan toda la historia.
3. Un aviso de vencimiento noventa días antes de que expire el plan. Los Savings Plans no se renuevan solos: el día que vence, todo el consumo vuelve a precio bajo demanda de golpe y la factura sube sin que nadie haya hecho nada. Una regla de EventBridge sobre la fecha de expiración, o simplemente una entrada en el calendario, evita esa sorpresa. La renovación es además el momento ideal para replantear el compromiso con un año de datos reales encima de la mesa.
Qué hacer si la arquitectura cambia
El escenario que hay que anticipar antes de firmar. Supongamos que MercadoFresco hubiera comprado en 2024 un EC2 Instance Savings Plan a 3 años sobre la familia m5 en eu-west-1, dimensionado para su ASG de entonces. Y que en 2026, siguiendo el módulo 10, migra toda la tienda a Fargate con arm64.
El resultado: el compromiso deja de aplicarse por completo. No cubre Fargate, no cubre Graviton fuera de su familia, y quedaría un año pagando por capacidad que no se usa. Sobre un compromiso de unos 150 USD al mes, serían 1.800 USD tirados y, peor aún, un incentivo perverso a retrasar la migración para no desperdiciar el plan. Ese es el daño real de un compromiso mal elegido: no solo cuesta dinero, sino que condiciona decisiones técnicas.
De ahí las tres reglas de MercadoFresco:
- Compute Savings Plan por defecto, aunque dé algo menos de descuento. Sobrevive a la mayoría de los cambios: EC2 a Fargate, x86 a arm64, cambio de región, parte a Lambda.
- Un año mientras haya cualquier cambio plausible en el horizonte. Tres años solo para la parte de la arquitectura que lleve años sin moverse y no tenga alternativa a la vista.
- Antes de comprometer, revisar el registro de decisiones de arquitectura (11-01). Si hay un ADR que contempla un cambio en los próximos dos años, ese cambio afecta a la decisión de compra.
Y si aun así el plan se queda sin uso, las opciones son escasas y conviene conocerlas de antemano: un Compute Savings Plan no se cancela, no se reduce y no se vende. Lo único que se puede hacer es darle uso: mover cargas a servicios cubiertos, adelantar migraciones que estaban previstas, o dejar encendido algo que se iba a apagar —lo cual es absurdo, pero es exactamente lo que acaba haciendo la gente—.
Reparto de compromisos entre cuentas
Con facturación consolidada (09-04), un Savings Plan comprado en cualquier cuenta se aplica al uso de todas las cuentas de la organización, empezando por la que lo compró y siguiendo por el resto en orden de mayor descuento.
Este comportamiento se controla con el ajuste de compartición de descuentos (Discount sharing), que se configura en las preferencias de facturación de la cuenta de gestión:
| Configuración | Efecto | Cuándo usarla |
|---|---|---|
| Compartición activada (por defecto) | El plan cubre el uso de todas las cuentas | Cuando la organización es una sola empresa con un solo presupuesto |
| Compartición desactivada para una cuenta | Esa cuenta no se beneficia ni aporta | Cuando una unidad de negocio compra y paga lo suyo |
MercadoFresco la deja activada, que es lo correcto en su caso: hay un solo presupuesto y el objetivo es que el compromiso se aproveche al máximo, venga de donde venga el consumo. Con dos consecuencias que conviene tener presentes:
- El descuento aparece en la cuenta que consume, no en la que compró. El coste amortizado de 11-03 es la métrica que refleja bien esto; el no combinado, no.
- Comprar desde la cuenta de gestión es la práctica recomendada precisamente por eso: la gestión no consume casi nada, así que el compromiso se reparte por donde de verdad hay uso, y la propiedad del contrato queda donde está el control financiero.
Errores caros
Los tres que arruinan una compra, en orden de frecuencia:
1. Comprometer antes de optimizar. Es el error de orden y el más caro de todos. Si MercadoFresco hubiera comprado un Savings Plan en agosto, sobre un consumo de cómputo de 262,40 USD, y en septiembre hubiera ejecutado las diez optimizaciones de 11-03 —que bajan ese consumo un 24 %—, el compromiso sobrante se pagaría durante todo el plazo. El orden correcto no admite excepciones: primero apagar lo que sobra, después dimensionar lo que queda, y solo entonces comprometer.
2. Comprometer demasiado. Nace de dimensionar sobre la media o sobre la recomendación automática en lugar de sobre el mínimo sostenido. El síntoma es una utilización por debajo del 100 % desde el primer mes, y no tiene arreglo hasta el vencimiento.
3. Confundir cobertura con utilización. Alguien ve una cobertura del 65 % y concluye que hay que comprar más. Es exactamente al revés: una cobertura del 65 % con utilización del 100 % está bien; subir la cobertura al 90 % obligaría a comprometer por encima del mínimo sostenido y haría bajar la utilización. La pregunta correcta nunca es «¿cuánta cobertura tengo?» sino «¿estoy aprovechando todo lo que pago?».
Errores Comunes y Consejos
Error: comprar un EC2 Instance Savings Plan teniendo la carga en contenedores. Da más descuento sobre el papel y cubre exactamente cero de tu consumo. Consejo: comprueba la tabla de cobertura antes de mirar los porcentajes. Fargate y Lambda solo los cubre el Compute.
Error: escribir el compromiso en unidades equivocadas. --commitment es USD por hora. Poner el importe mensual multiplica el compromiso por 730 y no hay deshacer. Consejo: revisa el resumen de la compra dos veces y compáralo con tu vista horaria antes de confirmar.
Error: dimensionar por la media. La media de MercadoFresco es 0,328 y su mínimo sostenido 0,214. Comprometer por la media significa desperdiciar todas las noches y todos los fines de semana. Consejo: el compromiso se fija entre el 70 y el 85 % del mínimo sostenido.
Error: comprar a tres años en la primera compra. El descuento seduce y el plazo supera la vida media de una decisión de arquitectura. Consejo: primer plan a un año; a la renovación, con datos reales, se plantea el plazo largo sobre la parte demostradamente estable.
Error: incluir el consumo Spot en el cálculo de la base. Spot ya tiene su descuento y no consume compromiso, así que comprometer sobre él es comprometer sobre nada. Consejo: excluye Spot del filtro de la vista horaria antes de calcular el mínimo.
Error: esperar que el plan cubra RDS, ElastiCache o Redshift. No los cubre ninguno de los tres tipos. Consejo: para eso están las instancias reservadas, y solo si el recurso es provisionado: Serverless no admite reservas.
Error: olvidar la fecha de vencimiento. El plan expira, todo vuelve a precio bajo demanda y la factura sube sin que nadie haya tocado nada. Consejo: aviso 90 días antes y renovación tratada como una decisión nueva, no como un trámite.
Error: dejar que el compromiso condicione la arquitectura. «No migramos todavía porque desaprovecharíamos el plan» es una frase que se oye demasiado. Consejo: si un compromiso mal elegido está frenando una decisión técnica correcta, asume la pérdida y sigue adelante. El coste de una arquitectura peor durante dos años supera con creces al del plan desperdiciado.
Consejo: compra desde la cuenta de gestión y deja la compartición activada. Es lo que hace que el compromiso se aproveche donde de verdad hay consumo.
Consejo: escribe un ADR para la compra. Un compromiso de uno o tres años es una decisión de arquitectura con consecuencias financieras: merece el mismo tratamiento que cualquier otra, con sus alternativas descartadas y su fecha de revisión.
Ejercicios
Ejercicio 1: dimensionar un compromiso
Una empresa ficticia, TallerNube, tiene este perfil de cómputo elegible (EC2 y Fargate, sin Spot) medido durante cuatro semanas:
| Franja | USD/hora | Horas semanales |
|---|---|---|
| Mínimo sostenido (noches y fines de semana) | 1,10 | 96 |
| Horario laboral | 2,40 | 55 |
| Pico de cierre mensual (2 días al mes) | 4,80 | 17 |
- Calcula la media horaria del mes y compárala con el mínimo.
- Propón un compromiso y justifica el porcentaje elegido.
- Con un descuento del 22 %, calcula el ahorro mensual y anual.
- La recomendación automática de AWS propone 1,95 USD/hora. ¿La seguirías? ¿Por qué?
Ejercicio 2: elegir producto para cada carga
Para cada una de estas cargas, indica qué modelo de compra usarías y por qué:
- Un clúster de Aurora provisionado
db.r6g.largeMulti-AZ, encendido 24/7 desde hace dos años. - Un servicio de Fargate que escala entre 2 y 20 tareas según la hora.
- Un proceso nocturno de transformación de datos que tarda 3 horas y se puede reintentar.
- Un clúster de Redshift Serverless que se usa 2 horas al día.
- Una flota de 40 instancias
m6i.xlargeque llevan tres años sin cambiar y no se prevé migrar. - Una función Lambda invocada 4 millones de veces al mes con duración media de 200 ms.
Ejercicio 3: diagnosticar un compromiso enfermo
Tres meses después de comprar un Compute Savings Plan de 0,30 USD/hora a un año, los informes muestran:
Utilizacion media del mes ......... 78 % Cobertura media del mes ........... 71 % Compromiso no utilizado ........... 48,20 USD en el mes
- ¿Cuál es el problema y cuál no lo es?
- Enumera tres causas posibles, ordenadas por probabilidad.
- ¿Qué opciones hay para arreglarlo y cuál recomendarías?
Soluciones
Solución al ejercicio 1
(1) Media horaria. Sobre una semana tipo de 168 horas, con el pico repartido (17 horas al mes ≈ 4 horas semanales, que salen del horario laboral):
Minimo sostenido: 1,10 x 96 h = 105,60 Horario laboral: 2,40 x 51 h = 122,40 Pico de cierre: 4,80 x 4 h = 19,20 -------------------------------------------- Total semanal = 247,20 USD Media horaria: 247,20 / 168 = 1,471 USD/hora
La media (1,471) está un 34 % por encima del mínimo sostenido (1,10). Comprometerse por la media supondría desperdiciar 0,371 USD/hora durante las 96 horas semanales de valle: unas 39,7 USD semanales tiradas, más de 170 USD al mes.
(2) Compromiso propuesto: 0,88 USD/hora, que es el 80 % del mínimo sostenido. El margen del 20 % cubre lo previsible: que alguna carga se mueva a Spot, que se apague algún entorno, o que una optimización pendiente reduzca el consumo base. Si TallerNube tiene ya hechas todas sus optimizaciones y una previsión de crecimiento firme, se podría subir a 0,93 (85 %), pero no más en una primera compra.
(3) Ahorro con un descuento del 22 %:
Compromiso ................. 0,88 USD/h Uso bajo demanda cubierto .. 0,88 / 0,78 = 1,128 USD/h Ahorro por hora ............ 1,128 - 0,88 = 0,248 USD/h Ahorro mensual ............. 0,248 x 730 = 181,04 USD Ahorro anual ............... 2.172,48 USD
(4) La recomendación de 1,95 USD/hora no se sigue. Está por encima incluso de la media horaria (1,471) y casi duplica el mínimo sostenido (1,10). Con ese compromiso, TallerNube pagaría 0,85 USD/hora de compromiso no utilizado durante las 96 horas semanales de valle —unas 353 USD al mes tiradas—, que superarían con creces el ahorro obtenido en las horas de actividad. Es un ejemplo perfecto de por qué la recomendación es un punto de partida y no una decisión: probablemente esté calculada sobre un periodo con un pico atípico, o esté optimizando el ahorro esperado sin ponderar el riesgo de las horas valle.
Solución al ejercicio 2
| Carga | Modelo | Justificación |
|---|---|---|
| 1. Aurora provisionada 24/7, dos años | Instancia reservada, estándar, 3 años, pago parcial | Ningún Savings Plan cubre RDS. Es provisionada, lleva dos años estable y no hay plan de cambio: es el caso ideal para plazo largo. Si hubiera intención de pasar a Serverless v2, sería a 1 año |
| 2. Fargate de 2 a 20 tareas | Compute Savings Plan sobre la base de 2 tareas + bajo demanda para el resto | La base es sostenida y elegible; la parte elástica se paga bajo demanda, que es donde debe estar. Nunca comprometer sobre las 20 |
| 3. Proceso nocturno reintentable | Spot | Tolera interrupciones con reintento y la ventana horaria es amplia. Descuento de hasta el 90 % sin compromiso. Ojo: no cuenta para la base del Savings Plan |
| 4. Redshift Serverless, 2 h al día | Bajo demanda, sin nada más | Serverless no admite reservas, y aunque las admitiera, con 2 horas al día de uso cualquier compromiso sería ruinoso. El ahorro aquí ya está en haber elegido Serverless |
5. 40 × m6i.xlarge, tres años sin cambios |
EC2 Instance Savings Plan, 3 años, pago total o parcial | Es el único caso de la lista donde el EC2 Instance gana: familia fija, región fija, historial de estabilidad demostrado y volumen suficiente para que los 6-8 puntos extra sean dinero de verdad |
| 6. Lambda, 4 M invocaciones | Compute Savings Plan, si hay base sostenida | El Compute cubre la duración de Lambda (GB-segundo), no las invocaciones. Con 4 M al mes y 200 ms, la duración es el grueso del coste. Si el patrón es muy irregular, mejor bajo demanda |
La observación transversal del ejercicio: de seis cargas, cuatro modelos distintos. No existe «el mejor modelo de compra», existe el adecuado para cada perfil de consumo.
Solución al ejercicio 3
(1) Cuál es el problema. El problema es la utilización del 78 %: se está pagando el 22 % del compromiso sin recibir nada a cambio, unos 48,20 USD al mes, que son 578 USD si sigue así todo el año. La cobertura del 71 % no es un problema en absoluto; de hecho está en la banda razonable. Quien mire solo la cobertura concluirá que todo va bien, y es justo la confusión que esta lección advierte.
(2) Tres causas posibles, por probabilidad:
- Se comprometió por encima del mínimo sostenido, probablemente dimensionando sobre la media o siguiendo la recomendación automática. Es la causa más frecuente con diferencia, y el síntoma característico es que la utilización sea mala desde el primer mes.
- Algo se apagó o se optimizó después de comprar: un entorno con apagado nocturno, una migración a arm64, una carga movida a Spot o a un servicio no cubierto. El síntoma sería una utilización buena al principio que empeora en un momento identificable.
- Una parte del cómputo dejó de ser elegible: se movió a Spot —que no consume compromiso— o a un servicio que el plan no cubre, como pasar un trabajo por lotes de Fargate a AWS Batch sobre capacidad Spot.
Para distinguirlas basta con mirar la serie temporal de utilización desde la compra: plana y baja apunta a la causa 1; con un escalón, a la 2 o a la 3, y la fecha del escalón señala qué ocurrió.
(3) Opciones y recomendación. Las opciones reales son pocas, porque un Savings Plan no se cancela, no se reduce y no se vende:
| Opción | Viabilidad | Comentario |
|---|---|---|
| Cancelar o vender el plan | Imposible | No existe mercado secundario para Savings Plans |
| Dar uso al compromiso moviendo cargas a servicios cubiertos | Posible y recomendable | Adelantar migraciones ya previstas a Fargate o Lambda; devolver a bajo demanda alguna carga que estaba en Spot y no lo necesitaba |
| Dejar encendido algo que se iba a apagar | Posible y desaconsejable | Consume el compromiso pero empeora la arquitectura y la sostenibilidad; solo tiene sentido si ese recurso aportaba valor real |
| Asumir la pérdida y esperar al vencimiento | Siempre disponible | 578 USD de coste hundido, con la lección aprendida |
Recomendación: una combinación de la segunda y la cuarta. Primero, revisar si hay migraciones ya planificadas hacia servicios cubiertos que puedan adelantarse; eso convierte compromiso desperdiciado en descuento real sin distorsionar ninguna decisión. Lo que quede, se asume. Y sobre todo, se documenta el porqué para que la renovación no repita el error: compromiso al 75-80 % del mínimo sostenido, calculado sobre datos posteriores a las optimizaciones y excluyendo Spot.
Lo que no se debe hacer bajo ningún concepto es dejar de optimizar para «rentabilizar» el plan. Sería exactamente el incentivo perverso que esta lección advierte: el compromiso pasaría de ser una herramienta de ahorro a ser un freno para la arquitectura.
Conclusión
MercadoFresco ha cerrado el ciclo de optimización con la única palanca que reduce la factura sin tocar una línea de la arquitectura.
Sabes por qué existe el descuento por compromiso —AWS construye centros de datos por adelantado y paga por la previsión de demanda— y las cuatro consecuencias que se deducen solas de esa lógica: más plazo, más pago inicial y menos flexibilidad dan más descuento, y el riesgo se traslada íntegro al cliente. Con los cuatro modelos de compra y el árbol de decisión que los ordena: Spot si la carga tolera interrupciones, bajo demanda si el consumo es impredecible, Savings Plans para EC2, Fargate y Lambda, e instancias reservadas para todo lo demás que sea provisionado.
Tienes los tres tipos de Savings Plans con la comparación que de verdad importa: el EC2 Instance da 6-8 puntos más y te ata a una familia y una región; el Compute da algo menos y sobrevive a cambios de instancia, de región, de arquitectura de CPU y de servicio. Y sabes por qué para MercadoFresco no hay debate: su cómputo es Fargate y Lambda, que el EC2 Instance no cubre en absoluto.
Tienes el mecanismo del compromiso por dólar-hora entendido de verdad, con las tres horas del ejemplo: la hora que consume exactamente lo comprometido y ahorra un 20 %, la hora de pico donde el excedente no se penaliza y simplemente se paga a precio normal, y la hora de madrugada donde el compromiso no utilizado se paga igual y hace que esa hora cueste un 70 % más de lo que habría costado sin el plan. De ahí la regla que gobierna todo: se dimensiona por el mínimo sostenido de la hora más floja de la semana, nunca por la media y muchísimo menos por el pico.
Tienes la tabla de cobertura y la conclusión incómoda que se deriva de ella para una arquitectura como esta: los 342,60 USD de Aurora Serverless v2 y los 104,50 de Redshift Serverless no se pueden comprometer de ninguna forma. Y su interpretación correcta, que no es una queja: serverless ya cobró ese ahorro por adelantado, escalando a cero cuando no hay carga, y no se puede cobrar dos veces el mismo ahorro.
Tienes las instancias reservadas para lo que los planes no alcanzan, con sus decisiones —estándar frente a convertible, alcance regional frente a zonal, capacidad reservada, mercado de reventa solo para RI estándar de EC2— y Spot revisado desde el coste, con el criterio que decide dónde entra y el detalle que se olvida: el consumo Spot no consume compromiso, así que se resta al calcular la base.
Tienes el análisis completo: el perfil horario de MercadoFresco con su mínimo sostenido de 0,214 USD/hora, su media de 0,328 y su pico de 0,690; la regla del 70-85 % del mínimo; y la razón por la que se compran 0,17 y no los 0,29 recomendados por AWS, con las cuatro razones que hacen que una recomendación automática sea un punto de partida y nunca una decisión, empezando por la más determinante: asume que el futuro será igual que el pasado, y ese pasado incluía un consumo que las optimizaciones de 11-03 acababan de eliminar.
Tienes el plan de compra con su ADR: Compute Savings Plan de 0,17 USD/hora a un año sin pago inicial desde la cuenta de gestión, más dos nodos reservados de ElastiCache a un año con pago parcial. Y el resultado: 68,00 USD al mes, 816 USD al año, que dejan la factura en 1.681,60 USD y el coste por pedido en 0,00934 USD. Con el balance completo del módulo —de 2.237,60 a 1.681,60 USD, un 24,8 % menos y 6.672 USD anuales— y la proporción que conviene no olvidar nunca: el 88 % del ahorro vino de apagar y limpiar, y solo el 12 % de comprometer.
Y tienes el seguimiento: cobertura y utilización como métricas opuestas, con la regla que las ordena —la utilización debe ser del 100 % y la cobertura no debe serlo—, el presupuesto de tipo SAVINGS_PLANS_UTILIZATION con operador LESS_THAN al 95 %, el aviso de vencimiento noventa días antes porque los planes no se renuevan solos, el reparto entre cuentas con la compartición de descuentos activada, y los tres errores caros: comprometer antes de optimizar, comprometer demasiado, y confundir cobertura con utilización. Más el daño menos evidente y más grave de un compromiso mal elegido: que condicione decisiones técnicas, convirtiendo «no migramos para no desperdiciar el plan» en una frase que alguien dice en serio.
Con esto, el pilar de optimización de costes que abría el plan de mejora de 11-01 queda cerrado: hay visibilidad, hay asignación, hay análisis, hay límites y hay compromisos. La factura es legible, está controlada y cuesta un 24,8 % menos que hace dos meses, con el mismo servicio y las mismas garantías.
Y con eso, MercadoFresco tiene la arquitectura completa y gobernada: elástica, segura, observable, desplegable, descrita en código, repartida en cinco cuentas, auditada con método y ahora también medida y presupuestada. Once módulos de decisiones, cada una con su porqué.
Queda una última cosa por hacer, y no es aprender un servicio nuevo. En 11-06, el proyecto final, se recorre la arquitectura entera de MercadoFresco asociando cada pieza al módulo donde se aprendió, se cierra el balance de los cinco problemas que abrieron el curso con su métrica, y se plantea el reto que lo integra todo: MercadoFresco abre en Portugal y Francia y lanza una aplicación móvil con seguimiento del reparto en tiempo real. Con su enunciado, su rúbrica, una solución de referencia comentada, los caminos de certificación, lo que este curso no ha tocado, y la limpieza final de todo lo creado.
Curso de AWS
Módulo 1: Introducción a AWS
- ¿Qué es AWS?
- Configuración de tu cuenta de AWS
- Infraestructura global de AWS
- Consola de administración de AWS
- AWS CLI y SDKs
Módulo 2: Servicios principales de AWS
Módulo 3: Redes y entrega de contenido
- Amazon VPC
- Grupos de seguridad y listas de control de acceso
- Elastic Load Balancing
- Amazon CloudFront
- Route 53
Módulo 4: Seguridad e identidad
- AWS Identity and Access Management (IAM)
- AWS Key Management Service (KMS)
- Secrets Manager y Parameter Store
- AWS Shield
- AWS WAF
Módulo 5: Monitorización y gestión
- Amazon CloudWatch
- AWS X-Ray y trazabilidad distribuida
- AWS CloudTrail
- AWS Config
- AWS Trusted Advisor
Módulo 6: Bases de datos
- Cómo elegir la base de datos adecuada
- Amazon DynamoDB
- Amazon Aurora
- Amazon Redshift
- Amazon ElastiCache
Módulo 7: Integración de aplicaciones
- Amazon SQS
- Amazon SNS
- Amazon EventBridge
- AWS Step Functions
- Patrones de integración: idempotencia, reintentos y colas de mensajes fallidos
