When a Manufacturing Firm Decides to Move Petabytes to S3: Raj's Story
Raj was the CTO at a mid-sized manufacturing company. They had accumulated just under 1.2 PB of engineering drawings, test logs, and video capture on a mix of aging NAS arrays. The arrays were expensive to maintain, patching windows were risky, and auditors had begun asking for simpler retention and access controls. The leadership wanted the cost savings and scale of object storage, and S3 looked like the obvious target.
They planned a "quiet lift-and-shift" over a long weekend. Raj allocated a team, informed the business owners, and reserved a couple of engineers to run the copy jobs. Meanwhile, a third-party vendor assured them a few TBs per day was trivial, and that the cutover would be seamless.
As it turned out, the weekend copy didn't finish. Small files took forever. Metadata didn't map neatly to S3, POSIX permissions were missing, some apps could not read objects by path, and the copy process kept creating partial files that broke downstream processing. This led to a three-month scramble: application updates, rework of backup and restore, repeated sync windows, and overtime for the ops team. The cost of the migration effort dwarfed the projected savings for that fiscal quarter.
The Hidden Cost of Underestimating Migration Time
When people ask "how long will a NAS-to-S3 migration take," they often want a single number: days, weeks, or months. A single number hides the real risks. Time is the currency of disruption; underestimating it causes operational friction, lost engineering hours, and stalled product roadmaps.
Real costs that extend timelines are not just raw data transfer:
- Many small files drastically reduce effective throughput compared to large sequential transfers. Metadata and POSIX semantics do not map 1:1 to S3 object metadata and IAM policies. Application dependencies and hard-coded file paths require code changes or a translation layer. Security and compliance workflows need validation - encryption, logging, retention policies. Hybrid periods require two-way syncs and conflict resolution, which lengthen cutover windows.
Thought experiment: imagine you have 1 PB of 1 MB files versus 1 PB of 1 GB files. The former is a million files; the latter is a thousand files. The latency and API-call overhead for a million object PUTs will often dominate transfer time, push you into API throttling, and require orchestration that a straight TCP copy won't handle.
Why Simple Lift-and-Shift Plans Break Down
Many migration plans fail because they treat storage as "dumb bits" and ignore the ecosystem around those bits. Here are the common technical and operational complications that stretch timelines.
Small-file overhead and API rate limits
Object stores excel at handling large, streaming objects. They do not do POSIX directory listings or file locking. Uploading millions of small files triggers millions of API calls. Even with parallelization, you hit rate limits, per-request overhead, and high IOPS on the NAS. That turns an otherwise straightforward transfer into a project about batching, manifest files, and upload concurrency tuning.
Metadata, permissions, and application behavior
POSIX permissions, symlinks, extended attributes, and hard-coded namespaces are not preserved automatically in S3. If applications expect to open files by path and rely on atomic renames, you must either change the application or implement a translation layer like a POSIX gateway. Both add effort and time.
Network bandwidth and noisy neighbors
Raw WAN bandwidth matters a lot, but real-world effective transfer rates are lower because of latency, packet loss, encryption overhead, and competing traffic. On-prem networks and ISP connections can be unpredictable. For multi-hundred-terabyte or petabyte projects, physical data transfer appliances are common, but they come with lead times for ordering and shipping.
Hybrid operations and ongoing writes
If the NAS stays active during migration, you need a robust sync strategy to capture changes during the cutover. Two-phase migrations (initial bulk copy, then delta syncs) work better than single-window moves, but they extend the calendar time and increase complexity around final cutover synchronization and verification.
Verification, rollback, and compliance checks
Businesses often require bit-level verification, audit trails, and retention enforcement before decommissioning the source. This requires dedicated time for validation testing, which many teams underestimate.
Migration Method Typical Best Case Duration Primary Limiters S3 DataSync over WAN Days to weeks (100s of TBs) Bandwidth, small-file overhead, API calls Physical appliance (Snowball, Snowmobile) Weeks to months (100s TBs to PBs) Appliance lead time, shipping, import, verification Third-party migration software Weeks to months Software tuning, orchestration, mapping rules POSIX gateway (NFS to S3) Months (for large app fleets) Application compatibility, metadata mappingHow One Team Found a Practical Timeline Model for NAS-to-S3 Moves
Raj's team stopped guessing and built a simple, defensible timeline model. It split the migration into clear phases, added buffer for real-world inefficiencies, and redefined success metrics beyond "all bytes copied." The model worked because it accounted for operational realities instead of focusing purely on bandwidth.
The three-phase timeline they used is easy to adapt:
Discovery and planning Pilot and migration design Bulk migration, delta syncs, and cutoverPhase 1 - Discovery and planning (2-6 weeks)
This phase is non-negotiable. It includes:
- Inventory: file counts, sizes, age, access patterns Dependency mapping: which apps touch which datasets Risk assessment: compliance, retention, encryption needs Network assessment: achievable throughput, test transfers Cost modeling: egress, PUT/GET costs, lifecycle transitions
For Raj, discovery revealed that 60% of the bytes were cold archives that could be bulk-migrated with Snowball, while 30% were active engineering datasets requiring near-real-time sync, and 10% were ephemeral test data that could be pruned.
Phase 2 - Pilot and migration design (2-8 weeks)
Pilots are small but high-value: you test the worst-case datasets, not the easiest ones. Run pilots with representative small-file sets, permission-heavy structures, and the actual applications that will read the data from S3.
- Choose tools: DataSync, S3 Transfer Acceleration, Snowball, rsync + gateway, or third-party migration platforms. Design metadata mappings and IAM roles. Define cutover criteria and verification checksums. Measure effective throughput and extrapolate with pessimism.
As it turned out, Raj's pilot showed that small files reduced throughput to under 10% of raw bandwidth because the team had not batched the PUTs. They introduced a packaging step - tar, archive, and upload - for cold small files that could be restored occasionally. That saved months.

Phase 3 - Bulk migration, delta syncs, and cutover (variable)
Bulk migration is where calendar time is consumed. Break it into logical batches by dataset priority. Use different transfer mechanisms depending on dataset characteristics:
- Cold, write-once data - physical appliance (Snowball). Large sequential datasets - direct WAN transfer with DataSync. Millions of small files - package and upload or use a POSIX gateway.
Plan delta sync windows and a final cutover window with application owners present. Include a rollback plan. This phase's duration is proportional to effective throughput and dataset size, not raw size alone.
Dataset Size Likely Best-Case Duration Realistic Duration With Small-File Overhead 1 TB (mixed files) Hours to 2 days 1-5 days 10 TB (mixed) 1-3 days 1-2 weeks 100 TB (large files) ~10 days (1 Gbps sustained) 2-6 weeks 100 TB (millions of small files) ~10 days (theoretical) 2-6 months 1 PB Several weeks (physical appliance preferred) 2-6 monthsConcrete throughput math: a sustained 1 Gbps transfer, with 80% efficiency, moves roughly 8.6 TB per day. At that rate, 100 TB is ~12 days. But that assumes large sequential objects Click here for info and no API overhead. For mixed or small files, effective throughput may drop by an order of magnitude.
From Months of Delay to a Predictable Three-Phase Migration: What Changed
Raj's team implemented the model and saw predictable improvements. They no longer measured success only by bytes moved. They tracked milestones that mattered: verified dataset availability, application compatibility tests, delta sync convergence, and successful cutover with business sign-off.
Here are the concrete changes that made the timeline realistic:
- Measure real throughput with representative pilots, then add safety margins. Segment datasets by access pattern and use the right tool for each segment. Handle small files by packaging or by using a POSIX gateway when app changes are infeasible. Schedule multiple delta syncs and make the cutover a coordinated event with rollback options. Include verification time in the schedule; checksums and sampling are faster than full bitwise compares, but audit requirements may force full verification.
KPIs and monitoring that keep timelines honest
Replace vague progress with measurable KPIs:
Files transferred per hour (not just bytes) Percentage of datasets passed application compatibility tests Delta sync size and convergence rate Number of failed PUTs per million Time to restore a sample objectThis led to more reasonable stakeholder conversations. Instead of promising "done in a weekend," Raj's team could say "Pilot complete; expected bulk migration in 6-8 weeks with these assumptions." Stakeholders appreciated the candor, and budgets reflected the actual effort.
Actionable Checklist and Final Recommendations
Below is a compact checklist you can use as a migration planning artifact. Follow it, and the timeline you report will be much closer to reality.
- Inventory: Capture file counts, sizes, last-access times, and owners. Classify data by access profile: hot, warm, cold. Run pilots for worst-case datasets (small files, heavy metadata, application-bound data). Choose tools per dataset and estimate effective throughput from pilot results. Decide packaging strategy for small files (tar/zip) or POSIX gateway approach. Plan delta syncs and a final cutover with clear rollback steps. Allocate time for validation tests, compliance audits, and app changes. Factor in appliance lead times if using physical transfer devices. Set KPIs and monitor them daily during execution. Keep business stakeholders informed with conservative, test-derived timelines.
Final note - give time back to your team
Migration is not a single technical act. It is a cross-functional program that touches networking, security, applications, compliance, and operations. If you want realistic timelines, fund the discovery and pilot phases properly, run the hard tests early, and stop believing the marketing one-liners that promise "instant" migration. With a disciplined, evidence-based approach you can move from wild guesses to reliable schedules and avoid the overtime scramble Raj faced.

And one more thought experiment before you go: imagine the business asks for a rollback after cutover. How long does it take to restore the most critical 10% of your data to the original state? If you can answer that before you start, your migration timeline will already be in a much healthier place.