The Editorial Platforms & Power 11 October 2026 8 min read New

Nothing to migrate to

A model vendor reissued its usage policy on 8 October, effective 12 November. Buried in it is a control-loop specification — hold a safe state when the connection drops, enforce limits below the model — delivered with thirty-five days' notice, no version number and no way to find out which of your systems it applies to.

A vendor's usage policy now specifies architecture rather than conduct, yet it arrives with no clause identifier, no published diff and no way to find which deployments it breaks — while the same vendor retires a model with sixty days' notice and a named successor.
Read the editorial → Argued from 6 linked sources, every one dated.
Previously All 42 editorials →
Daily practice · No sign-up · No paywall

Practise architecture
the way it is actually asked.

Real solution-architecture and system-design interview questions with answers written the way you would have to defend them in a review, drilled with flashcards until the vocabulary is automatic, and a glossary for every term that turns up along the way.

2026-10-11

Today’s four, then you are done.

One question, one card, one term and one deliverable, picked from the date itself so everybody sees the same four and a reload does not reshuffle them. Come back tomorrow for the next set.

Question of the day advanced
API Gateways

A blockchain infrastructure provider serves RPC requests where a small number of query types are enormously more expensive than the rest. How should the request path be structured?

Show the answer Hide the answer

The load shape

Requests are not comparable. A current block-height query is trivially cheap and cacheable for a second. A balance lookup is a single indexed read. A historical log query over a wide block range can consume seconds of CPU and gigabytes of I/O. They arrive through the same endpoint with the same shape, so an undifferentiated request path lets the expensive minority determine the experience of everyone.

The structure that works

  • Classify at the gateway, by method and by parameters. Range size, block depth and result cardinality are all knowable before execution, and classification must happen before any expensive resource is committed.
  • Separate pools per class. Cheap, cacheable queries served from a read-optimised tier; expensive historical queries on a separate pool with their own capacity and their own queue. A shared pool means one archive query holds a connection that a thousand height checks needed.
  • Cache aggressively where the answer is immutable. Anything about a finalised block never changes, which is an unusually good caching property, and it should be exploited with long TTLs and immutable keys.
  • Per-key rate limits weighted by cost, not by request count. Counting requests treats a height check and an archive scan identically, which is exactly wrong. A cost-weighted budget is the only limit that reflects the resource.
  • Reject unbounded queries at admission rather than timing them out after consuming resources. A timeout still pays for the work.

The consistency dimension

A node that is behind the chain head answers confidently and wrongly. Liveness must be measured as progress relative to the network, not as process health, and a lagging node must be removed from rotation. This is the same failure as a stale read replica, with the difference that the answer looks authoritative.

The economic layer

Because request costs vary by orders of magnitude, flat pricing per request is a business model that subsidises the expensive minority. Compute-unit pricing aligns the incentive and — more usefully — gives customers a signal that changes their query patterns, which no technical control achieves as effectively.

Card of the day intermediate
Data Lakes & Lakehouses
Term of the day pattern
Multi-Region Architecture

Multi-Region Active-Active

Active-active is often requested and rarely required, and the distinction is worth forcing early because the cost difference against active-passive is very large.

What it genuinely provides: no failover delay, since traffic is already flowing everywhere; latency proximity for a geographically spread user base; and continuous validation that the second region works — the standing weakness of active-passive being that the passive side is untested until the moment it is needed.

What it costs: the data layer must accept concurrent writes in multiple regions, which means either strong consistency with cross-region coordination on every write (adding tens to over a hundred milliseconds and creating a partition-time availability decision), or eventual consistency with a genuine conflict resolution strategy that the domain must be able to express. Every stateful component inherits this. Operations become harder: deployments must be wave-based, and debugging spans regions.

The middle option that often fits better than either extreme is regional partitioning — active-active at the estate level, single-writer per data partition, with users routed to their home region. Each record has one authoritative region, which eliminates write conflicts entirely while still serving all regions live.

The question that resolves the requirement: what recovery time does the business actually need? If the answer is fifteen minutes, a well-rehearsed active-passive achieves it at a fraction of the cost and complexity, and the rehearsal is where the money should go.

Deliverable of the day discovery
Structural View

Integration Landscape Diagram

Every interface between systems, with its mechanism, direction, frequency and owner — the artifact that tells you what a migration will actually break.

Identify the deliverable → A diagram with its title removed. Work out what artifact it is, then reveal. Nothing to submit.

Worked use cases

The whole thing, not one artifact at a time.

The deliverables library shows each artifact on its own. These are complete architecture packages for a real problem — every view drawn, the same views as editable SVG and draw.io source, and the documents that carry the reasoning.

All 57 use cases → 1324 architecture views in total, every one downloadable and editable.

The curriculum

12 pillars, 30 areas, 600 topics.

The order runs from what architecture is, through the systems it is made of, out to the economics and communication that decide whether it ever gets built.

01

Core Architecture

What architecture is, the patterns it is assembled from, and how decisions get made.

379 questions 848 cards 302 terms
02

Distributed Systems & Data

Many machines, partial failure, and the state they all disagree about.

191 questions 489 cards 217 terms
03

Platform, Cloud & Networking

The substrate the design runs on, and the path a request takes through it.

260 questions 589 cards 269 terms
04

Reliability & Operations

Keeping it up, knowing when it is not, and knowing what breaks first under load.

291 questions 643 cards 232 terms
05

Security & Trust

Threats, trust boundaries and the blast radius of every design choice.

95 questions 176 cards 86 terms
06

Business & Economics

Cost, capability, governance and the language executives fund architectures in.

407 questions 811 cards 291 terms
07

Modernization & AI

Systems that already exist, and the workloads that only started existing recently.

188 questions 377 cards 145 terms
08

The Architect's Craft

The reasoning habits underneath everything above.

102 questions 208 cards 66 terms
09

Platform Engineering & Delivery

How a change reaches production, and the platform other engineers build on.

307 questions 556 cards 217 terms
10

Data & Analytics Platform

The analytical estate: how data lands, moves, means something and can be trusted.

292 questions 566 cards 217 terms
11

Experience, Edge & Devices

Everything past the data centre boundary: browsers, phones, edges and things.

199 questions 394 cards 144 terms
12

Risk, Compliance & Assurance

The obligations that bound a design, and the evidence that the controls run.

197 questions 383 cards 139 terms