<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloud-Europeo on lo0 — Tech Blog</title><link>https://blog.lo0.es/en/tags/cloud-europeo/</link><description>Recent content in Cloud-Europeo on lo0 — Tech Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 14 Jun 2026 05:30:00 +0200</lastBuildDate><atom:link href="https://blog.lo0.es/en/tags/cloud-europeo/index.xml" rel="self" type="application/rss+xml"/><item><title>Sovereign on-premise vs hyperscalers: the case with data (cost, energy, performance and sovereignty)</title><link>https://blog.lo0.es/en/posts/sovereign-on-premise-vs-hyperscalers-data/</link><pubDate>Sun, 14 Jun 2026 05:30:00 +0200</pubDate><guid>https://blog.lo0.es/en/posts/sovereign-on-premise-vs-hyperscalers-data/</guid><description>&lt;blockquote>
&lt;p>Notation: amounts in &lt;strong>euros (N €)&lt;/strong>, decimals with a point; when a source quotes dollars it is marked
&amp;ldquo;USD&amp;rdquo;. Data centred on Europe and Spain. The dollar symbol is not used (formula delimiter).&lt;/p>
&lt;/blockquote>
&lt;h2 id="what-this-article-covers">What this article covers&lt;/h2>
&lt;p>&lt;strong>Synthesis&lt;/strong> article of the series (S2), and the heart of the proposal: the case with data for
sovereign on-premise against the hyperscalers and the European cloud. Up to here, each track
measured its own axis, cost per token (FinOps), goodput (benchmarking), energy and carbon; here the
four are crossed, with a fourth dimension no US technical comparison puts up front: &lt;strong>data
sovereignty&lt;/strong>. The aim is to answer, with numbers and not with ideology, the question that underpins
any investment in an AI platform: &lt;strong>serve on your own iron, on a European cloud or on a
hyperscaler?&lt;/strong> And to do it honestly: on-prem &lt;strong>does not always win&lt;/strong>, and saying when it wins and
when it does not is what makes the recommendation credible.&lt;/p>
&lt;hr>
&lt;h2 id="the-framework-four-axes-not-one-number">The framework: four axes, not one number&lt;/h2>
&lt;p>The mistake in almost every comparison is reducing the decision to the hourly cost of a GPU. The real
decision crosses &lt;strong>four axes&lt;/strong>, and only by seeing them together do you decide well:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Axis&lt;/th>
&lt;th>Question&lt;/th>
&lt;th>Who measures it in the series&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Cost (TCO)&lt;/td>
&lt;td>how much does it cost to serve, all in?&lt;/td>
&lt;td>FinOps (A2–A8)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Performance&lt;/td>
&lt;td>does it meet the SLO, at what goodput?&lt;/td>
&lt;td>Benchmarking (B2–B8)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Energy and carbon&lt;/td>
&lt;td>how many watts and grams per token?&lt;/td>
&lt;td>Energy (C2–C8)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sovereignty&lt;/td>
&lt;td>under which jurisdiction does the data live?&lt;/td>
&lt;td>GDPR / EU AI Act / CSRD&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The first three are quantifiable and meet in the cost per token; the fourth is a &lt;strong>constraint&lt;/strong>
that can rule out an option however cheap it is. The synthesis consists of scoring each option on all
four and deciding on the Pareto frontier, not on whichever axis happens to suit.&lt;/p>
&lt;hr>
&lt;h2 id="the-cost-axis-tco-and-break-even">The cost axis: TCO and break-even&lt;/h2>
&lt;p>The real on-premise cost is amortised capex plus opex, and its cost per effective hour depends on
&lt;strong>utilisation&lt;/strong>:&lt;/p>
$$\text{effective cost/GPU-hour (on-prem)} = \frac{\text{annual amortised capex} + \text{annual opex}}{8760 \times \text{utilisation}}$$
&lt;p>This formula is the key to the whole debate: &lt;strong>the cost per useful hour of on-prem rises as
utilisation falls&lt;/strong>, because capex is paid whether the GPU is working or idle. The 2026 data:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Data point&lt;/th>
&lt;th>Value&lt;/th>
&lt;th>Source&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>On-prem cost 8×H100 (floor, high util.)&lt;/td>
&lt;td>~2.83 USD/GPU-hour &lt;em>all-in&lt;/em>&lt;/td>
&lt;td>&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Annual on-prem cost (floor)&lt;/td>
&lt;td>~237,000 USD/year&lt;/td>
&lt;td>&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS H100 (p5.48xlarge)&lt;/td>
&lt;td>4.10–6.88 USD/GPU-hour&lt;/td>
&lt;td>&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>AWS 8-GPU on-demand annual (100 % util)&lt;/td>
&lt;td>287,000–482,000 USD/year&lt;/td>
&lt;td>&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sovereign European cloud (Lyceum/Scaleway)&lt;/td>
&lt;td>from 2–2.73 €/GPU-hour, zero-egress&lt;/td>
&lt;td>&lt;a href="https://lyceum.technology/magazine/eu-sovereign-inference-platform-comparison/">Lyceum&lt;/a>, &lt;a href="https://www.scaleway.com/en/h100/">Scaleway&lt;/a>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The &lt;strong>break-even&lt;/strong> against AWS on-demand falls around 50–83 % utilisation depending on region and
tariff; &lt;strong>below ~70 % utilisation, the cloud wins&lt;/strong> on TCO, and above it, on-prem
(&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>). For very
high-utilisation workloads, on-prem pays for itself in less than 4 months (&lt;a href="https://lenovopress.lenovo.com/lp2368-on-premise-vs-cloud-generative-ai-total-cost-of-ownership-2026-edition">Lenovo&lt;/a>).&lt;/p>
&lt;h3 id="three-year-tco-the-full-calculation-for-an-8h100-node">Three-year TCO: the full calculation for an 8×H100 node&lt;/h3>
&lt;p>Abstract numbers do not convince a committee; a three-year model with declared line items does. Take a
sovereign 8×H100 node in Spain and compare it, for the same work, with AWS and with a European
cloud. Declared assumptions: amortisation over 3 years, energy at a solar PPA of 32.5 €/MWh
(with grid backup), PUE 1.3, and two utilisation scenarios (50 % and 80 %).&lt;/p>
&lt;p>&lt;strong>On-premise (own node), annual line items:&lt;/strong>&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Line item&lt;/th>
&lt;th>Annual value&lt;/th>
&lt;th>Note&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Amortised capex (node ~270,000 € / 3 years)&lt;/td>
&lt;td>~90,000 €&lt;/td>
&lt;td>8×H100 server + network + storage&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Energy (≈10.4 kW × PUE 1.3 × 8760 h)&lt;/td>
&lt;td>~3,850 € (at 32.5 €/MWh)&lt;/td>
&lt;td>with solar PPA; at grid tariff, ~12–18 k €&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Operation, cooling, maintenance&lt;/td>
&lt;td>~25,000 €&lt;/td>
&lt;td>prorated staff, support, spares&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Datacenter space (rack, connectivity)&lt;/td>
&lt;td>~12,000 €&lt;/td>
&lt;td>colocation or own datacenter&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Annual total&lt;/td>
&lt;td>~131,000 €&lt;/td>
&lt;td>independent of utilisation&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>At a fixed 131,000 €/year, the cost per token depends only on how many tokens you generate,
that is, on utilisation:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Utilisation&lt;/th>
&lt;th>Useful GPU-hours/year&lt;/th>
&lt;th>Cost/1M tokens&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>50 %&lt;/td>
&lt;td>~35,000&lt;/td>
&lt;td>~2.9 €&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>65 %&lt;/td>
&lt;td>~45,500&lt;/td>
&lt;td>~2.2 €&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>80 %&lt;/td>
&lt;td>~56,000&lt;/td>
&lt;td>~1.8 € (with cheap grid, ~1.1 €)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Sovereign European cloud (Scaleway/Lyceum), pay per use:&lt;/strong> at ~2.2 €/GPU-hour with zero-egress, the
cost per token is &lt;strong>constant with utilisation&lt;/strong> (you only pay for what you use): ~1.5–2.2 €/1M tokens
depending on model and batching, with no capex and no idle risk.&lt;/p>
&lt;p>&lt;strong>Hyperscaler (AWS p5), on-demand:&lt;/strong> at 4.10–6.88 USD/GPU-hour (≈3.8–6.4 €), the cost per token works
out at ~2–3.5 €/1M tokens, and on top of that you have to add the egress, quite apart from the
fact that for GDPR data the sovereignty axis rules it out already.&lt;/p>
&lt;p>The reading of the model is the thesis of the whole of S2: &lt;strong>at 50 % utilisation, on-prem (~2.9 €) does
not beat the European cloud (~1.8 €); at 80 % with cheap energy (~1.1 €), it beats it comfortably&lt;/strong>. The
crossover sits, as the literature says, around 65–70 %. Investing in on-prem is, fundamentally, a
bet that you will sustain high utilisation, and that bet is won with scheduling, not with hardware.&lt;/p>
&lt;div class="diagram" style="max-width:780px;margin:1rem auto;">
&lt;svg viewBox="0 0 780 250" role="img" aria-label="Break-even on-prem vs cloud by utilisation: the cost per useful hour of on-prem falls with utilisation and crosses that of the cloud at around 65-70 per cent" 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.6}.dsh{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:4 3}.tl{font:600 12px sans-serif;fill:currentColor}.ts{font:11px sans-serif;fill:currentColor}&lt;/style>
&lt;line class="ax" x1="60" y1="40" x2="60" y2="200"/>
&lt;line class="ax" x1="60" y1="200" x2="720" y2="200"/>
&lt;text x="20" y="130" class="ts" transform="rotate(-90 20 130)">cost/useful hour&lt;/text>
&lt;text x="330" y="228" class="ts">utilisation (%) →&lt;/text>
&lt;path class="cv" d="M90,55 C200,90 320,130 430,150 C540,165 640,172 700,175"/>
&lt;text x="95" y="50" class="ts">on-prem (fixed capex)&lt;/text>
&lt;line class="cv" x1="60" y1="150" x2="720" y2="150"/>
&lt;text x="600" y="143" class="ts">cloud (≈ flat)&lt;/text>
&lt;line class="dsh" x1="430" y1="40" x2="430" y2="200"/>
&lt;text x="392" y="56" class="tl">break-even ~65-70%&lt;/text>
&lt;text x="110" y="190" class="ts">low util.: cloud wins&lt;/text>
&lt;text x="520" y="190" class="ts">high util.: on-prem wins&lt;/text>
&lt;text x="60" y="245" class="ts">On-prem only wins to the right of the break-even; fixed capex penalises it at low utilisation.&lt;/text>
&lt;/svg>
&lt;/div>
&lt;hr>
&lt;h2 id="the-uncomfortable-reality-the-utilisation-almost-nobody-reaches">The uncomfortable reality: the utilisation almost nobody reaches&lt;/h2>
&lt;p>Here is the honest figure missing from the &amp;ldquo;on-prem is always cheaper&amp;rdquo; speeches: &lt;strong>most inference teams
in production operate at 40–65 % GPU utilisation&lt;/strong>, because of traffic variability and the limits of
batching; the 80–90 % assumption that makes on-prem attractive &lt;strong>is rarely reached outside batch-only
pipelines&lt;/strong> (&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>).&lt;/p>
&lt;p>This changes the naive conclusion: if your real utilisation is 50 %, on-prem &lt;strong>is not cheaper&lt;/strong> than
the cloud, because the capex you pay for the idle GPU eats you. That is why utilisation is not a
detail, it is &lt;strong>the variable that decides the cost axis&lt;/strong>, and it connects directly with the FinOps
track (the idle of A2, the chargeback of A5) and with scheduling: &lt;strong>raising utilisation is what makes
on-prem pay&lt;/strong>. A badly used cluster of your own is more expensive than the cloud; a well scheduled one
is far cheaper. The cost question is not &amp;ldquo;on-prem or cloud?&amp;rdquo;, it is &amp;ldquo;&lt;strong>can I sustain high
utilisation?&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="the-hidden-costs-of-the-cloud-egress">The hidden costs of the cloud: egress&lt;/h2>
&lt;p>The cloud has its own small print: &lt;strong>egress costs&lt;/strong> (taking data out of the provider). In the
hyperscalers, moving data out or between regions is billed, and in AI workloads with a lot of data
movement (datasets, checkpoints, embeddings) it can be a significant line item that does not appear in
the GPU-hour price. The advantage of the sovereign European cloud: most of them (Lyceum among
others) have adopted the zero-egress model, they do not charge for moving data out or between
regions (&lt;a href="https://lyceum.technology/magazine/eu-sovereign-inference-platform-comparison/">Lyceum&lt;/a>). When
comparing, the real hyperscaler cost is GPU-hour + egress + other charges, not just the GPU-hour;
ignoring it artificially inflates the hyperscaler&amp;rsquo;s competitiveness.&lt;/p>
&lt;p>An example of the order of magnitude: a platform moving 50 TB/month outbound (datasets,
checkpoints, responses served to systems outside the provider) at a typical egress tariff of
~0.08–0.09 €/GB pays ~4,000–4,500 €/month, that is ~50,000 €/year on egress alone, a line item
the size of a third of the cost of a node of your own, invisible in the GPU-hour price. On the European
cloud with zero-egress that line item is zero; on-prem, internal traffic is not billed either.
That is why a fair comparison must model egress according to the real data pattern: for workloads with
a lot of outbound movement, it can invert the ranking between hyperscaler and European cloud. The
cloud bill is not the GPU-hour; it is the GPU-hour plus everything you move.&lt;/p>
&lt;p>To this is added contract and lock-in risk: the hyperscaler&amp;rsquo;s on-demand GPU tariffs can change,
commitment discounts (reserved/savings plans) tie you for 1–3 years, and migrating out, because of
egress and coupling to proprietary services, has a real exit cost. On-prem and the European cloud with
standard APIs (Kubernetes, S3 compatible) reduce that coupling: the same manifest and the same vLLM run
on your cluster or on Scaleway without rewriting. Operational sovereignty, being able to move the
workload without rebuilding it, is a value that does not appear in the tariff but weighs on a
three-year decision.&lt;/p>
&lt;hr>
&lt;h2 id="the-performance-axis-the-provider-does-not-decide-goodput-does">The performance axis: the provider does not decide, goodput does&lt;/h2>
&lt;p>One point that simplifies the synthesis: &lt;strong>performance does not depend on the provider, it depends on
the hardware and the configuration&lt;/strong>. An H100 gives the same goodput on your cluster, on Scaleway or on
AWS, served with the same vLLM and the same config. What decides performance is the &lt;strong>goodput under
your SLO&lt;/strong> (track B), not who hosts the GPU. So, in a comparison at equal hardware, the performance
axis neutralises itself: what changes between options is cost, energy and sovereignty. The
exception: if a provider gives you access to newer hardware (B200, GB200) ahead of your on-prem buying
cycle, then the cloud can win on performance per GPU, a real argument in favour of the cloud for
staying at the hardware frontier without capex.&lt;/p>
&lt;hr>
&lt;h2 id="the-energy-axis-the-european-and-spanish-advantage">The energy axis: the European and Spanish advantage&lt;/h2>
&lt;p>Here on-prem (or cloud) in Spain or France has a structural advantage over a hyperscaler in a dirty
region. Recalling the data from the energy track:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Location&lt;/th>
&lt;th>Grid carbon (gCO₂/kWh)&lt;/th>
&lt;th>Price (indicative)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>France (nuclear)&lt;/td>
&lt;td>~20–60&lt;/td>
&lt;td>low and stable&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Spain (renewables + gas)&lt;/td>
&lt;td>~150–170&lt;/td>
&lt;td>low, volatile; solar PPA ~32.5 €/MWh&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Germany&lt;/td>
&lt;td>~363&lt;/td>
&lt;td>high&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hyperscaler (region depends on provider)&lt;/td>
&lt;td>depends; often not selectable&lt;/td>
&lt;td>provider tariff&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The same workload in &lt;strong>France emits ~9× less carbon per token than in Germany&lt;/strong>, and in Spain, with a
solar PPA at 32.5 €/MWh (an all-time low), the electricity cost, 30–50 % of the TCO, is low and,
under contract, predictable. A sovereign cluster in Spain or France controls where the energy is
consumed and with what carbon; a hyperscaler gives you the region it gives you, often with no choice of
grid intensity. For CSRD reporting, that selectability is a quantifiable advantage of on-prem and the
European cloud.&lt;/p>
&lt;p>In concrete numbers: the example 8×H100 node (~10.4 kW × PUE 1.3 ≈ 118,000 kWh/year) emits, depending
on the grid, ~2.4 t CO₂/year in France (~20 gCO₂/kWh) against ~43 t CO₂/year in Germany
(~363 gCO₂/kWh), the same machine, the same work, ~18× the difference in reportable footprint just
by choosing the location. That decision, which a hyperscaler in an imposed region does not let you
take, is exactly what on-prem and the sovereign European cloud put in your hands. The energy axis is
not an environmental detail: it is cost (the price of the kWh), compliance (CSRD) and sovereignty
(control of location) all at once.&lt;/p>
&lt;hr>
&lt;h2 id="the-sovereignty-axis-the-one-that-does-not-depend-on-utilisation">The sovereignty axis: the one that does not depend on utilisation&lt;/h2>
&lt;p>And here is the axis that invalidates the cheapest option if the data is sensitive. US hyperscalers
are subject to the &lt;strong>US CLOUD Act&lt;/strong>: US authorities can demand data held by a US company &lt;strong>even if it
sits in a European datacenter&lt;/strong>. For data subject to the &lt;strong>GDPR&lt;/strong>, that is a compliance risk. &lt;strong>Sovereign
European clouds&lt;/strong> operate under &lt;strong>EU/EFTA jurisdiction&lt;/strong>, providing data residency and GDPR compliance,
and are exempt from the US CLOUD Act
(&lt;a href="https://lyceum.technology/magazine/sovereign-cloud-providers-2026/">Lyceum · sovereign providers&lt;/a>).
On-prem of your own is the maximum degree of sovereignty: the data does not leave your cluster.&lt;/p>
&lt;p>The key difference from the other axes: sovereignty &lt;strong>does not depend on utilisation or on volume&lt;/strong>.
However much a hyperscaler cheapens the GPU-hour, for GDPR data &lt;strong>it is not an option&lt;/strong>, the
jurisdiction risk is not offset by price. It links with &lt;a href="https://blog.lo0.es/en/posts/technical-controls-ens-iso-42001-eu-ai-act-cross-mapping/">the ENS × ISO 42001 × EU AI Act controls&lt;/a>
and &lt;a href="https://blog.lo0.es/en/posts/eu-ai-act-technical-dossier-on-premise-llm-architecture/">the EU AI Act mapping&lt;/a>: compliance is a
hard constraint, not an axis to optimise.&lt;/p>
&lt;p>The four instruments that turn sovereignty into a concrete constraint rather than a slogan:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Instrument&lt;/th>
&lt;th>What it requires&lt;/th>
&lt;th>Implication for the architecture&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>US CLOUD Act&lt;/td>
&lt;td>gives the US access to data held by US companies, wherever it is&lt;/td>
&lt;td>a US hyperscaler does not guarantee jurisdictional residency even if the datacenter is in the EU&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>GDPR&lt;/td>
&lt;td>residency and processing of personal data under EU law&lt;/td>
&lt;td>requires an EU/EFTA provider or your own iron for personal data&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>EU AI Act&lt;/td>
&lt;td>traceability, risk management and records for AI systems&lt;/td>
&lt;td>favours the full control of the stack (logs, datasets, models) that on-prem gives&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>CSRD&lt;/td>
&lt;td>verifiable reporting of environmental footprint&lt;/td>
&lt;td>the selectable energy (clean grid, PPA) of on-prem and the European cloud is auditable&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The operational conclusion: for a European entity processing personal data or deploying high-risk AI,
&lt;strong>three of the four technical axes can favour the hyperscaler and it can still lose&lt;/strong>, because the
fourth axis, sovereignty, acts as a prior filter. That is why S2 orders the decision like this:
&lt;strong>first the sovereignty filter&lt;/strong> (which rules out the hyperscaler for GDPR data), &lt;strong>then the
optimisation of cost, performance and energy&lt;/strong> among the options that pass the filter (sovereign
on-prem and European cloud).&lt;/p>
&lt;hr>
&lt;h2 id="the-scorecard-the-three-options-scored">The scorecard: the three options scored&lt;/h2>
&lt;p>Crossing the four axes for the three realistic options of a European platform (order-of-magnitude,
illustrative figures):&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Option&lt;/th>
&lt;th>Cost/1M tok&lt;/th>
&lt;th>Break-even&lt;/th>
&lt;th>Energy/carbon&lt;/th>
&lt;th>Sovereignty&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Sovereign on-prem (ES/FR)&lt;/td>
&lt;td>~1.1 € (high util.) / ~3 € (low)&lt;/td>
&lt;td>&amp;gt;65–70 % util.&lt;/td>
&lt;td>controllable (clean grid, PPA)&lt;/td>
&lt;td>total (EU)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Sovereign European cloud&lt;/td>
&lt;td>~1.5–2.2 €&lt;/td>
&lt;td>no capex, pay per use&lt;/td>
&lt;td>EU, zero-egress&lt;/td>
&lt;td>high (EU)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hyperscaler (US)&lt;/td>
&lt;td>~2–3.5 € + egress&lt;/td>
&lt;td>no capex&lt;/td>
&lt;td>imposed region&lt;/td>
&lt;td>not EU (CLOUD Act)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;div class="diagram" style="max-width:780px;margin:1rem auto;">
&lt;svg viewBox="0 0 780 220" role="img" aria-label="Scorecard: sovereign on-prem, sovereign European cloud and hyperscaler scored on cost, energy and sovereignty; the hyperscaler loses on sovereignty" xmlns="http://www.w3.org/2000/svg">
&lt;style>.bx{fill:none;stroke:currentColor;stroke-width:1.3}.tl{font:600 12px sans-serif;fill:currentColor}.ts{font:11px sans-serif;fill:currentColor}&lt;/style>
&lt;rect class="bx" x="20" y="40" width="230" height="130" rx="6"/>
&lt;text x="32" y="62" class="tl">Sovereign on-prem (ES/FR)&lt;/text>
&lt;text x="32" y="84" class="ts">cost: lowest IF util. is high&lt;/text>
&lt;text x="32" y="104" class="ts">energy: controllable (PPA, grid)&lt;/text>
&lt;text x="32" y="124" class="ts">sovereignty: TOTAL&lt;/text>
&lt;text x="32" y="148" class="ts">risk: capex + utilisation&lt;/text>
&lt;rect class="bx" x="275" y="40" width="230" height="130" rx="6"/>
&lt;text x="287" y="62" class="tl">Sovereign European cloud&lt;/text>
&lt;text x="287" y="84" class="ts">cost: medium, no capex&lt;/text>
&lt;text x="287" y="104" class="ts">energy: EU, zero-egress&lt;/text>
&lt;text x="287" y="124" class="ts">sovereignty: HIGH (EU)&lt;/text>
&lt;text x="287" y="148" class="ts">risk: pay-per-use price&lt;/text>
&lt;rect class="bx" x="530" y="40" width="230" height="130" rx="6"/>
&lt;text x="542" y="62" class="tl">Hyperscaler (US)&lt;/text>
&lt;text x="542" y="84" class="ts">cost: medium + egress&lt;/text>
&lt;text x="542" y="104" class="ts">energy: imposed region&lt;/text>
&lt;text x="542" y="124" class="ts">sovereignty: NOT EU ✗&lt;/text>
&lt;text x="542" y="148" class="ts">ruled out for GDPR data&lt;/text>
&lt;text x="20" y="200" class="ts">For GDPR data the hyperscaler is out on sovereignty, however cheap. The real decision is on-prem vs European cloud.&lt;/text>
&lt;/svg>
&lt;/div>
&lt;p>The reading of the scorecard: for data subject to the GDPR, &lt;strong>the US hyperscaler is ruled out by the
sovereignty axis&lt;/strong>, however competitive its tariff. The real decision comes down to &lt;strong>sovereign on-prem
vs sovereign European cloud&lt;/strong>, and there it is decided by &lt;strong>utilisation&lt;/strong> and &lt;strong>volume&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="when-each-option-wins">When each option wins&lt;/h2>
&lt;p>The honest recommendation, by scenario:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Scenario&lt;/th>
&lt;th>Winning option&lt;/th>
&lt;th>Why&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>High, sustained volume (util. &amp;gt;65–70 %), GDPR data&lt;/td>
&lt;td>Sovereign on-prem&lt;/td>
&lt;td>lowest cost/token + total sovereignty&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Variable or growing volume, GDPR data&lt;/td>
&lt;td>Sovereign European cloud&lt;/td>
&lt;td>sovereignty without capex/idle risk&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Low volume or sporadic peak&lt;/td>
&lt;td>European cloud (per use)&lt;/td>
&lt;td>you do not amortise the capex&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>No sovereignty requirement, hardware frontier&lt;/td>
&lt;td>Hyperscaler&lt;/td>
&lt;td>access to new hardware without capex&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hybrid (base + peak)&lt;/td>
&lt;td>On-prem + European cloud (burst)&lt;/td>
&lt;td>cheap base of your own, sovereign elastic peak&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>On-prem makes sense when there is &lt;strong>very high, predictable utilisation (80 %+), strict sovereignty
requirements, or a hyperscaler contract that works out expensive&lt;/strong> (&lt;a href="https://www.spheron.network/blog/llm-inference-on-premise-vs-cloud/">Spheron&lt;/a>).
For sovereign platforms with a sustained base load, the winning pattern is usually the &lt;strong>hybrid&lt;/strong>:
sovereign on-prem for the high-utilisation base (where the cost per token is unbeatable) and
sovereign European cloud for the peak and for growth (elastic, no capex, keeping EU jurisdiction).
The best of both without giving up sovereignty.&lt;/p>
&lt;h3 id="sizing-the-hybrid-how-much-on-iron-how-much-on-cloud">Sizing the hybrid: how much on iron, how much on cloud&lt;/h3>
&lt;p>The hybrid is not &amp;ldquo;a bit of each&amp;rdquo;; it is sized with one figure: the &lt;strong>base load percentile&lt;/strong>. The rule
is to put on on-prem the load that is almost always present (the load that keeps the GPU at
75–85 %) and to send to the European cloud only the peaks that, if covered with iron, would leave
GPUs idle most of the time. An example with a realistic traffic profile:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Load band&lt;/th>
&lt;th>% of the time&lt;/th>
&lt;th>Where to serve&lt;/th>
&lt;th>Why&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Base (p0–p70)&lt;/td>
&lt;td>always&lt;/td>
&lt;td>on-prem (1 node 8×H100 at ~80 %)&lt;/td>
&lt;td>minimum cost/token, high util. guaranteed&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Middle (p70–p95)&lt;/td>
&lt;td>daily peak hours&lt;/td>
&lt;td>on-prem if it fits, otherwise European cloud&lt;/td>
&lt;td>elasticity without idle capex&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Peak (p95–p100)&lt;/td>
&lt;td>sporadic&lt;/td>
&lt;td>sovereign European cloud (burst)&lt;/td>
&lt;td>absurd to buy iron for a rare peak&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>With this split, the base amortises your own node at high utilisation (~1.1–1.8 €/1M tokens) and the
peak is paid per use with no idle penalty (~1.5–2.2 €/1M tokens), all under EU jurisdiction. The
expensive mistake is the opposite: sizing the on-prem for the peak, in which case the GPU spends
most of its time idle at 30–40 %, the cost per token shoots up above 3 € and the cloud would have been
cheaper. &lt;strong>You size the iron for the base, not for the peak&lt;/strong>; the peak is exactly what the cloud does
well. This principle connects with the capacity planning and the scheduling (Kueue/Volcano) of the
series: the hybrid only works if the scheduler fills your own node before overflowing to the cloud.&lt;/p>
&lt;hr>
&lt;h2 id="assumptions-and-sensitivity">Assumptions and sensitivity&lt;/h2>
&lt;p>The whole comparison hangs on assumptions that have to be declared, because moving them moves the
conclusion:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Assumption&lt;/th>
&lt;th>If it rises&lt;/th>
&lt;th>Effect&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Utilisation&lt;/td>
&lt;td>50 % → 80 %&lt;/td>
&lt;td>on-prem goes from losing to clearly winning&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Energy price&lt;/td>
&lt;td>expensive region → France/PPA&lt;/td>
&lt;td>lowers on-prem TCO and carbon&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Amortisation period&lt;/td>
&lt;td>24 → 36 months&lt;/td>
&lt;td>lowers the on-prem cost per hour&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Volume&lt;/td>
&lt;td>&amp;lt; 2M tok/day → much more&lt;/td>
&lt;td>crosses the break-even towards on-prem&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Egress (hyperscaler)&lt;/td>
&lt;td>low → high&lt;/td>
&lt;td>makes the hyperscaler dearer than the European cloud&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>The rule: &lt;strong>no on-prem vs cloud comparison is valid without fixing these assumptions&lt;/strong>. One that says
&amp;ldquo;on-prem is 3× cheaper&amp;rdquo; without declaring the assumed utilisation is propaganda; one that fixes
utilisation, energy price, period and volume is a data point. The dossier must present the case with
explicit assumptions and a sensitivity analysis, which is what makes it defensible before a committee
that questions them.&lt;/p>
&lt;h2 id="decision-checklist">Decision checklist&lt;/h2>
&lt;p>To take S2 from theory to decision, the questions that order the choice, in order:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Is the data subject to the GDPR, or is the system high-risk under the EU AI Act?&lt;/strong> If so, the US
hyperscaler is &lt;strong>ruled out on sovereignty&lt;/strong>; you choose between on-prem and European cloud. If not,
the hyperscaler enters the cost comparison.&lt;/li>
&lt;li>&lt;strong>Can I sustain utilisation above 65–70 % on the base load?&lt;/strong> If so, on-prem wins on cost for that
base. If not, the European cloud avoids paying capex for idle GPUs.&lt;/li>
&lt;li>&lt;strong>Does the traffic profile have marked peaks?&lt;/strong> If so, &lt;strong>hybrid&lt;/strong>: base on iron, peak on European
cloud. Size the iron for the base, never for the peak.&lt;/li>
&lt;li>&lt;strong>How much data do I take out of the provider each month?&lt;/strong> Model the egress; with a lot of
movement, the zero-egress of the European cloud, or on-prem, win clearly.&lt;/li>
&lt;li>&lt;strong>Which electricity grid and at what price?&lt;/strong> France or Spain with a PPA lower TCO and carbon;
include it in the model and in the CSRD report.&lt;/li>
&lt;li>&lt;strong>Have I fixed utilisation, energy, period and volume in writing?&lt;/strong> Without those four declared
assumptions, the number is not defensible.&lt;/li>
&lt;/ol>
&lt;p>Whoever answers these six questions with data, not with intuition, has the case built. The series'
recommendation for a sovereign European platform with a sustained base load is stable: &lt;strong>sovereign
on-prem for the high-utilisation base plus sovereign European cloud for the peak&lt;/strong>, with the
hyperscaler reserved only for workloads with no sovereignty requirement where frontier hardware is
needed without capex.&lt;/p>
&lt;hr>
&lt;h2 id="limits-and-traps-data-driven">Limits and traps (data-driven)&lt;/h2>
&lt;ol>
&lt;li>&lt;strong>Unrealistic assumed utilisation.&lt;/strong> The 80–90 % that makes on-prem win rarely happens in production
(40–65 % typical). Model your real utilisation, not the ideal one.&lt;/li>
&lt;li>&lt;strong>Comparing only the GPU-hour.&lt;/strong> TCO includes energy, operation, cooling, egress (cloud) and capex
(on-prem). Compare totals with the same assumptions.&lt;/li>
&lt;li>&lt;strong>Ignoring sovereignty.&lt;/strong> For GDPR data, the sovereignty axis rules out the hyperscaler before cost
does; it is not negotiable with price.&lt;/li>
&lt;li>&lt;strong>Forgetting the hybrid.&lt;/strong> It is not &amp;ldquo;all on-prem or all cloud&amp;rdquo;; the base-plus-peak pattern usually
dominates.&lt;/li>
&lt;li>&lt;strong>Data in USD.&lt;/strong> US comparisons are in dollars and with dirty regions; convert them to euros and to
your region&amp;rsquo;s grid (Spain/France) for your case.&lt;/li>
&lt;/ol>
&lt;p>The synthesis of S2, in one sentence: &lt;strong>for sovereign European data, the decision is not on-prem vs
cloud in the abstract, but sovereign on-prem (high utilisation) plus sovereign European cloud (peak)
against a hyperscaler that the sovereignty axis rules out&lt;/strong>, and utilisation is the variable that
splits the base between the first two. The rest of the series gives the numbers for each axis; this one
crosses them into the recommendation. The next synthesis article (S3) sizes the investment; this one
decides the architecture.&lt;/p>
&lt;h2 id="see-also">See also&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/cloud-gpu-on-demand-reserved-spot-neoclouds-2026-prices/">Cloud GPU: price comparison, commitment and sovereign neoclouds&lt;/a> — the on-demand, spot and reserved prices of the European cloud providers that appear as an alternative in this analysis, with updated 2026 data.&lt;/li>
&lt;li>&lt;a href="https://blog.lo0.es/en/posts/full-tco-on-premise-gpu-cluster-capex-gpu-hour-break-even/">TCO of the on-premise GPU cluster: amortisation, energy and infrastructure&lt;/a> — the full breakdown of on-premise TCO: server CAPEX, amortisation, energy, network and staff, with the spreadsheet that gives the real €/GPU-hour.&lt;/li>
&lt;/ul>
&lt;h2 id="sources">Sources&lt;/h2>
&lt;ul>
&lt;li>Spheron · LLM Inference On-Premise vs GPU Cloud: 2026 Cost and Break-Even — &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>Lenovo Press · On-Premise vs Cloud: Generative AI TCO (2026) — &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>Lyceum · EU Sovereign Inference Platform Comparison (2026) — &lt;a href="https://lyceum.technology/magazine/eu-sovereign-inference-platform-comparison/">https://lyceum.technology/magazine/eu-sovereign-inference-platform-comparison/&lt;/a>&lt;/li>
&lt;li>Lyceum · Sovereign Cloud Providers 2026 — &lt;a href="https://lyceum.technology/magazine/sovereign-cloud-providers-2026/">https://lyceum.technology/magazine/sovereign-cloud-providers-2026/&lt;/a>&lt;/li>
&lt;li>Scaleway · H100 GPU instance (precio €, soberanía UE) — &lt;a href="https://www.scaleway.com/en/h100/">https://www.scaleway.com/en/h100/&lt;/a>&lt;/li>
&lt;li>Nerd Level Tech · GPU Cloud TCO 2026: hidden fees, egress costs — &lt;a href="https://nerdleveltech.com/gpu-cloud-comparison-2026-the-real-cost-of-ai-compute">https://nerdleveltech.com/gpu-cloud-comparison-2026-the-real-cost-of-ai-compute&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>