Multi-protocol storage deletes the sync job, and leaves the trigger problem behind
A dev.to proof of concept on FSx for NetApp ONTAP serves one volume over SMB, NFS and S3 with no second copy. The read path is solved; the notification that makes it event-driven is not.
The Engineer · Build desk
What happened
- A dev.to post in the AWS Builders collection sets out a zero-copy multi-protocol pattern and a proof of concept on Amazon FSx for NetApp ONTAP for insurance claims intake.
- One ONTAP volume is exported over NFS and SMB and fronted by an S3 Access Point that serves GetObject off the same blocks, with no object ever written to S3.
- What it replaces is a copier moving a file share into a bucket, leaving two copies under two consistency models for something to keep matched.
- The producers in the test workload are fixed SMB clients, including claims systems whose file-attach code nobody intends to rewrite against an S3 SDK.
- The author states the read side is solved but the notification side, how anything knows to look, still needed empirical testing.
Why it matters
- cost The bridge pattern bills twice for the same bytes and again for the compute that shuttles them, and the reconciliation pager sits with the team that built the copier rather than with the legacy...
- constraint The demonstrated S3 door reads only, so consumers that expect to write back through the same path stay outside what this proof of concept covers.
- decision Deleting the sync box turns into a purchasing question, because the property doing the work is a native multi-protocol volume rather than anything the pipeline code can arrange for itself.
- exposure Once there is one copy, the volume a twenty-year-old Windows client writes into is also the record that has to hold up in a dispute later, and its backup regime inherits that job alone.
The expensive part of the bridge pattern is not the duplicate storage. It is that a scheduled copier converts a question about a document into a question about a distributed system. The post puts it plainly: when the second copy is wrong, you are working out whether the job has a bug or whether a partial failure never retried, to answer a question that should not have existed [5]. A sync job is a small consistency engine, and someone owns it, whether that is a Lambda or a cron entry [12].
Two numbers fall out of the same diagram and neither appears in the write-up. Collapsing two copies into one takes half the stored bytes out of that path, along with the compute that was moving them [16]. And if the sweep being waited on is the nightly batch the author contrasts the proof of concept against [15], detection sits near twelve hours on average and close to twenty-four at worst [19], against the seconds claimed for the zero-copy version [1]. That is the defect worth naming. Downstream can be as event-driven as the diagram says, but the event being reacted to is the copier's schedule rather than the document's arrival [13].
The most useful line in the piece is the admission. Zero-copy fixes the read: cloud compute sees the file the instant it exists, with no propagation delay, and the legacy Windows client keeps its mapped drive while a Lambda calls get_object against the same bytes [7][9]. It does not fix the trigger. Because nothing is ever written into S3, the Access Point being a read path onto the volume's existing blocks [c3b], there is no PutObject for a bucket notification to fire on [17], and the author says the notification side took empirical testing rather than reading documentation [7]. That is what an unfinished mechanism sounds like when the person describing it is being straight about it. Until that mechanism is in the open, zero-copy access buys a cheaper poll rather than an event, and the operational win the post leads with, one fewer system to reconcile and be paged about [6], is real but smaller than the word event-driven implies.
What to watch
- Whether a follow-up publishes the notification mechanism with a measured detection latency, or leaves it as a testing anecdote.
- Whether the FSxN S3 Access Point path ever does more than GetObject, which would widen the set of consumers it can serve.
- Whether anyone demonstrates the same collapse on a filer that is not ONTAP, which would take the procurement dependency out of the argument.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence32
- Adoption10
- Hype gap+28
- Incentives58
- Confidence42
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
A dev.to post in the AWS Builders collection, titled "Zero-Copy, Multi-Protocol Storage: The Architecture Pattern Data Pipelines Are Missing", describes a zero-copy multi-protocol pattern and a proof of concept the author built on Amazon FSx for NetApp ONTAP (FSxN) that turns an insurance claims intake pipeline into something that reacts in seconds instead of on the next scheduled sweep.
- [2]
ONTAP volumes are natively multi-protocol: the same volume can be exported as an NFS share, as a CIFS/SMB share, and fronted by an S3 Access Point, which is why FSx for NetApp ONTAP removes the sync job.
- [3]
The S3 Access Point serves GetObject calls straight off the underlying blocks; no object gets written to S3, and the Access Point is a read path into the existing volume. One copy of the data, two or three ways to reach it.
- [4]
That copier adds latency (the sync interval), cost (storage twice over, plus the compute to move it), and a new failure mode: drift.
- [5]
When copy two is wrong, the question becomes whether it is a bug in the sync job, a race condition or a partial failure that never retried: a distributed consistency problem being debugged to answer a question that should not have existed.
- [6]
The claimed wins of the zero-copy pattern are cost and reduced operational surface: no second storage tier, no reconciliation logic, one less system that pages someone at 2am.
- [7]
Zero-copy access solves the read side, with cloud compute able to see the file the instant it exists and no propagation delay, but something is still needed on the notification side so that anything knows to look; the author says that second piece took empirical testing rather than documentation reading to get right.
- [8]
The evidence has to survive a legal challenge: a claim's supporting documents may end up in a dispute or a fraud investigation years later.
- [9]
With the pattern in place a legacy Windows app keeps mapping a network drive while a Lambda function calls boto3.client("s3").get_object() against the same data.
- [10]
"Multi-protocol" means the same underlying data can be accessed through SMB, NFS and the S3 API without translation, replication or a gateway service in between; "zero-copy" means a second consumer reading through a different protocol is reading the same bytes, not a copy.
- [11]
The bridge pattern most teams build: a legacy system writes over SMB/NFS to a file share, a sync job or gateway copies into an S3 bucket, and cloud-native processing reads the bucket.
- [12]
In the bridge pattern every file exists twice, on two different consistency models, and something (a Lambda, a cron job, a Kafka Connect worker) is responsible for making sure copy two matches copy one.
- [13]
Legacy file-based systems do not emit events, they write files; if the AI or analytics layer only exists downstream of a sync job, the event is "the sync job ran" rather than "the document arrived", so an event-driven pipeline inherits the legacy system's batch cadence.
- [14]
In the claims intake workload the producers cannot change: adjusters, body shops and legacy claims-management systems attach photos and PDFs over SMB because that is what their software has spoken for twenty years, and nobody is rewriting a claims system's file-attach code to call an S3 SDK.
- [15]
The consumer side wants Bedrock reading damage photos and extracting claim data the moment they land rather than on a nightly batch, because fraud gets easier to hide the longer extraction is delayed and customers notice slow claims.
- [16]
Removing the copier takes half the stored bytes out of that data path (two copies reduced to one) as well as the compute that was moving them.
- [17]
Because no object is ever written into S3, there is no PutObject for a bucket-side event notification to fire on, which is consistent with the notification side remaining the open piece of the pattern.
- [18]
With a single copy, the volume the legacy application writes to is also the only record available for a dispute or fraud investigation years later.
- [19]
If the sweep is the nightly batch used as the comparison, mean detection delay is about 12 hours and worst case approaches 24 hours.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toZero-Copy, Multi-Protocol Storage: The Architecture Pattern Data Pipelines Are Missing
1 article · August 26, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
Entities
- Amazon Simple Storage ServiceFollow
- NetApp ONTAPFollow
- AWS LambdaFollow
- StreamlitFollow
- Amazon DynamoDBFollow
- Amazon Web ServicesFollow
- ONTAP FPolicyFollow
- NetAppFollow
- dev.toFollow
- Amazon ECS FargateFollow
- NetApp SnapLockFollow
- Amazon SQSFollow
- fsx-ontap-fnol-pocFollow
- Amazon FSx for NetApp ONTAPFollow
- Amazon BedrockFollow