<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Roi on lo0 — Blog Técnico</title><link>https://blog.lo0.es/tags/roi/</link><description>Recent content in Roi on lo0 — Blog Técnico</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Tue, 16 Jun 2026 11:00:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/tags/roi/index.xml" rel="self" type="application/rss+xml"/><item><title>Del SLO al número de GPUs: cómo dimensionar y justificar la inversión en hardware de inferencia</title><link>https://blog.lo0.es/posts/dimensionar-justificar-inversion-gpu/</link><pubDate>Tue, 16 Jun 2026 11:00:00 +0200</pubDate><guid>https://blog.lo0.es/posts/dimensionar-justificar-inversion-gpu/</guid><description>&lt;blockquote>
&lt;p>Notación: importes en &lt;strong>N €&lt;/strong> o &lt;strong>N USD&lt;/strong> (fuente denominada en dólares); decimales con coma; separador de millar con espacio fino (&lt;code>1\,234&lt;/code>). Hardware de ejemplo genérico: nodos 4×H100 SXM5 80 GB. No se usa el símbolo de dólar (delimitador de fórmula).&lt;/p>
&lt;/blockquote>
&lt;h2 id="tldr">TL;DR&lt;/h2>
&lt;ul>
&lt;li>Con un SLO de &lt;strong>TTFT P99 ≤ 300 ms&lt;/strong> y &lt;strong>ITL P99 ≤ 50 ms&lt;/strong> para un chat de producción, la utilización máxima de GPU debe quedar en &lt;strong>≤ 63 %&lt;/strong> en pico.&lt;/li>
&lt;li>Un servicio que recibe &lt;strong>5 M peticiones/día&lt;/strong> con 512 tokens de entrada y 256 de salida en media genera un pico horario de &lt;strong>~11,600 tok/s&lt;/strong> (con factor de pico 1,8×). Con vLLM sobre H100 SXM5 (Llama-3.3 70B FP8, ~1,850 tok/s a 50 peticiones concurrentes), se necesitan &lt;strong>≥ 10 GPUs&lt;/strong> en pico para cumplir el SLO, que se traducen en &lt;strong>3 nodos 4×H100&lt;/strong> (con headroom).&lt;/li>
&lt;li>El coste all-in de esos 3 nodos es ~&lt;strong>83 300 € al año por nodo&lt;/strong> (capex 3 años + opex base); el &lt;strong>€/1M tokens&lt;/strong> en escenario base al 63 % de utilización es ~&lt;strong>0,37 €&lt;/strong>.&lt;/li>
&lt;li>Frente a AWS p5 on-demand (~3,90 USD/GPU-hora tras el recorte del 44 % de jun. 2025), el &lt;strong>break-even&lt;/strong> de utilización se sitúa en &lt;strong>~55 %&lt;/strong>; frente a neoclouds on-demand (~2,01 USD/GPU-hora), no hay break-even factible a utilización media.&lt;/li>
&lt;li>El payback del capex se produce entre &lt;strong>13 y 24 meses&lt;/strong> si la utilización sostenida supera el 70 %.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="1-la-cadena-de-dimensionado-de-la-demanda-al-número-de-gpus">1. La cadena de dimensionado: de la demanda al número de GPUs&lt;/h2>
&lt;p>El dimensionado de una plataforma de inferencia sigue una cadena causal de cinco pasos. Cada paso tiene una fórmula; ninguno se puede saltar.&lt;/p>
&lt;h3 id="11-paso-1--caracterizar-la-demanda">1.1 Paso 1 — Caracterizar la demanda&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Parámetro&lt;/th>
&lt;th>Símbolo&lt;/th>
&lt;th>Ejemplo&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Peticiones por día (media)&lt;/td>
&lt;td>(D)&lt;/td>
&lt;td>5 000 000&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tokens de entrada por petición (media)&lt;/td>
&lt;td>(L_{\text{in}})&lt;/td>
&lt;td>512&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Tokens de salida por petición (media)&lt;/td>
&lt;td>(L_{\text{out}})&lt;/td>
&lt;td>256&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Factor de pico (ratio pico-hora vs media)&lt;/td>
&lt;td>(k_{\text{pico}})&lt;/td>
&lt;td>1,8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Horas al día con tráfico significativo&lt;/td>
&lt;td>(H)&lt;/td>
&lt;td>16&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El &lt;strong>throughput de salida medio&lt;/strong>:&lt;/p>
&lt;p>$$\dot{T}&lt;em>{\text{medio}} = \frac{D \times L&lt;/em>{\text{out}}}{86,400,\text{s}} = \frac{5,000,000 \times 256}{86,400} \approx 14,815;\text{tok/s}$$&lt;/p>
&lt;p>El &lt;strong>throughput pico&lt;/strong> (hora punta):&lt;/p>
&lt;p>$$\dot{T}&lt;em>{\text{pico}} = k&lt;/em>{\text{pico}} \times \frac{D \times L_{\text{out}}}{H \times 3,600} = 1{,}8 \times \frac{5,000,000 \times 256}{16 \times 3,600} \approx 40,000;\text{tok/s}$$&lt;/p>
&lt;blockquote>
&lt;p>Nota: si el perfil de tráfico tiene picos muy pronunciados (relación pico/media &amp;gt; 3), el dimensionado se hace para el pico y la utilización media cae; el análisis de sensibilidad de §5 cuantifica el efecto.&lt;/p>
&lt;/blockquote>
&lt;h3 id="12-paso-2--fijar-el-slo-y-derivar-la-utilización-máxima">1.2 Paso 2 — Fijar el SLO y derivar la utilización máxima&lt;/h3>
&lt;p>El SLO de latencia impone un techo a la utilización de GPU. Usando teoría de colas (modelo M/G/1):&lt;/p>
&lt;p>$$\rho_{\max} \approx 1 - \frac{1}{\sqrt{1 + C_{s}^{2}}} \cdot \frac{W_{\text{cola}}^{*}}{\bar{s}}$$&lt;/p>
&lt;p>donde (\rho) es la utilización, (W_{\text{cola}}^{*}) el tiempo máximo de cola admisible y (\bar{s}) el tiempo medio de servicio por petición. Para el caso simplificado M/M/1 con tiempo de prefill dominante:&lt;/p>
&lt;p>$$\rho_{\max} = 1 - \frac{W_{\text{cola}}^{&lt;em>}}{\bar{s} \cdot (1 + W_{\text{cola}}^{&lt;/em>}/\bar{s})}$$&lt;/p>
&lt;p>La tabla de referencia práctica (derivada de la fórmula de Spheron/Littles Law, 2026):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>SLO TTFT P99&lt;/th>
&lt;th>Utilización máxima (\rho_{\max})&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>200 ms&lt;/td>
&lt;td>55 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>300 ms&lt;/td>
&lt;td>63 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>400 ms&lt;/td>
&lt;td>70 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>500 ms&lt;/td>
&lt;td>75 %&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Para nuestro ejemplo (SLO 300 ms P99): (\rho_{\max} = 0{,}63).&lt;/p>
&lt;p>El SLO de ITL impone una restricción adicional: el motor de inferencia debe ser capaz de generar el siguiente token en ≤ 50 ms. En H100 SXM5 con vLLM y Llama-3.3 70B FP8, el ITL P50 a 50 peticiones concurrentes es ~20 ms, con P99 ~45 ms. El ITL es la restricción dominante solo cuando el batch size es muy alto (&amp;gt;64 secuencias) o la VRAM está casi llena.&lt;/p>
&lt;h3 id="13-paso-3--throughput-requerido-y-throughput-por-gpu">1.3 Paso 3 — Throughput requerido y throughput por GPU&lt;/h3>
&lt;p>El throughput que debe servir el cluster en pico, respetando (\rho_{\max}):&lt;/p>
&lt;p>$$\dot{T}&lt;em>{\text{requerido}} = \frac{\dot{T}&lt;/em>{\text{pico}}}{\rho_{\max}} = \frac{40,000}{0{,}63} \approx 63,500;\text{tok/s (capacidad instalada)}$$&lt;/p>
&lt;p>El &lt;strong>throughput por GPU&lt;/strong> (benchmark de referencia, vLLM v0.18.0, Llama-3.3 70B FP8, H100 SXM5 80 GB, 50 peticiones concurrentes):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Motor&lt;/th>
&lt;th>Throughput (tok/s por GPU)&lt;/th>
&lt;th>TTFT P50 / P95 (50 req)&lt;/th>
&lt;th>Fuente&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>vLLM 0.18.0&lt;/td>
&lt;td>1 850&lt;/td>
&lt;td>380 ms / 720 ms&lt;/td>
&lt;td>Spheron benchmarks, mar. 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>SGLang 0.5.9&lt;/td>
&lt;td>1 920&lt;/td>
&lt;td>360 ms / 680 ms&lt;/td>
&lt;td>Spheron benchmarks, mar. 2026&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>TensorRT-LLM 1.2.0&lt;/td>
&lt;td>2 100&lt;/td>
&lt;td>340 ms / 620 ms&lt;/td>
&lt;td>Spheron benchmarks, mar. 2026&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>Los datos de throughput corresponden al test con Llama 3.3 70B Instruct FP8, 512 tokens entrada / 256 salida, 50 peticiones concurrentes, en H100 SXM5 bare-metal. Véase el análisis de motores en &lt;a href="https://blog.lo0.es/posts/comparativa-motores-serving-pareto/">comparativa motores serving Pareto&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;p>Usamos vLLM como referencia de producción generalista: (\dot{T}_{\text{GPU}} = 1,850) tok/s.&lt;/p>
&lt;h3 id="14-paso-4--número-de-gpus-y-número-de-nodos">1.4 Paso 4 — Número de GPUs y número de nodos&lt;/h3>
&lt;p>$$N_{\text{GPU}} = \left\lceil \frac{\dot{T}&lt;em>{\text{requerido}}}{\dot{T}&lt;/em>{\text{GPU}}} \right\rceil = \left\lceil \frac{63,500}{1,850} \right\rceil = \lceil 34{,}3 \rceil = 35;\text{GPUs}$$&lt;/p>
&lt;p>Con nodos 4×H100 SXM5:&lt;/p>
&lt;p>$$N_{\text{nodos}} = \left\lceil \frac{N_{\text{GPU}}}{4} \right\rceil = \left\lceil \frac{35}{4} \right\rceil = 9;\text{nodos}$$&lt;/p>
&lt;p>Añadimos un &lt;strong>headroom del 15 %&lt;/strong> para fallos de hardware (tasa ~5 % anual en clusters pequeños), upgrades y picos imprevistos:&lt;/p>
&lt;p>$$N_{\text{nodos, final}} = \lceil 9 \times 1{,}15 \rceil = 11;\text{nodos} \approx 44;\text{GPUs}$$&lt;/p>
&lt;blockquote>
&lt;p>Para el ejemplo TL;DR (5 M peticiones/día con perfil de 16 h activas, k 1,8 y SLO 300 ms) el número de nodos es 11. El caso simplificado del TL;DR con k=1 y H=24 da 3 nodos; la diferencia ilustra el impacto del perfil horario.&lt;/p>
&lt;/blockquote>
&lt;h3 id="15-resumen-de-la-cadena">1.5 Resumen de la cadena&lt;/h3>
&lt;div class="diagram" style="max-width:700px;margin:1rem auto;">
&lt;svg viewBox="0 0 700 110" role="img" aria-label="Cadena de dimensionado: demanda y SLO derivan throughput pico, que dividido entre throughput por GPU da el número de GPUs y de nodos" xmlns="http://www.w3.org/2000/svg">
&lt;style>.bx{fill:none;stroke:currentColor;stroke-width:1.2}.ts{font:11px sans-serif;fill:currentColor}.arr{fill:none;stroke:currentColor;stroke-width:1.2;marker-end:url(#a)}&lt;/style>
&lt;defs>
&lt;marker id="a" markerWidth="6" markerHeight="6" refX="5" refY="3" orient="auto">
&lt;path d="M0,0 L6,3 L0,6 Z" fill="currentColor"/>
&lt;/marker>
&lt;/defs>
&lt;rect class="bx" x="10" y="30" width="110" height="50" rx="4"/>
&lt;text x="65" y="52" class="ts" text-anchor="middle">Demanda&lt;/text>
&lt;text x="65" y="66" class="ts" text-anchor="middle">D, L, k, H&lt;/text>
&lt;line class="arr" x1="120" y1="55" x2="155" y2="55"/>
&lt;rect class="bx" x="155" y="30" width="110" height="50" rx="4"/>
&lt;text x="210" y="52" class="ts" text-anchor="middle">SLO&lt;/text>
&lt;text x="210" y="66" class="ts" text-anchor="middle">TTFT/ITL P99 → ρ&lt;/text>
&lt;line class="arr" x1="265" y1="55" x2="300" y2="55"/>
&lt;rect class="bx" x="300" y="30" width="110" height="50" rx="4"/>
&lt;text x="355" y="52" class="ts" text-anchor="middle">Throughput&lt;/text>
&lt;text x="355" y="66" class="ts" text-anchor="middle">requerido&lt;/text>
&lt;line class="arr" x1="410" y1="55" x2="445" y2="55"/>
&lt;rect class="bx" x="445" y="30" width="110" height="50" rx="4"/>
&lt;text x="500" y="52" class="ts" text-anchor="middle">N GPUs /&lt;/text>
&lt;text x="500" y="66" class="ts" text-anchor="middle">N nodos&lt;/text>
&lt;line class="arr" x1="555" y1="55" x2="590" y2="55"/>
&lt;rect class="bx" x="590" y="30" width="100" height="50" rx="4"/>
&lt;text x="640" y="52" class="ts" text-anchor="middle">TCO →&lt;/text>
&lt;text x="640" y="66" class="ts" text-anchor="middle">€/1M tok&lt;/text>
&lt;/svg>
&lt;/div>
&lt;hr>
&lt;h2 id="2-del-sizing-al-coste-modelo-tco">2. Del sizing al coste: modelo TCO&lt;/h2>
&lt;p>Con (N_{\text{nodos}} = 11) nodos 4×H100 SXM5, el TCO sigue el modelo detallado en &lt;a href="https://blog.lo0.es/posts/tco-on-premise-gpu-cluster/">TCO on-premise GPU cluster&lt;/a>. Aquí se replica la fórmula compacta y se aplica al cluster dimensionado.&lt;/p>
&lt;h3 id="21-coste-anual-por-nodo-escenario-base">2.1 Coste anual por nodo (escenario base)&lt;/h3>
&lt;p>$$C_{\text{nodo/año}} = \frac{\text{capex nodo}}{\text{años}} + \text{opex nodo/año}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Partida&lt;/th>
&lt;th>Valor (USD / €)&lt;/th>
&lt;th>Nota&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Capex nodo 4×H100 (punto medio)&lt;/td>
&lt;td>178 500 USD&lt;/td>
&lt;td>GPUs + servidor + red + almacenamiento + rack&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Amortización 3 años&lt;/td>
&lt;td>59 500 USD/año ≈ 55 300 €/año&lt;/td>
&lt;td>Lineal&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Opex/año (escenario base, cluster 8–16 nodos)&lt;/td>
&lt;td>~28 000 €/año&lt;/td>
&lt;td>Energía + personal + mant. + colocación&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Total anual por nodo&lt;/strong>&lt;/td>
&lt;td>&lt;strong>~83 300 €/año&lt;/strong>&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Para 11 nodos: &lt;strong>915 300 €/año&lt;/strong> de coste total fijo.&lt;/p>
&lt;h3 id="22-del-nodo-año-al-gpu-hora">2.2 Del €/nodo-año al €/GPU-hora&lt;/h3>
&lt;p>$$\text{EUR/GPU-hora} = \frac{C_{\text{nodo/año}}}{4;\text{GPUs} \times 8,760;\text{h} \times \rho}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Utilización (\rho)&lt;/th>
&lt;th>EUR/GPU-hora&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>40 %&lt;/td>
&lt;td>5,93&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>55 %&lt;/td>
&lt;td>4,31&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>63 % (SLO 300 ms)&lt;/td>
&lt;td>3,76&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>70 %&lt;/td>
&lt;td>3,39&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>80 %&lt;/td>
&lt;td>2,97&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>100 %&lt;/td>
&lt;td>2,38&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="23-del-gpu-hora-al-1m-tokens">2.3 Del €/GPU-hora al €/1M tokens&lt;/h3>
&lt;p>$$\text{EUR/1M tokens} = \frac{\text{EUR/GPU-hora} \times 10^{6}}{\dot{T}_{\text{GPU}} \times 3,600}$$&lt;/p>
&lt;p>Con (\dot{T}_{\text{GPU}} = 1,850) tok/s (vLLM, Llama-3.3 70B FP8):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Utilización&lt;/th>
&lt;th>EUR/GPU-hora&lt;/th>
&lt;th>EUR/1M tokens&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>40 %&lt;/td>
&lt;td>5,93&lt;/td>
&lt;td>&lt;strong>0,891&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>55 %&lt;/td>
&lt;td>4,31&lt;/td>
&lt;td>&lt;strong>0,647&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>63 % (SLO 300 ms)&lt;/td>
&lt;td>3,76&lt;/td>
&lt;td>&lt;strong>0,564&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>70 %&lt;/td>
&lt;td>3,39&lt;/td>
&lt;td>&lt;strong>0,509&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>80 %&lt;/td>
&lt;td>2,97&lt;/td>
&lt;td>&lt;strong>0,446&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>100 %&lt;/td>
&lt;td>2,38&lt;/td>
&lt;td>&lt;strong>0,357&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>La identidad completa coste/token en función del throughput y la utilización se desarrolla en &lt;a href="https://blog.lo0.es/posts/coste-por-token-y-por-request/">coste por token y por request&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;h3 id="24-comparación-con-cloud-1m-tokens-equivalente">2.4 Comparación con cloud (€/1M tokens equivalente)&lt;/h3>
&lt;p>Para comparar, se convierte el precio cloud al equivalente €/1M tokens usando el mismo throughput de referencia ((\dot{T}_{\text{GPU}} = 1,850) tok/s):&lt;/p>
&lt;p>$$\text{EUR/1M tokens (cloud)} = \frac{P_{\text{cloud}} \times 10^{6}}{1,850 \times 3,600}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Proveedor / Modalidad&lt;/th>
&lt;th>Precio GPU-hora (USD)&lt;/th>
&lt;th>EUR/GPU-hora ((1,\text{USD} \approx 0{,}93,\text{EUR}))&lt;/th>
&lt;th>EUR/1M tokens equiv.&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>AWS p5 on-demand (post jun. 2025)&lt;/td>
&lt;td>3,90&lt;/td>
&lt;td>3,63&lt;/td>
&lt;td>&lt;strong>0,545&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS p5 reserved 1 año&lt;/td>
&lt;td>~2,50&lt;/td>
&lt;td>2,33&lt;/td>
&lt;td>&lt;strong>0,350&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CoreWeave on-demand&lt;/td>
&lt;td>~2,01&lt;/td>
&lt;td>1,87&lt;/td>
&lt;td>&lt;strong>0,281&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CoreWeave reserved 3 años&lt;/td>
&lt;td>~1,49&lt;/td>
&lt;td>1,39&lt;/td>
&lt;td>&lt;strong>0,209&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GCP A3 on-demand&lt;/td>
&lt;td>~3,67&lt;/td>
&lt;td>3,41&lt;/td>
&lt;td>&lt;strong>0,512&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Azure ND H100 v5 on-demand&lt;/td>
&lt;td>~6,98&lt;/td>
&lt;td>6,49&lt;/td>
&lt;td>&lt;strong>0,975&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Fuentes: IntuitionLabs (jun. 2026), CloudZero (jun. 2026), Spheron GPU pricing (may. 2026).&lt;/p>
&lt;hr>
&lt;h2 id="3-break-even-y-payback-de-la-inversión-propia">3. Break-even y payback de la inversión propia&lt;/h2>
&lt;h3 id="31-la-fórmula-del-break-even-de-utilización">3.1 La fórmula del break-even de utilización&lt;/h3>
&lt;p>El break-even de utilización (u^{*}) es la utilización a la que el coste anual on-prem por GPU-hora iguala el precio cloud:&lt;/p>
&lt;p>$$u^{*} = \frac{\text{capex/año} + \text{opex/año}}{4 \times 8,760 \times P_{\text{cloud}}}$$&lt;/p>
&lt;p>donde (P_{\text{cloud}}) es el precio cloud en la misma divisa que los costes on-prem.&lt;/p>
&lt;p>Con el escenario base (capex/año 55 300 €, opex/año 28 000 €, total 83 300 €/nodo/año):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Referencia cloud&lt;/th>
&lt;th>Precio cloud (EUR/GPU-hora)&lt;/th>
&lt;th>(u^{*}) break-even&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Azure on-demand (~6,49 EUR)&lt;/td>
&lt;td>6,49&lt;/td>
&lt;td>&lt;strong>23 %&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS on-demand post-recorte (~3,63 EUR)&lt;/td>
&lt;td>3,63&lt;/td>
&lt;td>&lt;strong>41 %&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GCP on-demand (~3,41 EUR)&lt;/td>
&lt;td>3,41&lt;/td>
&lt;td>&lt;strong>44 %&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CoreWeave on-demand (~1,87 EUR)&lt;/td>
&lt;td>1,87&lt;/td>
&lt;td>&lt;strong>80 %&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CoreWeave reserved 3a (~1,39 EUR)&lt;/td>
&lt;td>1,39&lt;/td>
&lt;td>&lt;strong>&amp;gt;100 %&lt;/strong> (imposible)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS reserved 1a (~2,33 EUR)&lt;/td>
&lt;td>2,33&lt;/td>
&lt;td>&lt;strong>64 %&lt;/strong>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="diagram" style="max-width:720px;margin:1rem auto;">
&lt;svg viewBox="0 0 720 240" role="img" aria-label="Break-even on-prem vs cloud: la curva del on-prem baja con la utilizacion y cruza AWS on-demand al 41 por ciento, GCP al 44 por ciento y CoreWeave on-demand al 80 por ciento" xmlns="http://www.w3.org/2000/svg">
&lt;style>.ax{fill:none;stroke:currentColor;stroke-width:1}.cv{fill:none;stroke:currentColor;stroke-width:1.8}.dsh{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:5 3}.ts{font:11px sans-serif;fill:currentColor}.tl{font:600 11px sans-serif;fill:currentColor}&lt;/style>
&lt;line class="ax" x1="60" y1="20" x2="60" y2="200"/>
&lt;line class="ax" x1="60" y1="200" x2="700" y2="200"/>
&lt;text x="20" y="120" class="ts" transform="rotate(-90 20 120)">EUR/GPU-h&lt;/text>
&lt;text x="340" y="222" class="ts">utilización →&lt;/text>
&lt;text x="62" y="216" class="ts">0&lt;/text>
&lt;text x="190" y="216" class="ts">30&lt;/text>
&lt;text x="330" y="216" class="ts">60&lt;/text>
&lt;text x="460" y="216" class="ts">80&lt;/text>
&lt;text x="600" y="216" class="ts">100 %&lt;/text>
&lt;line class="ax" x1="200" y1="197" x2="200" y2="203"/>
&lt;line class="ax" x1="340" y1="197" x2="340" y2="203"/>
&lt;line class="ax" x1="460" y1="197" x2="460" y2="203"/>
&lt;line class="ax" x1="600" y1="197" x2="600" y2="203"/>
&lt;path class="cv" d="M75,30 C120,55 200,100 300,140 C400,165 520,180 670,190"/>
&lt;text x="76" y="26" class="tl">on-prem (capex fijo)&lt;/text>
&lt;line class="cv" x1="60" y1="130" x2="700" y2="130"/>
&lt;text x="590" y="125" class="ts">Azure OD (6,49 €)&lt;/text>
&lt;line class="cv" x1="60" y1="160" x2="700" y2="160"/>
&lt;text x="590" y="155" class="ts">AWS OD (3,63 €)&lt;/text>
&lt;line class="cv" x1="60" y1="167" x2="700" y2="167"/>
&lt;text x="590" y="178" class="ts">GCP OD (3,41 €)&lt;/text>
&lt;line class="cv" x1="60" y1="185" x2="700" y2="185"/>
&lt;text x="576" y="181" class="ts">CoreWeave OD (1,87 €)&lt;/text>
&lt;line class="dsh" x1="240" y1="20" x2="240" y2="200"/>
&lt;text x="210" y="38" class="tl">41 % (AWS)&lt;/text>
&lt;line class="dsh" x1="258" y1="20" x2="258" y2="200"/>
&lt;text x="255" y="52" class="ts">44 % (GCP)&lt;/text>
&lt;line class="dsh" x1="475" y1="20" x2="475" y2="200"/>
&lt;text x="448" y="38" class="ts">80 % (CoreWeave OD)&lt;/text>
&lt;/svg>
&lt;/div>
&lt;h3 id="32-payback-del-capex">3.2 Payback del capex&lt;/h3>
&lt;p>El payback es el tiempo (T_{\text{pay}}) en el que el ahorro acumulado frente al cloud iguala el capex inicial:&lt;/p>
&lt;p>$$T_{\text{pay}} = \frac{\text{capex total cluster}}{(\text{coste cloud/año}) - (\text{opex on-prem/año})}$$&lt;/p>
&lt;p>donde el coste cloud/año se calcula a la misma utilización sostenida.&lt;/p>
&lt;p>Para el cluster de 11 nodos (capex total 11 × 178 500 USD ≈ 1 825 000 USD ≈ 1 697 000 €):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Referencia cloud&lt;/th>
&lt;th>Utilización sostenida&lt;/th>
&lt;th>Ahorro anual vs cloud&lt;/th>
&lt;th>Payback&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>AWS on-demand (3,63 EUR/h)&lt;/td>
&lt;td>70 %&lt;/td>
&lt;td>(3,63 − 3,39 EUR) × 4 × 8760 × 0,70 × 11 nodos ≈ &lt;strong>63 900 €/año&lt;/strong>&lt;/td>
&lt;td>~27 meses&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS on-demand (3,63 EUR/h)&lt;/td>
&lt;td>80 %&lt;/td>
&lt;td>(3,63 − 2,97) × 4 × 8760 × 0,80 × 11 ≈ &lt;strong>203 600 €/año&lt;/strong>&lt;/td>
&lt;td>~10 meses&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GCP on-demand (3,41 EUR/h)&lt;/td>
&lt;td>70 %&lt;/td>
&lt;td>(3,41 − 3,39) × 4 × 8760 × 0,70 × 11 ≈ &lt;strong>5 400 €/año&lt;/strong>&lt;/td>
&lt;td>~315 meses (no rentable)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Azure on-demand (6,49 EUR/h)&lt;/td>
&lt;td>70 %&lt;/td>
&lt;td>(6,49 − 3,39) × 4 × 8760 × 0,70 × 11 ≈ &lt;strong>830 000 €/año&lt;/strong>&lt;/td>
&lt;td>~2 meses&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>El payback de 13 meses citado en estudios como Lenovo TCO 2026 corresponde a utilización ~80 % frente a hyperscalers de precio alto (Azure/AWS pre-recorte). Con los precios actuales (post junio 2025, AWS a 3,90 USD), la ventana se amplía.&lt;/p>
&lt;/blockquote>
&lt;h3 id="33-payback-simple-solo-capex-vs-cloud-equivalente">3.3 Payback simple (solo capex vs cloud equivalente)&lt;/h3>
&lt;p>Si se omite el opex on-prem y se compara solo el capex con el ahorro bruto:&lt;/p>
&lt;p>$$T_{\text{pay,simple}} = \frac{\text{capex}}{P_{\text{cloud}} \times 4 \times 8,760 \times \rho \times N_{\text{nodos}}}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Utilización&lt;/th>
&lt;th>AWS (3,63 EUR)&lt;/th>
&lt;th>Azure (6,49 EUR)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>50 %&lt;/td>
&lt;td>54 meses&lt;/td>
&lt;td>30 meses&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>70 %&lt;/td>
&lt;td>39 meses&lt;/td>
&lt;td>22 meses&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>80 %&lt;/td>
&lt;td>34 meses&lt;/td>
&lt;td>19 meses&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="4-tabla-de-decisión-cuándo-comprar-alquilar-o-híbrido">4. Tabla de decisión: cuándo comprar, alquilar o híbrido&lt;/h2>
&lt;p>La tabla siguiente es un Pareto de cinco dimensiones. No hay orden implícito entre columnas; la lectura depende de las restricciones de la organización.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Opción&lt;/th>
&lt;th>EUR/GPU-hora (util. 70 %)&lt;/th>
&lt;th>Capex inicial&lt;/th>
&lt;th>Utilización requerida&lt;/th>
&lt;th>Soberanía dato&lt;/th>
&lt;th>Elasticidad pico&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>On-prem compra, util. ≥ 70 %&lt;/strong>&lt;/td>
&lt;td>3,39&lt;/td>
&lt;td>alto (178 k USD/nodo)&lt;/td>
&lt;td>≥ 70 % sostenido&lt;/td>
&lt;td>total&lt;/td>
&lt;td>ninguna&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>On-prem compra, util. &amp;lt; 50 %&lt;/strong>&lt;/td>
&lt;td>&amp;gt; 4,75&lt;/td>
&lt;td>alto&lt;/td>
&lt;td>&amp;lt; 50 % → pierde vs cloud&lt;/td>
&lt;td>total&lt;/td>
&lt;td>ninguna&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Cloud EU soberano OD (Scaleway/Nebius EU)&lt;/strong>&lt;/td>
&lt;td>2,00–3,59&lt;/td>
&lt;td>ninguno&lt;/td>
&lt;td>cualquiera&lt;/td>
&lt;td>sí (UE)&lt;/td>
&lt;td>total&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>AWS p5 on-demand (post jun. 2025)&lt;/strong>&lt;/td>
&lt;td>3,63&lt;/td>
&lt;td>ninguno&lt;/td>
&lt;td>cualquiera&lt;/td>
&lt;td>no (CLOUD Act)&lt;/td>
&lt;td>total&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>CoreWeave on-demand&lt;/strong>&lt;/td>
&lt;td>1,87&lt;/td>
&lt;td>ninguno&lt;/td>
&lt;td>cualquiera&lt;/td>
&lt;td>parcial (US)&lt;/td>
&lt;td>total&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>CoreWeave reserved 3 años&lt;/strong>&lt;/td>
&lt;td>1,29–1,39&lt;/td>
&lt;td>compromiso financiero&lt;/td>
&lt;td>contrato rígido&lt;/td>
&lt;td>parcial (US)&lt;/td>
&lt;td>ninguna&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>AWS reserved 1 año&lt;/strong>&lt;/td>
&lt;td>~2,17&lt;/td>
&lt;td>compromiso 1 año&lt;/td>
&lt;td>contrato&lt;/td>
&lt;td>no (CLOUD Act)&lt;/td>
&lt;td>ninguna&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Híbrido on-prem base + cloud EU pico&lt;/strong>&lt;/td>
&lt;td>2,50–3,39 (ponderado)&lt;/td>
&lt;td>medio&lt;/td>
&lt;td>base ≥ 70 %, pico elástico&lt;/td>
&lt;td>sí (UE)&lt;/td>
&lt;td>pico elástico&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Criterios de corte previos a la tabla:&lt;/strong>&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Soberanía RGPD&lt;/strong>: si los datos son personales o el sistema es de riesgo EU AI Act, CoreWeave/AWS quedan descartados antes de comparar precios.&lt;/li>
&lt;li>&lt;strong>Volumen mínimo para amortizar capex&lt;/strong>: por debajo de ~2 M tokens/día sostenidos durante 3 años, el capex on-prem no se amortiza frente a AWS on-demand.&lt;/li>
&lt;li>&lt;strong>Elasticidad de tráfico&lt;/strong>: picos &amp;gt;3× la base favorecen el híbrido o el cloud puro; base estable favorece el on-prem.&lt;/li>
&lt;/ol>
&lt;p>La frontera de Pareto coste/soberanía para datos RGPD deja tres opciones: on-prem, cloud EU soberano e híbrido. Entre ellas decide la utilización sostenida y la predecibilidad del tráfico. Véase el análisis cruzado de los cuatro ejes en &lt;a href="https://blog.lo0.es/posts/on-premise-soberano-vs-hyperscalers-datos/">on-premise soberano vs hyperscalers&lt;/a>.&lt;/p>
&lt;hr>
&lt;h2 id="5-análisis-de-sensibilidad">5. Análisis de sensibilidad&lt;/h2>
&lt;h3 id="51-sizing-vs-perfil-horario-y-factor-de-pico">5.1 Sizing vs perfil horario y factor de pico&lt;/h3>
&lt;p>El número de GPUs crece linealmente con (k_{\text{pico}}) e inversamente con (\rho_{\max}):&lt;/p>
&lt;p>$$N_{\text{GPU}} = \left\lceil \frac{D \times L_{\text{out}} \times k_{\text{pico}}}{H \times 3,600 \times \rho_{\max} \times \dot{T}_{\text{GPU}}} \right\rceil$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Factor de pico (k)&lt;/th>
&lt;th>SLO 300 ms ((\rho_{\max}=0{,}63))&lt;/th>
&lt;th>SLO 500 ms ((\rho_{\max}=0{,}75))&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1,2&lt;/td>
&lt;td>8 GPUs (2 nodos)&lt;/td>
&lt;td>6 GPUs (2 nodos)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1,8&lt;/td>
&lt;td>12 GPUs (3 nodos)&lt;/td>
&lt;td>10 GPUs (3 nodos)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2,5&lt;/td>
&lt;td>16 GPUs (4 nodos)&lt;/td>
&lt;td>13 GPUs (4 nodos)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3,5&lt;/td>
&lt;td>22 GPUs (6 nodos)&lt;/td>
&lt;td>18 GPUs (5 nodos)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;blockquote>
&lt;p>(Ejemplo simplificado a 5 M pet/día con H=24 para ilustrar la sensibilidad al factor de pico)&lt;/p>
&lt;/blockquote>
&lt;p>Un factor de pico 3,5× triplica el número de nodos respecto a k=1,2 manteniendo el mismo SLO. Dimensionar hardware para (k &amp;gt; 2{,}5) deja GPUs paradas el 70 %+ del tiempo; el cloud de pico es más eficiente a partir de ese umbral.&lt;/p>
&lt;h3 id="52-break-even-vs-utilización-sostenida">5.2 Break-even vs utilización sostenida&lt;/h3>
&lt;p>$$u^{*} = \frac{83,300}{4 \times 8,760 \times P_{\text{cloud}}}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Precio cloud (EUR/GPU-hora)&lt;/th>
&lt;th>(u^{*}) break-even&lt;/th>
&lt;th>Escenario&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>6,49 (Azure OD)&lt;/td>
&lt;td>23 %&lt;/td>
&lt;td>On-prem gana casi siempre&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3,63 (AWS OD)&lt;/td>
&lt;td>41 %&lt;/td>
&lt;td>On-prem gana si util. &amp;gt; 41 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>3,41 (GCP OD)&lt;/td>
&lt;td>44 %&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>2,33 (AWS reserved 1a)&lt;/td>
&lt;td>64 %&lt;/td>
&lt;td>On-prem gana si util. &amp;gt; 64 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1,87 (CoreWeave OD)&lt;/td>
&lt;td>80 %&lt;/td>
&lt;td>Difícil de alcanzar en producción&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>1,39 (CoreWeave reserved 3a)&lt;/td>
&lt;td>&amp;gt;100 %&lt;/td>
&lt;td>On-prem nunca cierra brecha&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="53-break-even-vs-precio-de-energía">5.3 Break-even vs precio de energía&lt;/h3>
&lt;p>La energía representa el 6–11 % del TCO total. Su impacto en el break-even es moderado:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Precio energía (EUR/kWh)&lt;/th>
&lt;th>Opex energía/año por nodo&lt;/th>
&lt;th>EUR/GPU-hora (70 % util.)&lt;/th>
&lt;th>(u^{*}) vs AWS OD&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>0,034 (PPA solar)&lt;/td>
&lt;td>1 604 €&lt;/td>
&lt;td>3,22&lt;/td>
&lt;td>38 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>0,116 (industrial ES, base)&lt;/td>
&lt;td>5 475 €&lt;/td>
&lt;td>3,39&lt;/td>
&lt;td>41 %&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>0,200 (tarifa alta)&lt;/td>
&lt;td>9 437 €&lt;/td>
&lt;td>3,57&lt;/td>
&lt;td>43 %&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>La diferencia entre el escenario más barato y el más caro es de solo 5 puntos porcentuales en el break-even. La variable que mueve la aguja es la utilización, no la energía.&lt;/p>
&lt;h3 id="54-break-even-vs-crecimiento-de-la-demanda">5.4 Break-even vs crecimiento de la demanda&lt;/h3>
&lt;p>Si la demanda crece a una tasa anual (g), la utilización media del cluster (dimensionado para el año 1) sube con el tiempo hasta que se satura y hay que ampliar:&lt;/p>
&lt;p>$$\rho(t) = \rho_{0} \times (1 + g)^{t}$$&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Crecimiento anual (g)&lt;/th>
&lt;th>Tiempo hasta saturación ((\rho \to 100,%))&lt;/th>
&lt;th>Decisión&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>10 %&lt;/td>
&lt;td>~11 años&lt;/td>
&lt;td>Compra cómoda&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>30 %&lt;/td>
&lt;td>~4 años&lt;/td>
&lt;td>Compra con revisión a 3 años&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>60 %&lt;/td>
&lt;td>~2 años&lt;/td>
&lt;td>Híbrido: base + cloud elástico&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&amp;gt;100 %&lt;/td>
&lt;td>&amp;lt;1 año&lt;/td>
&lt;td>Cloud puro hasta estabilización&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Para crecimientos &amp;gt;30 % anual, la estrategia de compra-sola implica sobredimensionar para el pico futuro o re-comprar hardware en ciclos cortos. El híbrido (base on-prem + cloud para crecimiento) minimiza el capex en riesgo.&lt;/p>
&lt;h3 id="55-headroom-el-coste-del-margen-de-seguridad">5.5 Headroom: el coste del margen de seguridad&lt;/h3>
&lt;p>El headroom del 15 % en (N_{\text{nodos}}) equivale a tener ~1,6 nodos adicionales de media. Su coste anual es:&lt;/p>
&lt;p>$$C_{\text{headroom}} = 0{,}15 \times 83,300;\text{EUR/nodo/año} \times N_{\text{nodos,base}} \approx 12,500 \times 9 = 112,500;\text{EUR/año}$$&lt;/p>
&lt;p>Este coste se justifica por:&lt;/p>
&lt;ul>
&lt;li>Tasa de fallo GPU ~5 % anual (en clusters pequeños, documentada por Introl, abr. 2026)&lt;/li>
&lt;li>Tiempo de reposición 2–8 semanas (según disponibilidad de mercado)&lt;/li>
&lt;li>Picos imprevistos hasta un 20 % sobre el estimado&lt;/li>
&lt;/ul>
&lt;p>Si el servicio puede degradarse gracefully (reducción de SLO TTFT de 300 ms a 500 ms en pico extremo), el headroom se puede reducir al 10 %, con un ahorro de ~37 500 EUR/año.&lt;/p>
&lt;hr>
&lt;h2 id="6-mapa-de-sensibilidad-gpu-hora-y-break-even-en-dos-ejes">6. Mapa de sensibilidad: €/GPU-hora y break-even en dos ejes&lt;/h2>
&lt;p>La tabla siguiente cruza utilización y escenario de opex, mostrando el EUR/GPU-hora all-in (escenario base, capex/año 55 300 €):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th>Opex bajo (13 000 €/año)&lt;/th>
&lt;th>Opex base (28 000 €/año)&lt;/th>
&lt;th>Opex alto (75 000 €/año)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Util. 40 %&lt;/strong>&lt;/td>
&lt;td>4,74&lt;/td>
&lt;td>5,93&lt;/td>
&lt;td>9,06&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Util. 55 %&lt;/strong>&lt;/td>
&lt;td>3,45&lt;/td>
&lt;td>4,31&lt;/td>
&lt;td>6,59&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Util. 63 %&lt;/strong>&lt;/td>
&lt;td>3,01&lt;/td>
&lt;td>3,76&lt;/td>
&lt;td>5,75&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Util. 70 %&lt;/strong>&lt;/td>
&lt;td>2,71&lt;/td>
&lt;td>3,39&lt;/td>
&lt;td>5,18&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Util. 80 %&lt;/strong>&lt;/td>
&lt;td>2,37&lt;/td>
&lt;td>2,97&lt;/td>
&lt;td>4,54&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Util. 100 %&lt;/strong>&lt;/td>
&lt;td>1,90&lt;/td>
&lt;td>2,38&lt;/td>
&lt;td>3,63&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>El cruce con el precio cloud (AWS OD: 3,63 EUR):&lt;/p>
&lt;ul>
&lt;li>Escenario opex bajo: break-even a ~&lt;strong>38 % de utilización&lt;/strong>&lt;/li>
&lt;li>Escenario opex base: break-even a ~&lt;strong>41 % de utilización&lt;/strong>&lt;/li>
&lt;li>Escenario opex alto: break-even a ~&lt;strong>53 % de utilización&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>La palanca más grande para reducir el break-even no es el capex del hardware sino el opex (especialmente personal y colocación). Véase el análisis de utilización como palanca FinOps en &lt;a href="https://blog.lo0.es/posts/utilizacion-gpu-como-finops/">utilización GPU como FinOps&lt;/a>.&lt;/p>
&lt;hr>
&lt;h2 id="7-integración-con-el-resto-de-la-cadena-finops">7. Integración con el resto de la cadena FinOps&lt;/h2>
&lt;p>El dimensionado de §1 determina el número de nodos; el TCO de §2 da el coste/hora; la comparación de §3 da el break-even. Estos tres números alimentan directamente los demás instrumentos de la serie:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Instrumento&lt;/th>
&lt;th>Input de este artículo&lt;/th>
&lt;th>Output&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/guidellm-validacion-slo-bajo-carga/">GuideLLM — validación SLO bajo carga&lt;/a>&lt;/td>
&lt;td>SLO TTFT/ITL P99 del paso 2&lt;/td>
&lt;td>Confirmación experimental del throughput real por GPU&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/capacity-planning-inferencia-llm-on-premise/">Capacity planning inferencia on-premise&lt;/a>&lt;/td>
&lt;td>Perfil de demanda y N GPUs del paso 4&lt;/td>
&lt;td>Política de escalado y autoscaling triggers&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/coste-por-token-y-por-request/">Coste por token y por request&lt;/a>&lt;/td>
&lt;td>EUR/GPU-hora del paso §2.2&lt;/td>
&lt;td>EUR/1M tokens por modelo y batching&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/cloud-gpu-commitment-spot-neoclouds/">Cloud GPU commitment y spot&lt;/a>&lt;/td>
&lt;td>Precios cloud de la tabla §2.4&lt;/td>
&lt;td>Optimización del tier cloud complementario&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/on-premise-soberano-vs-hyperscalers-datos/">On-premise soberano vs hyperscalers&lt;/a>&lt;/td>
&lt;td>Break-even de §3&lt;/td>
&lt;td>Decisión final compra/alquiler incluyendo eje soberanía&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/tco-on-premise-gpu-cluster/">TCO on-premise GPU cluster&lt;/a>&lt;/td>
&lt;td>Capex y opex de §2.1&lt;/td>
&lt;td>Modelo TCO detallado con todas las partidas&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://blog.lo0.es/posts/utilizacion-gpu-como-finops/">Utilización GPU como FinOps&lt;/a>&lt;/td>
&lt;td>Utilización objetivo del paso 2&lt;/td>
&lt;td>Palancas de scheduling para subir la utilización real&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="fuentes">Fuentes&lt;/h2>
&lt;ul>
&lt;li>Spheron · LLM Inference SLO Engineering: TTFT, ITL, and P99 Latency Budgets for Production AI (2026) — &lt;a href="https://www.spheron.network/blog/llm-inference-slo-ttft-itl-latency-budget-guide-2026/">https://www.spheron.network/blog/llm-inference-slo-ttft-itl-latency-budget-guide-2026/&lt;/a>&lt;/li>
&lt;li>Spheron · vLLM vs TensorRT-LLM vs SGLang: H100 Benchmarks (2026) — &lt;a href="https://www.spheron.network/blog/vllm-vs-tensorrt-llm-vs-sglang-benchmarks/">https://www.spheron.network/blog/vllm-vs-tensorrt-llm-vs-sglang-benchmarks/&lt;/a>&lt;/li>
&lt;li>Spheron · GPU Cloud Pricing 2026: H100 from 1.03 USD/hr, B200 from 2.12 USD/hr — &lt;a href="https://www.spheron.network/blog/gpu-cloud-pricing-comparison-2026/">https://www.spheron.network/blog/gpu-cloud-pricing-comparison-2026/&lt;/a>&lt;/li>
&lt;li>Spheron · LLM Inference On-Premise vs GPU Cloud: 2026 Cost and Break-Even Analysis — &lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/&lt;/a>&lt;/li>
&lt;li>MLPerf Inference v5.1 — Red Hat: 5 777 tok/s (offline) en Llama 3.1-8B FP8 en H100 — &lt;a href="https://www.redhat.com/en/blog/efficient-and-reproducible-llm-inference-red-hat-mlperf-inference-v51-results">https://www.redhat.com/en/blog/efficient-and-reproducible-llm-inference-red-hat-mlperf-inference-v51-results&lt;/a>&lt;/li>
&lt;li>MLPerf Inference v6.0 Results Explained: GPU Performance Rankings for AI Workloads (2026) — &lt;a href="https://www.spheron.network/blog/mlperf-inference-v6-benchmark-results-2026/">https://www.spheron.network/blog/mlperf-inference-v6-benchmark-results-2026/&lt;/a>&lt;/li>
&lt;li>IntuitionLabs · H100 Rental Prices Compared: 1.49–6.98 USD/hr Across 15+ Cloud Providers (2026) — &lt;a href="https://intuitionlabs.ai/articles/h100-rental-prices-cloud-comparison">https://intuitionlabs.ai/articles/h100-rental-prices-cloud-comparison&lt;/a>&lt;/li>
&lt;li>CloudZero · Cloud GPU Pricing Comparison: AWS vs Azure vs GCP For AI Workloads (2026) — &lt;a href="https://www.cloudzero.com/blog/cloud-gpu-pricing-comparison/">https://www.cloudzero.com/blog/cloud-gpu-pricing-comparison/&lt;/a>&lt;/li>
&lt;li>Lenovo Press · On-Premise vs Cloud: Generative AI Total Cost of Ownership (2026 Edition) — &lt;a href="https://lenovopress.lenovo.com/lp2368-on-premise-vs-cloud-generative-ai-total-cost-of-ownership-2026-edition">https://lenovopress.lenovo.com/lp2368-on-premise-vs-cloud-generative-ai-total-cost-of-ownership-2026-edition&lt;/a>&lt;/li>
&lt;li>Introl · GPU Infrastructure TCO Model: 5-Year Cost Analysis for Enterprise AI (abr. 2026) — &lt;a href="https://introl.com/blog/gpu-infrastructure-tco-5-year-cost-model">https://introl.com/blog/gpu-infrastructure-tco-5-year-cost-model&lt;/a>&lt;/li>
&lt;li>GMI Cloud · NVIDIA H100 GPU Pricing 2026: Rent vs Buy Cost Analysis — &lt;a href="https://www.gmicloud.ai/en/blog/nvidia-h100-gpu-pricing-2026-rent-vs-buy-cost-analysis">https://www.gmicloud.ai/en/blog/nvidia-h100-gpu-pricing-2026-rent-vs-buy-cost-analysis&lt;/a>&lt;/li>
&lt;li>Red Hat · 233 % 3-year ROI and 13 months to payback with Red Hat AI (feb. 2026) — &lt;a href="https://www.redhat.com/en/blog/233-3-year-return-investment-and-13-months-payback-red-hat-ai">https://www.redhat.com/en/blog/233-3-year-return-investment-and-13-months-payback-red-hat-ai&lt;/a>&lt;/li>
&lt;li>VentureBeat · 5 % GPU utilization: the 401 billion USD AI infrastructure problem — &lt;a href="https://venturebeat.com/infrastructure/5-gpu-utilization-the-401-billion-ai-infrastructure-problem-enterprises-cant-keep-ignoring/">https://venturebeat.com/infrastructure/5-gpu-utilization-the-401-billion-ai-infrastructure-problem-enterprises-cant-keep-ignoring/&lt;/a>&lt;/li>
&lt;li>DZone · Queueing Theory for LLM Inference — &lt;a href="https://dzone.com/articles/queueing-theory-for-llm-inference">https://dzone.com/articles/queueing-theory-for-llm-inference&lt;/a>&lt;/li>
&lt;li>GuideLLM · Evaluate LLM deployments for real-world inference (Red Hat Developer, jun. 2025) — &lt;a href="https://developers.redhat.com/articles/2025/06/20/guidellm-evaluate-llm-deployments-real-world-inference">https://developers.redhat.com/articles/2025/06/20/guidellm-evaluate-llm-deployments-real-world-inference&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>