Cross-Cloud Storage Pricing Has No Single Winning Number

Comparing cross-cloud storage pricing means comparing the full cost of storing, retrieving, moving, and protecting data across Amazon S3, Azure Blob Storage, and Google Cloud Storage. The headline price per gigabyte-month is only one component, and a provider with the cheapest storage tier may become the most expensive option after request fees, retrieval charges, data transfer, replication, and software are counted. As of 24 September 2026, teams should assume that published public-cloud prices can change and that discounts depend on contract terms, commitment size, region, and negotiated volume. The right comparison is therefore usually a modeled unit cost, such as dollars per terabyte-month, dollars per million API operations, and dollars per terabyte moved. A vendor-neutral data layer can reduce the cost of changing providers, but it does not eliminate the underlying cloud bills or automatically pick the lowest-priced configuration.

Also worth reading: How does OSS data plane scalability actually work, and how do I architect object storage that scales across clouds? · What is x-oss.com and how does it compare to enterprise object storage solutions in 2026? · What is a multi-cloud data mesh architecture and how do platform teams actually implement one across AWS, Azure, and GCP?

For B2B platform teams, the most defensible answer is to separate storage capacity from data-plane activity. Capacity is relatively easy to price; workload behavior determines the rest. A dataset read once per quarter behaves very differently from one opened by thousands of applications every minute. The comparison should start with the current bill rather than a generic marketing table, because existing discounts and committed-use benefits can outweigh a small difference in list price. The conclusion should also distinguish between object storage, block storage, file storage, archive storage, and managed caching, since they are priced against different operational needs rather than as interchangeable products.

Storage Unit Cost Is the Starting Point, Not the Final Answer

In the United States, common public list-price anchors are approximately $0.023 per GB-month for Amazon S3 Standard, $0.020 per GB-month for Google Cloud Storage Standard, and $0.0184 per GB-month for Azure Hot Block Blob in commonly referenced regions. These figures are not global quotes: selected regions, taxes, support plans, and customer agreements can change the result. They are nevertheless useful for establishing a baseline. At those rates, one terabyte of standard object storage costs roughly $23, $20, or $18.40 respectively, before requests, transfer, and retrieval. A 100 TB working set would therefore show an initial capacity difference of about $46 per month between S3 and Azure, which is small enough to be reversed by several terabytes of outbound transfer.

Access-frequency tiers matter more when the data profile changes. S3 Standard-Infrequent Access and Google Cloud Storage Nearline typically carry a minimum storage duration of 30 days; Azure Cool Block Blob also has a 30-day minimum. Google Archive has a longer minimum duration and is intended for data that is rarely read. S3 Glacier Flexible Retrieval and Deep Archive are designed for colder archives, with different retrieval times and request costs. Paying less per month is not automatically cheaper if the data must remain hot for compliance, analytics, or customer-facing delivery. A good comparison records the expected age distribution of objects, rather than applying the lowest archive price to the entire repository.

Cost or capabilityAmazon S3Google Cloud StorageAzure Blob StorageWhat to model
Typical US standard storage anchorAbout $0.023 per GB-monthAbout $0.020 per GB-monthAbout $0.0184 per GB-monthCapacity by lifecycle tier
Frequent-write transaction exampleAbout $0.005 per 1,000 PUT-style operations in many US regionsClass A operations priced per 1,000 requestsClass A transactions priced per 10,000 in many tiersWrites, lists, metadata changes
Frequent-read transaction exampleAbout $0.0004 per 1,000 GET requests in many US regionsClass B operations priced per 1,000 requestsClass B transactions priced per 10,000Reads, downloads, reads of small files
Internet egress allowanceFirst 100 GB per month free in many regionsFirst 10 GB per month free in many regionsFirst 100 GB per month free in many regionsMonthly volume beyond the allowance
Archive cautionGlacier classes and retrieval chargesNearline and Archive minimum durationsCool and Archive minimum durationsRetention period and retrieval frequency
The table illustrates a range of published pricing structures, not a guarantee of the final invoice. Regional differences, reserved capacity, customer-specific discounts, and cross-provider gateways can change the totals. It is also important to avoid mixing US list prices with prices from another country or currency without conversion.

Egress and Migration Costs Often Reverse the Ranking

Data transfer frequently matters more than the storage line item for cross-cloud workloads. Moving one petabyte out of a provider is expensive, and a one-time migration can dominate a multi-year storage budget. Common estimates place internet egress between major clouds at roughly $0.05 to $0.09 per GB, although destination, source region, volume tier, negotiated contracts, and free allowances matter. One petabyte at $0.06 per GB is about $60,000 in each direction when stated in the same pricing unit, before temporary storage, compute, and engineering time. If the data is copied and then retained in two clouds, capacity and replication are charged in addition to the original transfer.

Free allowances should be applied carefully. A monthly allowance reduces the cost of small transfers, but it does not make a large migration free. A workload that continuously replicates new objects between regions can incur both transfer and replication charges, and the two may be billed differently. Cross-region replication on major object platforms is often priced around $0.02 per GB per replication direction, with product-specific exceptions. A multi-region strategy should therefore be modeled as a separate product, not treated as a durability checkbox.

Migration projects also have a hidden labor component. Professional transfer tools may cost tens of thousands of dollars per month for high-throughput operations, while a managed service can range from several hundred to several thousand dollars per month depending on scale and support. Open-source tools such as rclone can reduce licensing expense, but engineers still need to account for orchestration, retries, checksums, throttling, and cleanup. A migration estimate should include a failure allowance of at least 10 percent, because interrupted jobs, partial writes, and duplicate retries are normal rather than exceptional.

Request Mix and Small Files Change the Economics

A simple per-terabyte calculation misses the operational behavior of object storage. API requests are charged separately from bytes, and small-object workloads can generate more expense than the stored data itself. S3, Google Cloud Storage, and Azure Blob use different operation classes, but the underlying distinction is similar: writes, lists, deletes, and metadata changes are more expensive than reads in many pricing schedules. A request can be billed even when the response is a tiny object or a cache result. This is why a workload storing 10 million 10 KB objects should not be compared with one storing the same bytes in 1,000 large objects.

Illustrative request prices make the difference visible. At $0.005 per 1,000 S3 PUT-style requests, 100 million writes would cost about $500 before storage. One million GET requests at $0.0004 per 1,000 would cost about $0.40, although the associated egress and scaling effects may be larger. Google Cloud Storage class A requests are commonly priced around $0.10 per 1,000 in standard US configurations, while class B requests are several orders of magnitude cheaper. Azure uses transaction classes and free monthly transaction counts that vary by blob type. A gateway that batches thousands of small reads into larger objects can therefore lower both request charges and compute overhead, but it introduces indexing, latency, and cache-coherence work.

The comparison should use actual telemetry, including requests per month, average object size, read-to-write ratio, and the share of traffic that crosses a region boundary. A 95 percent read workload may favor storage with cheap reads, while a workload with 95 percent small writes may favor another provider. Platform teams should also test whether caching, compression, deduplication, or data-tiering changes the number of billable operations. Cost control is frequently an application-design decision rather than a procurement decision alone.

Cross-Cloud Data-Plane Software Has Its Own Price Tag

B2B cross-cloud object-storage software is usually priced as a subscription, per-tenant fee, or per-data-processed amount, with enterprise agreements adding support and service commitments. Publicly visible SaaS prices are not directly comparable with a hyperscaler bill because the software may abstract the provider, add management features, or bundle support. Indicative market ranges for managed gateways, transfer services, and data-plane tools can run from several hundred to several thousand dollars per month for smaller deployments, while larger enterprise platforms may be quoted tens of thousands of dollars per month. These are planning ranges, not quotes, and a proposal should be required before including the figure in a budget.

The important question is what the software changes. A gateway that provides uniform APIs, audit logs, policy enforcement, or replication can justify a management premium even when underlying storage prices are similar. A transfer-only tool may be cheaper but require the customer to operate credentials, networking, and retries. Pricing models may charge for active bytes, requests, tenants, environments, or support response times, so teams should normalize the units. A plan charging $0.02 per processed gigabyte is inexpensive for a small archive and expensive for a high-churn pipeline; a flat monthly fee may be more predictable for a steady workload.

Software costs should be evaluated against avoided engineering time and incident risk. If a managed layer removes four engineer-hours per week, the labor value can exceed the subscription fee in a staffed platform organization, but that calculation must use a realistic blended hourly cost. It should also include migration time, security review, and the cost of maintaining two implementations of the same service. A vendor-neutral API does not make the underlying clouds identical: credentials, IAM models, event formats, consistency behavior, and egress rules remain provider-specific.

Common Pricing Mistakes in Cloud Comparisons

The most common mistake is comparing advertised storage prices while ignoring retrieval and transfer. Another is treating a three-year reserved price as if it applies to a workload that changes rapidly. Reserved capacity can help stable baseline demand, but it can create unused expense when data is deleted, archived, or moved. A second mistake is assuming that an egress waiver works symmetrically across clouds. Free allowances, direct peering, partner networks, and negotiated discounts may apply only to specific directions, services, or account structures.

Teams also make errors with currency and units. One provider may quote GB per month, another GiB per month, and a migration tool may charge per processed GB while billing deduplicated bytes. A spreadsheet should standardize everything to decimal GB, monthly periods, and a single currency before totals are compared. Rounding percentages to nearest whole numbers can hide a 5 percent difference, so the model should show at least two decimal places for per-GB prices and the total monthly cost. Finally, many comparisons omit support plans, observability, compliance, and incident response. A low-cost bucket that requires expensive logging retention or manual audit work is not necessarily economical.

A useful test is to compare the same workload across three scenarios: optimized single-cloud, actively multi-cloud, and multi-cloud with provider portability. Each scenario should include the same retention policy, request rate, recovery requirements, and security controls. If the multi-cloud scenario is more expensive by 15 percent but reduces a one-week outage to a few hours, the business case may still be valid. The result should be presented as a decision tradeoff, not disguised as a pure price win.

A Practical Method for Platform Teams

Start by extracting 90 days of storage, request, and egress data from each provider. Record stored bytes by lifecycle class, monthly request counts by operation, data transfer by source and destination, replication volume, and support or software fees. Normalize the figures to a monthly average and identify the top five workloads by cost. A large archive, a high-frequency API, and a cross-region replica may each have a different cost driver, so combining them into one number can obscure the decision.

Next, build three cost models for each workload: current configuration, a tuned configuration, and a portable configuration. Tuned models should test lifecycle rules, object consolidation, caching, compression, and request batching. Portable models should use the same logical interface while varying the target provider and measuring the cost of migration, dual writes, and data access. Include a 10 percent contingency for retries and a defined sensitivity range, such as plus or minus 20 percent for request volume and egress. This gives procurement and engineering a shared basis for discussion.

Then request current quotes from the selected providers and software vendors. Compare discounts against the modeled workload, not against theoretical maximum consumption. For example, a tiered price may be attractive at 500 TB per month but worse at 50 TB if the break point requires a commitment larger than the actual baseline. Set a review date, such as 90 days after implementation, and track realized unit costs monthly. The model is useful only if the production invoice is fed back into it.

When to Act, Negotiate, or Stay Simpler

Cost optimization should begin when storage, request, or egress costs exceed a defined budget threshold or grow faster than the data workload. A common trigger is a monthly bill increase of 15 percent without a matching increase in business usage, or when cross-cloud egress exceeds 20 percent of the storage and network budget. Another trigger is a planned provider migration: a fresh quote is more useful immediately before a renewal, a major data move, or a new application launch than years earlier.

Acting does not always mean switching clouds. Lifecycle policies, smaller objects, request batching, caching, regional placement, and retention controls can reduce cost before a contract is renegotiated. Providers may offer private discounts, committed-use rates, migration credits, or egress concessions, especially when the customer can show credible volume and timing. In negotiations, request the complete rate card, discount duration, minimum commitment, overage price, and the treatment of requests and transfer. Do not rely on a headline price that excludes a commonly used operation.

Staying with one provider can be sensible for a stable, modest workload where migration would cost more than the expected savings. Multi-cloud portability becomes more valuable when regulatory separation, customer choice, resilience targets, or acquisition risk justify the additional operating expense. For platform teams, a neutral data plane can be justified by reducing duplicated application code, not by promising that every workload should run in several clouds at once. The prudent 2026 approach is to keep a baseline configuration, test a portable alternative, and switch only when the measured savings or resilience benefit exceeds the migration and operational cost.