A platform distributes very large model and dataset artefacts to a global developer community, with a small number of artefacts accounting for most downloads. Which parts should be managed services, and which are worth building?
Show the full answer Hide the answer
The workload's defining characteristics
- Very large immutable objects — model weights measured in gigabytes.
- Extreme popularity skew — a small number of artefacts account for the overwhelming majority of downloads.
- Global audience with wide variation in network quality.
- Bandwidth as the dominant cost, by a large margin.
- Resumability matters — a failed download of a large file must not restart from zero.
What should be managed
Object storage. Durability, replication and lifecycle management are solved problems with brutal economies of scale. Building this is never justified.
Content delivery. Global points of presence, peering relationships and edge capacity cannot be replicated by a single company at reasonable cost. The popularity skew makes a CDN extremely effective: the hot artefacts are cached everywhere and origin sees a small fraction of the traffic.
Compute for the web application, search and metadata. Ordinary workloads with no special property justifying custom infrastructure.
Identity and authentication. A solved problem where building your own is a security liability.
What is worth building
The content-addressed artefact layer. Deduplication across repositories, chunk-level transfer so updating one file in a multi-gigabyte repository does not re-download everything, and resumable transfers. This is the platform's actual differentiator — the thing that makes it pleasant to use — and no managed service provides it in the required shape.
Caching and prefetch policy. Knowing which artefacts are becoming popular and warming them at the edge before demand arrives is domain knowledge no provider has.
The client library. Local caching, integrity verification, partial fetch, resume. This is where most of the user-perceived quality lives.
The decision rule
Build where the capability is specific to your domain and visible to your users. Buy where it is generic infrastructure with scale economics you cannot match.
The cost analysis is the sharpest part of this case. Egress is the dominant expense, and it is precisely where negotiation, CDN selection and cache-hit optimisation produce large savings — so the engineering investment goes into hit rate and transfer efficiency rather than into rebuilding storage or delivery. A percentage point of cache hit ratio is worth more than any amount of custom infrastructure.
The trap to avoid
Building a custom distribution network because "our workload is special". The workload is unusual in its object size and skew, but not in ways that require owning global infrastructure. The right response to an unusual workload is usually an unusual configuration of standard services, plus a thin custom layer where the domain knowledge lives.