One family, three access models
The first question is how the application needs to reach its data, not how much data there is.
Situation
Storage was being asked four different questions and answering each one bespoke. A virtualization estate wants block and predictable latency. Unstructured data wants file. An archive or data lake wants object. AI training and retrieval want a data path fast enough to keep expensive accelerators busy, at a scale nobody was sizing for two years earlier.
Each of those was being designed from first principles, by a specialist, per deal.
Why it mattered
Bespoke sizing is slow, and it cannot be repeated. Two sellers with the same customer requirement get two different answers, and neither can be defended when the deployment underperforms.
There was also a tempting shortcut to avoid. It is easy to say "one array does block, file and object", and that is not how the platforms work. A block-and-file platform and an object-and-file platform are built for different problems. Selling a customer something their application cannot speak is a problem that only appears at deployment.
My role
I defined the configurable storage architecture: which capacity, protocol and performance points exist per access model, what each is validated to carry, and how an AI workload maps onto them.
The decision
Start from the access model, taken from the application rather than from the platform. Then validate a fixed set of capacity, protocol and performance points behind each one: 46 block, file and object options across the family, scaling to 4.56 PB usable over 100GbE and 32Gb Fibre Channel. Then size deals against those points instead of designing each one.
Then extend the same method to AI training and retrieval, so AI resolves onto the existing access models rather than opening a second path with its own rules.
The trade-off
Some deals land between validated points and need a documented exception, and that path has to be real. A validated envelope is also always slightly behind the newest workload shape. That gap is permanent; the job is to keep it small, not to close it.
Outcome
Sizing became repeatable and defensible, and AI inherited a governed path instead of becoming a bespoke engineering conversation each time. The access model became the first question asked rather than an assumption discovered late.
What I would do differently
I underestimated retrieval. It behaves less like a capacity question and more like a latency budget that happens to need capacity, and I would size it that way from the start.
kushagragoyal.com/work/one-family-three-access-models