docs(scaleway): state of the art — capabilities, managed scope, observability - #17
Open
UlysseCarpentier wants to merge 6 commits into
Open
UlysseCarpentier wants to merge 6 commits into
UlysseCarpentier wants to merge 6 commits into
Conversation
4 tasks
UlysseCarpentier
added this pull request to stack #19
September 14, 2026 12:44
UlysseCarpentier
marked this pull request as ready for review
September 14, 2026 12:44
5 tasks
Garinlu
reviewed
Sep 15, 2026
UlysseCarpentier
force-pushed
the
docs/scaleway-kapsule-state-of-the-art
branch
from
September 17, 2026 09:39
a29a4d9 to
f63b5a0
Compare
Establish what Kapsule does and does not do, measured against EKS, GKE and AKS, and name the four limits the foundations module has to absorb: no workload identity federation, no fully private control plane, a 55/200 MB etcd cap, and no spot market or Karpenter. Settle what this research can settle — Kapsule over Kosmos, a Dedicated 4 control plane in production and mutualized elsewhere, workload metrics in the socle's own Prometheus rather than Cockpit at 2.5x the GKE rate per sample — and record that Cilium on this cloud is Scaleway's, without Hubble and without the kube-proxy replacement. Price the sprint's reference estate at ~EUR 1,140/month, against the $1,488 the same estate costs on GKE Autopilot. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A pre-created Private Network carries its own CIDR and the cluster uses it; only the /22 size is Kapsule's. The earlier wording claimed the prefix was imposed, which is wrong for any module that creates the network itself. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
No ticket in the Scaleway sprint owns network and security — AWS and GCP each have one, Scaleway does not — so the deferral this document carried pointed at nothing. Decide it here instead. Full isolation in every environment, so dev and staging exercise the egress path production uses. That costs Public Gateways, and the Public Gateway is zoned with no HA: Scaleway's own answer to a zone outage is several gateways on one Private Network, each advertising a default route. So three in production, one each in dev and staging — EUR 95/month, now in the estate, which lands at ~EUR 1,235. Also decided: an allowed-IP list required with no default, since the control plane cannot be made private and 0.0.0.0/0 is what ships; a security group per cluster, because the default one is shared between clusters; one VPC per environment; and a placement group per pool. State plainly that the sized estate does not survive a zone loss, and what it costs to make it (+EUR 311). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Two research documents, closing the two sprint tickets that the state of the art had reached into. managed-scope.md — the AWS gap grid, and its conclusion is the opposite of the expected one: Scaleway operates more of the data plane than EKS does (CoreDNS, kube-proxy, CNI, CSI, no version exposed, no opt-out), so the add-on line costs nothing. The gap is almost entirely credentials, at ~1.5 days/month per client. Load balancers delegated to the CCM, DNS and certificates to External-DNS and Scaleway's cert-manager webhook, LB-terminated TLS refused. OpenTofu state on Object Storage with native conditional-write locking — no second service, as on AWS. cloud-observability.md — read Scaleway's free data through Cockpit's /federate endpoint rather than the product APIs, and never push workload metrics into it. Alerting stays ours. Cost attribution runs on the consumption API, which returns resource-level lines but carries no tags, so the Project is the only attribution axis. Both arrive independently at one Project per environment: IAM has no per-resource conditions outside IAM, Key Manager and Secret Manager, and consumption has no tags. Record that the reference estate does not fit default quotas — POP2-HC-8C-16G is capped at 2 and production wants 4 — and correct the state of the art, which claimed no discounted capacity exists: savings plans do, at ~10% against three years of lock-in. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The capabilities ticket asked three questions the document had left open: whether the native cluster-autoscaler is enough, which instance types are relevant and where, and GPU. Autoscaling — no Karpenter provider exists for Scaleway, so there is nothing to install. What is actually lost is consolidation, not spot: the autoscaler never replaces a running node with a cheaper one, and that repacking is Karpenter's main saving on a pure on-demand estate. Scale to zero does work. Make expander = least_waste a module default, because Scaleway ships random and the estate runs several pools. Instance types — and this is the finding that moves the estate. The Instances API shows the current Zen 5 generation (COMPUTE3, BASIC3) and the previous one (POP2, PRO2) never share an Availability Zone. fr-par and nl-ams carry the modern range in two zones and the older one in the third; only pl-waw can run a homogeneous three-zone cluster. Scaleway's own documentation contradicts this and is wrong. So the default is COMPUTE3-X across fr-par-1 and fr-par-2 — two zones, not three — with pl-waw on POP2-HC as the option when three are required. BASIC3-X is refused for nodes: shared vCPU, 99% SLO. Reprice on COMPUTE3-X: ~EUR 1,317. Two zones make zone-loss survival cost double (+EUR 684) where three would cost half that (+EUR 311) — zone count, not node price, is what resilience costs here. GPU is delegated: Scaleway installs the NVIDIA operator on every GPU pool. Also correct the savings plan rate, which is bracketed and unpublished rather than a flat 10%, and note that the quota table has no figure at all for the Zen 5 generation. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
931 lines to 570, in the shape docs/gcp and docs/aws use: a position table at the top, one bold decision per section, cost, module specification, sources. What went: the cluster-autoscaler tunables list, the zone-by-zone instance matrix (its conclusion stays), GPU quotas, Cockpit ingestion caps, the per-service Cockpit coverage table (the gaps stay), the consumption API's paging behaviour, and the alert manager's rule limits — detail a reader can get from the linked source when they need it. The comparisons against other clouds went too. "The gap against AWS" is removed outright: what lands on the factory is a Scaleway fact and reads as one. The remaining cross-cloud references are kept only where they carry a decision — one Alertmanager for four clouds, one External-DNS, Velero everywhere. No position changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
UlysseCarpentier
force-pushed
the
docs/scaleway-kapsule-state-of-the-art
branch
from
September 17, 2026 09:49
36c52d9 to
e6506ca
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Scaleway sprint's research, in the shape the AWS and GCP sprints used. Feeds #4. Covers three board tickets:
docs/scaleway/kapsule-capabilities.mddocs/scaleway/managed-scope.mddocs/scaleway/cloud-observability.mdPlus
docs/scaleway/README.md, the decision index, matchingdocs/gcp/README.md.Scope note: the Scaleway sprint has no "Réseau & sécurité de base" ticket, unlike AWS and GCP. Rather than defer to a ticket that does not exist, the network baseline is decided in
kapsule-capabilities.md.The findings that changed a decision
POP2-HC-8C-16Gis capped at 2 and production wants 4 — a support ticket before the first apply, which no module can do./federateis free today and Scaleway says it will be billed after beta, with no published rate. The one figure here that must be re-read before a client signs.Corrections to earlier commits in this PR
Cost
Reference estate (prod 20 vCPU / 40 GiB of requests, staging 8/16, dev 4/8): ~€1,235/month, against $1,488 for the same estate on GKE Autopilot. Supervision adds €0 today. Stated plainly rather than glossed: that sizing does not survive a zone loss — six production nodes do, +€311/month.
Test plan
Out of scope
"Validation du pari Crossplane & couverture IaC" — the fourth Scaleway research ticket, untouched here.
🤖 Generated with Claude Code