Your ERP generates billing PDFs. Today they live on a Synology NAS mounted over NFS from two PHP servers. It works — until you add a third autoscaling instance and file locks corrupt an export mid-run.
NAS shines when one application handles moderate volume over classic file protocols. Object storage (S3, Scaleway Object Storage, self-hosted MinIO) shines when files are immutable objects keyed by name, served over HTTP or SDK, replicated without a central file server.
Two models, two implicit contracts
| Criterion | NAS (NFS/SMB) | Object storage (S3-compatible) |
|---|---|---|
| Access | POSIX path, mount | HTTP API, SDK |
| Multi-server concurrency | Tricky (locks) | Native (unique keys) |
| Scalability | Vertical + RAID expansion | Horizontal, near unlimited |
| Small volume cost | Often fixed, predictable | Can look pricier (requests) |
| Large irregular volume | Over-provisioning | Pay-as-you-go |
| CDN integration | Files from origin | Signed URLs, easy origin pull |
| Write latency | Low on LAN | Variable (API, region) |
Mounting a NAS "because we always did" on multi-instance cloud architecture recreates the SPOF object storage was meant to remove.
When NAS still defends itself
Single monolithic app. One server, /var/uploads paths, nightly rsync backups: simple and readable.
Legacy without refactor budget. Software that demands a local writable directory with no object SDK.
Ultra-low LAN latency. Internal video processing, 3D renders, regenerable temp data — local block or NFS.
Full on-prem control. Own datacenter, storage team mastering ZFS snapshots and replication.
Once you horizontalize (Kubernetes, PHP autoscaling, parallel workers), NAS becomes a bottleneck: one mount point, fragile Unix permissions, backups coupled to the server.
When object storage takes the lead
Web user uploads. Photos, attachments, exports: unique key per file (user/123/invoice-456.pdf), permissions via signed URL.
CDN-served assets. Origin pull from public or semi-public bucket; no exposed file server.
Retention and lifecycle. Automatic move to cold tier, delete after N days — native S3 policies.
Geographic compliance. Bucket in EU region, documented replication; useful for GDPR dossiers.
European services (Scaleway, OVHcloud Object Storage, Infomaniak tiers) keep known jurisdictions — verify DPA and replica location.
Hybrid: common healthy pattern
Many mature architectures combine:
- Object for durable uploads and media
- Block or local NAS for temp cache, queues, file sessions
- Database for metadata (display name, rights) — never disk path alone
Anti-pattern: storing NAS path in DB with no migration plan when the third server arrives.
The peak: NAS hides scalability debt
Quotes for "20 TB NAS storage" compare poorly to an object bucket with lifecycle against over-provisioned RAID "just in case."
Decide and move forward without blind spots
- Count app instances today and in 18 months.
- Classify files: temporary, user uploads, legal archives.
- Test concurrency: two parallel writes to the same filename.
- Write backup + single-file restore policy (not just volume snapshot).
Compare object and VPS offers in our directory. For changing data on block vs object, see S3 or block storage.
Frequently asked questions
Can my app use a NAS like a local disk?
Yes via NFS/SMB, but locks and latency hurt with multiple instances. Multi-server setups favor object APIs.
Is object storage cheaper than a NAS?
Small volume: NAS often competitive. Large irregular volume: usage-based object avoids over-provisioning.
How should backups work?
Object: versioning, replication, lifecycle. NAS: snapshots + off-site copy. Both need written retention.
Which files stay better on NAS?
Local DBs, temporary block caches, POSIX legacy — not massive CDN-served web uploads.
Next time someone offers "one NAS for everything," ask: how many servers will write at once tomorrow? The answer often decides alone.
