Virtscale
European managed compute

European compute, with a contract.

Managed infrastructure for transactional teams. You commit a monthly capacity envelope. We run it on a single, well-documented substrate out of Amsterdam. Autoscale fires inside the envelope; past it, we return a 429 and email you. No tier-flips, no usage surprises.

acme-tickets / capacity
console.virtscale.eu

Capacity envelope

acme-tickets
Used vCPU
47/ 100 committed
47% of quota cap at 110
Memory
192GiB/ 480 committed
cap+10% · signed 2025-11-02
contractv12.4 · quarterly
billingEUR · monthly · net 14
When Event Pool · action Δt
today · 03:14 scaled web · 8 → 9 52s
yesterday · 19:42 scaled web · 7 → 8 48s
2026-05-13 · 11:08 scaled workers · 4 → 5 61s
2026-05-11 · 22:30 scaled web · 6 → 7 44s
2026-05-10 · 03:18 settled web · 9 → 8 cooldown
Operating European workloads since 2024
Platform

Infrastructure designed around a single rule.

Three properties that the rest of the platform follows from. They are not features. They are the shape of the agreement you sign before any vCPU is provisioned.

Capped autoscale

The autoscaler reads your contract before every provisioning call. Inside the envelope, it grows the pool reactively, median 52 seconds end-to-end. Past it, it returns HTTP 429 and emails the org owner.

Read about autoscale

European data residency

One region, by design: Amsterdam (nl-ams-1). All compute, storage, and logging stays in the European Union. DPA and GDPR posted; no transfers to third countries.

Read about residency

Operational transparency

Every postmortem published within ten business days. Every ADR public, every release-note version pinned. The decisions we made are searchable; the ones we haven't yet are on the roadmap.

Read engineering
The contract

Three numbers, signed once.

Every capacity decision the platform makes comes from these three values. They sit in the contract; the orchestrator reads from them on every call.

01

Quota — monthly committed capacity

vCPU, RAM, block storage, object storage. Paid as committed, in EUR. A typical transactional product signs 64 vCPU · 256 GiB · 2 TiB block.

02

Cap — signed overage allowance

How far above quota the autoscaler may grow before it refuses. Three options: +5%, +10%, +20%. Higher cap, more reserved headroom on our side.

03

Refusal — what happens past the cap

Provisioning calls return HTTP 429. The autoscaler stops growing the pool. The org owner receives an email within thirty seconds. The decision is not negotiable at 3am.

Architecture

One substrate. Five layers. No hidden hops.

The autoscale loop goes through the same five layers on every event: signal, policy, orchestration, data plane, audit. Versions are pinned; the bill of materials is public.

From signal to ledger line.

Every step is a real wire in production — Prometheus to a policy gate that reads your contract, OneFlow that provisions on top of OpenNebula, Cilium and HAProxy carrying the traffic, Ceph holding the state, an append-only ledger recording the decision.

Read the architecture
L1Signal · Prometheus, queue depth, p99 latency
L2Policy gate · reads contract, projects post-scale usage
L3Orchestration · OpenNebula · OneFlow · scheduler
L4Data plane · Cilium · HAProxy · Ceph
L5Audit · signed events · per-org ledger · postmortem
Engineering

What we ship, and how it broke.

Postmortems, ADRs, release notes. Written by the people on call, indexed under /engineering/. No marketing reviews, no email walls.

Tell us the shape of your workload.

vCPU, RAM, storage, one paragraph on the failure modes you care about. The first reply is from the on-call engineer who would operate it. Not a sales contact, not a marketing automation.