Introduction
As organisations place greater emphasis on sustainability alongside cost efficiency in the cloud, it’s vital to identify and address less obvious sources of waste – collecting the low hanging fruit. At Assure Prime — an AWS Premier Tier Partner and the UK’s leading AWS Sustainability Partner — we frequently encounter one particularly overlooked issue: incomplete multipart uploads in Amazon Simple Storage Service (Amazon S3).
These forgotten upload fragments might seem insignificant, but they quietly consume storage capacity, generate unnecessary costs, and contribute to avoidable carbon emissions and cost.
How Incomplete Uploads Create a Wasteful Carbon Footprint
What’s Happening Behind the Scenes
When you initiate a multipart upload in Amazon S3, S3 creates temporary object parts. Once all parts are uploaded, the client sends a CompleteMultipartUpload request, S3 assembles the object, and the process finishes.
If that final completion call never happens — perhaps due to a network error, user cancellation, or failed job — the uploaded parts remain stored indefinitely and continue to incur charges. These unused fragments are effectively dark data: stored, yet not usable or visible.
From both a sustainability and cost perspective, that’s a problem:
- Power Consumption. These parts still occupy physical storage drives fronted by servers that must be powered and maintained.
- Cooling Systems. Server and Storage hardware requires energy-intensive cooling, which can account for over 40% of a data centre’s total electricity consumption. This is alongside considerable water consumption, It’s important to remember that fresh water is a finite and regionally constrained resource, and a typical 1 MW facility may use in the order of 25 million litres of water per year for cooling.
- Hardware Embodiment. As defined under Scope 3, every drive, SSD, and network component has its own embodied carbon footprint from manufacturing and deployment. Occupying that capacity with unused data reduces overall efficiency.
The Scale of the Problem
While AWS doesn’t publish aggregate figures for incomplete uploads, several credible sources highlight the impact:
- AWS confirms that incomplete multipart uploads remain billable until explicitly aborted or completed (AWS Blog).
- The AWS documentation identifies lifecycle rules using AbortIncompleteMultipartUpload as a best practice for managing storage efficiently (AWS Docs).
- Infracost estimates that clearing incomplete uploads can save US $1,000–3,000 per year for mid-sized organisations, and up to US $15,000 for large enterprises (Infracost).
- Independent estimates suggest that storing 100 GB of data in the cloud for a year produces roughly 0.2 tonnes of CO₂ (Ziffity).
Multiply this by the number of unused gigabytes across an enterprise, and it’s clear that these “invisible” uploads create both financial and environmental waste.
Why It’s Often Overlooked
- Many teams focus on compute waste (idle EC2 instances, oversized machines) but overlook “storage fragments” that don’t appear as objects.
- Most S3 buckets don’t have an AbortIncompleteMultipartUpload lifecycle rule enabled by default.
- Because incomplete parts aren’t visible in the S3 console, they remain hidden — an invisible drain on cost and carbon.
- The potential savings may seem trivial until aggregated across hundreds of buckets and multiple regions.
How to Fix It
1. Detect the Waste
- Enable S3 Storage Lens and review metrics such as Incomplete Multipart Upload Storage Bytes and % Incomplete MPU Bytes.
- Identify which buckets accumulate the most waste.
- Feed these metrics into your FinOps and GreenOps dashboards to correlate cost and carbon.
2. Define and Enforce the Lifecycle Rule
A simple S3 lifecycle policy can automatically abort incomplete uploads after a set number of days — typically 7 days is a sensible default.
Example JSON:
{
"Rules": [
{
"ID": "abort-incomplete-uploads-7days",
"Status": "Enabled",
"Filter": { "Prefix": "" },
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": 7
}
}
]
}
Apply this via the console, AWS CLI, CloudFormation, or Terraform. For automation, ensure the rule is applied to all new buckets through an AWS Config rule or organisation-level guardrail.
⚙️ Tip: If your workflows involve very large files or long upload windows, extend the duration (e.g. 30 days) or apply rules selectively using prefixes or tags.
3. Monitor and Report
After implementation:
- Track Incomplete Multipart Upload Storage Bytes over time.
- Calculate reclaimed storage (GB × £ rate × months saved).
- Convert reclaimed storage to estimated carbon savings using regional electricity emission factors.
- Integrate findings into sustainability and FinOps reports.
Demonstrating Results: Cost & Carbon
As observed from my personal account (see above screenshot) I was unknowingly consuming $58.2 per year just on dark data, that is approximately 10% of my monthly AWS costs for nothing! Imagine this at enterprise scale…
Implementing a Lifecycle Configuration to automatically abort incomplete multipart uploads after a short period (e.g., 7 days) delivers quantifiable benefits in three key areas for a typical enterprise. This simple policy transforms potential waste into tangible gains:
1. 💾 Storage Reclaimed. In large enterprises, incomplete uploads – often caused by network failures, application crashes, or restarts – can accumulate into a substantial hidden reservoir of unusable, billed data.
- Scenario. Industry observations and S3 Storage Lens data show that incomplete multipart uploads can account for anywhere from 5% to 20% of total storage used for temporary or failed ingestion workflows.
- Assumption. A typical enterprise generates 1 PB of data per year, with a conservative 0.5% of their total active storage accumulating as unmanaged incomplete uploads. Let’s assume the enterprise is paying for an ongoing, accumulated waste volume of 50 TB that is passively incurring charges.
- Result. By applying an Abort Configuration, the organisation consistently reclaims 50 TB of dark data storage, ensuring that space and management resources are only utilised for complete, usable objects.
2. 💰 Cost Saved. The most direct benefit is the elimination of storage fees for data that is essentially digital junk.
Assumptions for Calculation:
- Wasted Data Volume. 50 TB (50,000 GB) permanently stored as incomplete uploads.
- Average S3 Standard Cost (Accumulated). $0.023 per GB-month (approximate US East Cost).
Calculation:
- Annual Cost of Wasted Data. 50,000 GB x 12 months/year x $0.023/GB-month = $13,800.
Result:
- The enterprise realises a direct annual cost saving of $13,800 in storage fees alone, turning an invisible operational expense into a measurable financial gain.
This saving scales significantly with larger organisations or higher-cost storage tiers, or with workloads frequently transmitting data to S3 buckets.
The takeaway is clear; this single, simple configuration doesn’t just cut your storage bill; it’s a powerful FinOps win that easily pays for itself while delivering measurable sustainability benefits to your organisation.
3. 🌳 Carbon Avoided. Every gigabyte of stored data consumes energy for power, cooling, and management in the data centre, contributing to the organisation’s carbon footprint. Deleting unnecessary data directly reduces this environmental impact.
Carbon Impact. Based on the cleanup of 50 TB of permanently stored data, the amount of carbon avoided is 2,000 kg of CO2e per year.
This is equivalent to the CO2 emissions from an average gasoline-powered passenger vehicle driven for 5,100 miles, or the electricity use of an average American home for over 4 months, or the carbon sequestered by 91 trees grown for one year.
By connecting these savings directly to the customer’s AWS Customer Carbon Footprint Tool, you can quantify the improvement in both financial and environmental terms.
Practical Tips
- Coordinate with application owners to ensure genuine long-running uploads aren’t unintentionally aborted. I believe it’s entirely reasonable to enable this lifecycle policy by default, deviating from it only where there is a clear business justification — for example, workloads involving frequent or extended uploads. Even in those cases, I’d still recommend retaining the lifecycle policy, but adjusting the retention window (for instance, extending it beyond seven days) to suit operational requirements.
- Regularly audit for buckets missing the rule using AWS Trusted Advisor or AWS Config.
- Watch for recurring incomplete uploads — this can signal a malfunctioning tool or pipeline.
- Position the fix as both a FinOps and GreenOps win: it saves money and reduces emissions.
Why This Matters for Assure Prime’s Customers
As an AWS Premier Tier and Sustainability Partner, Assure Prime’s role is to help customers not just migrate to AWS, but operate efficiently and sustainably once there.
This simple configuration delivers:
- Tangible Results. Clear, reportable savings in cost and carbon.
- Low Complexity. A lightweight configuration change, not a major rearchitecture.
- Strategic Alignment. Supports ESG reporting, sustainability goals, and FinOps initiatives.
- Scalability. Easily automated across all accounts and regions.
Closing Thoughts
Cloud sustainability is about more than switching off idle servers — it’s about optimising every layer of your architecture. With a single lifecycle rule, you can recover wasted storage, lower costs, and contribute to a cleaner digital footprint.
At Assure Prime, we believe every design decision in the cloud is an opportunity to reduce emissions. The AbortIncompleteMultipartUpload rule is one of the simplest, most immediate ways to prove that sustainable cloud architecture can also deliver financial efficiency.




