I was told by Srinivasan Rajagopalan a few months back that it would make more sense for me to go with Google Cloud Storage instead of BackBlaze B2 to backup my home server files. While GCS Coldline storage does make a lot of sense, I still wasn’t convinced coz my first research was quite sound (albeit short) that B2 is the best thing I can use coz of some key factors,
- Ease of Setup.
- Includes good and easy compatibility with Restic
- Not expensive.
- Whenever I wanna restore, I don’t wanna pay a big bill.
- Same for when I “re-backup”
For this round of research, I wanna focus on 4 providers and see if I actually need to move a to a new one or not.
- Google Cloud Storage
- AWS S3
- Wasabi Storage
- Backblaze B2 ⭐
Almost all of the following is generated using Gemini 2.5. I’d given my previously researched notes as an input to generate all this nice fancy report. I will edit the same notes based on my new research. AI does give a good starting point, ngl.
I. Executive Summary: The Restic Cloud Storage Cost Calculus
The selection of a cloud storage provider for a Restic backup repository is a complex undertaking that extends far beyond a simple cost-per-gigabyte comparison. The total cost of ownership is determined by a multi-variable equation that includes not only storage fees but also API request charges, data egress costs, and potential penalties for early deletion. This analysis, therefore, focuses on modeling these variables for four providers—Google Cloud Storage (GCS), AWS S3, Wasabi Storage, and Backblaze B2—to determine the most cost-effective and predictable solution for a 3 TB encrypted Restic repository.
The central finding is that Restic’s unique operational profile—specifically its use of content-defined chunking, deduplication, and a reliance on real-time data access for maintenance tasks—makes providers with simple, predictable pricing models the most reliable and budget-friendly. Providers with complex, tiered billing for transactions and retrieval fees introduce significant risk of unpredictable and potentially exorbitant bills.
Based on a detailed scenario analysis of initial backup, routine operation, and a full data restore, the following conclusions were reached:
-
Best Overall: Backblaze B2 stands out as the most a reliable and cost-effective solution. Its pricing model, characterized by a low flat rate for storage, no minimum storage duration fees, and a generous free egress policy for restores, aligns perfectly with Restic’s needs.
-
Best for Minimal Data Churn: Wasabi is a strong contender due to its flat rate and zero fees for egress and API requests. However, its 90-day minimum storage duration policy creates a significant risk of hidden fees if Restic’s
prunecommand is used to remove data that is less than three months old. -
Best for Enterprise-Level Management: AWS S3 and Google Cloud Storage can be cost-effective for backup purposes, but only if the user is willing to manage complex lifecycle policies and carefully monitor API and retrieval fees. They are ill-suited for a straightforward, set-it-and-forget-it approach, as a single large-scale operation, such as a data restore, can be prohibitively expensive.
The following table provides a high-level summary of the estimated costs based on the detailed modeling scenarios presented later in this report.
| Provider | Recommended Tier | Monthly Storage Cost (3TB) | Monthly Maintenance Cost | Cost of a Full 3TB Restore | Total Estimated 1-Year Cost |
|---|---|---|---|---|---|
| Backblaze B2 | Pay-As-You-Go | $18.00 | $0.00 | $0.00 | ~$216.00 |
| Wasabi | Pay-As-You-Go | $20.97 | ~$1.37 (with penalty) | $0.00 | ~$268.00 |
| AWS S3 | S3 Standard-IA | $38.40 | ~$0.42 | ~$307.20 | ~$770.00 |
| Google Cloud | Coldline | $12.29 | ~$2.30 (with penalty) | ~$307.20 | ~$698.00 |
Note: The costs for AWS S3 and Google Cloud Storage are highly variable and are heavily influenced by API requests, data retrieval, and data egress fees, which are not present in Backblaze B2’s and Wasabi’s pricing models. The restore cost, in particular, represents a significant one-time expense for the major hyperscalers.
II. Introduction: From Backup to Bill - The Restic Paradigm
2.1 The User’s Objective
The user seeks to store 3 TB of encrypted data using Restic and requires a comparative analysis of Google Cloud Storage, AWS S3, Wasabi Storage, and Backblaze B2, with a primary focus on pricing. This is a common and important technical challenge, as the market is saturated with providers, each with a distinct and often complex pricing model. The choice of the backup tool, Restic, introduces a critical layer of technical requirements that must be understood to properly evaluate the cost of each platform.
2.2 Beyond the Megabyte: Why a Simple Cost-Per-GB Comparison Fails
Cloud storage pricing is rarely a single, flat fee for data stored. Instead, it is a multi-dimensional equation that typically includes separate charges for data storage, API requests, data retrieval, and data egress (transferring data out of the cloud). These charges can be tiered, with different rates applying for different volumes of data or for different storage classes.1 For a backup use case, where data is primarily written once and then read only for maintenance or a full restore, these ancillary costs can become the dominant factor in the total bill. A simple focus on the lowest per-gigabyte storage rate can be misleading and can lead to unexpected, costly bills.
2.3 The Restic Factor
Restic is an open-source backup tool that is highly efficient for its use of content-defined chunking and deduplication. Instead of backing up entire files, Restic breaks data down into blocks, or “blobs,” which are then collected into “pack” files. The average size of these pack files is around 8 MB.3 This approach means that Restic only uploads new data blocks, resulting in significant bandwidth and storage savings for incremental backups.5
However, this efficiency comes with a specific operational pattern that generates a predictable, but potentially costly, volume of API calls.
-
Backups generate
PUTrequests for uploading new pack files and metadata. For a 3 TB initial backup, this would translate to hundreds of thousands of individualPUToperations.3 -
Data Maintenance operations, such as
restic prune(to remove old snapshots) orrestic check(to verify repository integrity), require the tool to read repository metadata and data blobs. This generates a high volume ofGETandLISTrequests.6 -
Data Restoration involves retrieving a large volume of data, leading to a high number of
GETrequests and triggering data retrieval and egress fees.
Because of this, an accurate cost analysis must consider how each provider bills for these specific operations, not just for the data at rest.
III. The “Hot” vs. “Cold” Storage Dilemma: Why the Cheapest Tier is a Trap
The primary objective of a backup is reliable data availability in the event of a failure. While it may seem logical to choose the cheapest cloud storage tier, often labeled “archive” or “deep archive,” these tiers are fundamentally incompatible with Restic’s operational model.
Cloud storage providers typically offer a spectrum of storage classes defined by their access frequency and latency:
-
Hot Storage: Designed for frequently accessed data with low latency, such as websites or applications. Pricing is typically based on a higher storage rate but with minimal or no fees for operations or retrieval (e.g., S3 Standard, GCS Standard).1
-
Infrequent Access (IA) / Nearline Storage: Intended for long-lived data that is accessed infrequently, usually with a lower storage cost. These tiers introduce fees for data retrieval and often have a minimum storage duration (e.g., S3 Standard-IA, GCS Nearline).1
-
Archival (Cold) Storage: The lowest cost tier, designed for long-term data preservation that is accessed very rarely, if at all. These tiers have a very low storage price but are characterized by high retrieval fees, multi-hour retrieval times, and long minimum storage duration policies, often 90 to 365 days (e.g., S3 Glacier Deep Archive, GCS Archive).1
Restic’s functionality is predicated on the ability to perform on-demand, real-time access to the repository’s metadata and data blocks. Operations like prune, check, and even simply listing snapshots (ls) require the tool to fetch individual data blobs and metadata files in a random-access pattern.7 The very nature of Restic’s content-defined chunking means it needs instant access to the repository’s contents to function efficiently.
Attempting to use an asynchronous archival tier, such as AWS S3 Glacier Flexible Retrieval or GCS Archive, would cause these commands to fail or require an hours-long retrieval process before the data becomes accessible, effectively rendering the backup unusable for all but the simplest of backup commands.6 The high cost and long latency of retrieval from these tiers make them an impractical and unreliable choice for an active backup repository. Therefore, this analysis will focus on the more compatible tiers for each provider: Backblaze B2 (Pay-As-You-Go), Wasabi (Pay-As-You-Go), AWS S3 Standard-IA and Glacier Instant Retrieval, and GCS Nearline and Coldline.
IV. Provider Analysis: A Deeper Dive into Pricing and Policy Nuances
4.1. Backblaze B2: The King of Predictability
Backblaze B2’s pricing model is distinguished by its simplicity and predictability, which makes it an excellent fit for Restic.
-
Storage: B2 offers a straightforward, flat rate of $6 per TB per month for its Pay-As-You-Go model. The first 10 GB of storage is free.11
-
Ingress & API Calls: All data uploads and Class A API calls (including
b2_upload_file) are free. Class B and C API calls (b2_download_file,b2_list_file_names) are free for the first 2,500 calls per day per class, with a small charge for overages.11 For a typical Restic user, the free tiers for these calls are likely to be more than sufficient. -
Egress: Backblaze has a uniquely generous egress policy. It offers free data egress up to three times the average monthly data stored.11 For a 3 TB repository, this means up to 9 TB of data can be downloaded for free each month. Any egress beyond that is charged at a low rate of $0.01 per GB. This policy is a major advantage for backup scenarios, as it means a full data restore is highly likely to be free of charge.
-
Minimum Duration: B2 has no minimum file size or storage duration fees.11 This is a critical distinction that makes Restic’s
pruneoperations completely penalty-free. The ability to remove old data without a hidden fee for a minimum storage period aligns perfectly with a dynamic backup strategy.
The combination of no minimum duration fees and a large free egress allowance directly addresses the two most significant pricing risks of Restic backups: hidden deletion penalties and high costs for a catastrophic restore.
4.2. Wasabi Storage: The Flat-Rate with a Catch
Wasabi’s pricing model is attractive due to its simple, all-inclusive rate, but a key policy can lead to hidden costs for Restic users.
-
Storage: Wasabi offers a single flat rate, starting at $6.99 per TB per month, with no fees for API requests or data egress.14
-
Ingress & Egress: Uploads and downloads are free, which is a major advantage and provides a similar benefit to Backblaze B2 for data restores. There are no charges for data transfer in or out of the service.14
-
API Calls: All API requests are free, which completely eliminates the cost of Restic’s
PUT,GET, andLISToperations. This provides a very clear and predictable cost for the operational side of a backup.14 -
The Catch - Minimum Duration: Wasabi’s Pay-As-You-Go model includes a crucial 90-day minimum storage duration policy. If an object is deleted before 90 days, a “Timed Deleted Storage” charge is applied, equivalent to the storage cost for the remaining days.16 This policy directly conflicts with Restic’s core data management function. A
restic pruneoperation removes old data blobs, and if those blobs are less than 90 days old, a penalty will be incurred. A user who performs nightly backups and weekly pruning would face a significant and unpredictable cost for data they no longer need, which undermines the flat-rate promise.
4.3. Google Cloud Storage (GCS): The Layered Cost Model
Google Cloud Storage provides multiple tiers that can be compatible with Restic, but their layered pricing model requires careful management. The GCS Nearline and Coldline tiers are the most suitable for backups, as the Archive tier’s 365-day minimum duration and high retrieval costs make it impractical for active repositories.1
-
Storage: GCS
Nearlineis priced at approximately $0.01 per GiB per month, whileColdlineis around $0.004 per GiB per month, depending on the region.1 -
Operations: Both tiers have separate charges for Class A and Class B operations.
Nearlinehas lower operation costs thanColdline, andArchiveis the most expensive.8 A Restic backup generatesPUTrequests (Class A operations), whilepruneandcheckgenerateGETandLISTrequests (Class B operations).19 -
Retrieval: A retrieval fee applies whenever data is read. For
Nearline, this fee is $0.01 per GB, and forColdline, it is $0.02 per GB.1 This fee is a significant variable, as a full restore would involve retrieving the entire 3 TB repository. -
Egress: Data egress to the internet starts at $0.08 per GiB, which can be a substantial cost for a full data restore.1
-
Minimum Duration:
Nearlinehas a 30-day minimum storage duration, andColdlinehas a 90-day minimum. Deleting or rewriting an object before this period results in a prorated charge for the remaining duration.18
The cost-effectiveness of GCS depends heavily on the user’s access patterns. The storage savings of the Coldline tier can be quickly negated by a single data retrieval event, making Nearline a safer choice for users who anticipate more frequent maintenance operations.
4.4. AWS S3: The Hyperscaler’s Cost Matrix
AWS S3 offers a wide array of storage classes, but for Restic, S3 Standard-IA and S3 Glacier Instant Retrieval are the most relevant. The Glacier Flexible Retrieval and Glacier Deep Archive tiers are incompatible with Restic’s real-time access requirements.6
-
Storage:
S3 Standard-IAis priced at $0.0125 per GB per month, whileS3 Glacier Instant Retrievalis a more affordable $0.004 per GB per month.2 -
Requests: Both tiers charge for API requests, and the fees are higher for
Glacier Instant Retrieval. ForS3 Standard-IA, PUT requests are $0.01 per 1,000, and GET requests are $0.001 per 1,000. ForGlacier Instant Retrieval, these costs increase to $0.02 and $0.01 per 1,000, respectively.2 -
Retrieval: Both tiers have a data retrieval fee.
S3 Standard-IAis $0.01 per GB retrieved, whileS3 Glacier Instant Retrievalhas a higher fee of $0.03 per GB.2 This cost is in addition to the data egress fee. -
Egress: Data transfer out to the internet starts at $0.09 per GB, which is a significant variable for data restores.22
-
Minimum Duration:
S3 Standard-IAhas no minimum storage duration, whileS3 Glacier Instant Retrievalhas a 90-day minimum. Deleting an object before this period incurs a prorated charge for the remaining time.2
The Glacier Instant Retrieval tier is tempting for its low storage cost, but its high retrieval and egress fees make it a risky choice for a full restore. A single restore event can result in a bill that is many times the annual storage cost.
V. Comparative Cost Modeling & Scenario Analysis
To provide a practical comparison, this section models the estimated costs for each provider across three common Restic backup scenarios. The following assumptions are used to standardize the analysis:
-
Initial Backup: 3 TB of data is uploaded for the first time.
-
Incremental Backup: 10 GB of new, deduplicated data is added daily. This equates to approximately 300 GB per month.
-
API Calls: A 3 TB backup results in approximately 375,000
PUTrequests for Restic’s 8 MB pack files. A 300 GB monthly incremental backup results in roughly 37,500PUTrequests. -
Prune/Maintenance: A monthly maintenance cycle is assumed, generating a large number of
GETandLISTrequests, along withDELETErequests for old pack files. -
Restore: One full 3 TB restore event is modeled to illustrate the cost of a catastrophic recovery.
5.1. Scenario 1: Initial Backup Cost
This scenario models the cost of a full 3 TB initial backup for the first month.
| Provider | Storage Tier | Monthly Storage Cost (3TB) | PUT Request Cost | Total First Month Cost |
|---|---|---|---|---|
| Backblaze B2 | Pay-As-You-Go | $18.00 | $0.00 | $18.00 |
| Wasabi | Pay-As-You-Go | $20.97 | $0.00 | $20.97 |
| AWS S3 | S3 Standard-IA | $38.40 | $3.75 | $42.15 |
| Google Cloud | Coldline | $12.29 | $15.00 | $27.29 |
- Analysis: The initial cost comparison shows a clear difference in pricing models. Wasabi and Backblaze B2, with their no-cost API policies, are the most straightforward. The AWS S3 and GCS models show that API request costs are a real, tangible part of the initial bill. For GCS Coldline, the low storage cost is almost equaled by the cost of the API operations to upload the data.
5.2. Scenario 2: Steady-State Monthly Cost
This scenario models the cost of storing the initial 3 TB, adding 300 GB of new data, and performing a prune operation each month. This highlights the impact of minimum duration penalties.
| Provider | Storage Tier | Storage Cost (3.3TB) | Incremental Backup Cost | Prune Cost (API + Penalty) | Total Monthly Cost |
|---|---|---|---|---|---|
| Backblaze B2 | Pay-As-You-Go | $19.80 | $0.00 | $0.00 | $19.80 |
| Wasabi | Pay-As-You-Go | $23.07 | $0.00 | ~$1.37 | $24.44 |
| AWS S3 | S3 Standard-IA | $41.85 | $0.38 | ~$0.42 | $42.65 |
| Google Cloud | Coldline | $13.52 | $1.50 | ~$0.80 | $15.82 |
- Analysis: This table highlights the danger of minimum duration penalties. The Wasabi
prunepenalty is a prorated storage charge on the 300 GB of data that was deleted before the 90-day minimum was met.16 Similarly, GCS Coldline imposes a prorated fee for deleting data before 90 days.18 These seemingly small penalties add up over time and create an unpredictable billing experience. The lack of such penalties for Backblaze B2 and AWS S3 Standard-IA makes them more reliable for a dynamic backup workflow.
5.3. Scenario 3: Catastrophic Restore Cost
This scenario models the cost of a one-time, full 3 TB data restore, where the entire repository must be downloaded from the cloud. This is where egress and retrieval fees become the dominant cost factor.
| Provider | Storage Tier | Retrieval Cost (3TB) | Egress Cost (3TB) | Total Restore Cost |
|---|---|---|---|---|
| Backblaze B2 | Pay-As-You-Go | $0.00 | $0.00 | $0.00 |
| Wasabi | Pay-As-You-Go | $0.00 | $0.00 | $0.00 |
| AWS S3 | S3 Standard-IA | $30.72 | $276.48 | $307.20 |
| Google Cloud | Coldline | $61.44 | $245.76 | $307.20 |
- Analysis: This is the most crucial comparison for a backup use case. The purpose of a backup is to be able to restore data when needed. Both Backblaze B2 and Wasabi offer a truly free restore experience, as they do not charge for data retrieval or egress.11 In stark contrast, a full restore from a major hyperscaler can result in a bill of several hundred dollars, a cost that far outweighs any monthly storage savings.
VI. Final Recommendations and Strategic Insights
6.1. Primary Recommendation: The Predictable Winner
Based on the detailed cost analysis and the operational requirements of Restic, the clear primary recommendation is Backblaze B2. Its transparent and predictable pricing model is perfectly aligned with the needs of a Restic backup repository. The combination of a low storage price, free API calls for data uploads, and, most importantly, the lack of minimum duration penalties and a generous free egress policy for restores, makes it the most cost-effective and reliable long-term solution. The ability to perform a full 3 TB restore without incurring hundreds of dollars in fees is a decisive advantage for a backup use case.
6.2. Alternative Choices and Strategic Trade-offs
-
Wasabi: This is a strong alternative, provided the user can implement a retention policy that avoids its 90-day minimum duration penalty. If backups are kept for longer than three months, Wasabi becomes highly competitive due to its flat rate and zero-egress/API costs. However, the risk of a hidden penalty for frequent pruning makes it a more complex choice than B2.
-
AWS S3 & GCS: These providers are viable options, but they are ill-suited for a straightforward backup workflow. They are best suited for enterprise environments with dedicated teams who can utilize advanced features like lifecycle policies to automatically transition data to colder tiers, thereby optimizing costs over a long period. However, the high egress costs for a full data restore remain a significant risk that must be factored into any long-term backup strategy.
6.3. Concluding Insights: Beyond the Bill
The analysis of these providers illustrates a fundamental principle of cloud computing: the lowest sticker price is not always the lowest total cost. The operational pattern of the software in use—in this case, Restic—is a critical variable that dictates the true cost of a solution. The core benefit of Restic’s block-level deduplication and end-to-end encryption is that the data is always secure, and incremental backups are highly efficient.5
A crucial strategy for users of AWS S3 or GCS is to utilize Restic’s local metadata cache. By default, Restic’s check command does not use this cache and will generate a large number of costly GET requests.7 By enabling a local cache, the number of expensive cloud API calls can be significantly reduced.
Ultimately, a robust backup strategy requires a solution that is not only affordable for storage but also reliable and cost-effective when it matters most—during a data restore. This analysis demonstrates that providers with a simple, predictable pricing model, which minimizes or eliminates fees for API requests, retrieval, and egress, are the most suitable choice for a Restic-based backup solution.
Works cited
-
Cloud Storage | Google Cloud, accessed August 8, 2025, https://cloud.google.com/storage
-
S3 Pricing - AWS, accessed August 8, 2025, https://aws.amazon.com/s3/pricing/
-
How to estimate PUTS GETS for S3 pricing? - Getting Help - restic forum, accessed August 8, 2025, https://forum.restic.net/t/how-to-estimate-puts-gets-for-s3-pricing/3838
-
Tweaking the chunker block size targets · Issue #1071 · restic/restic - GitHub, accessed August 8, 2025, https://github.com/restic/restic/issues/1071
-
Backing up — restic 0.18.0 documentation, accessed August 8, 2025, https://restic.readthedocs.io/en/stable/040_backup.html
-
S3 Deep Glacier, any experience with costs? - Getting Help - restic forum, accessed August 8, 2025, https://forum.restic.net/t/s3-deep-glacier-any-experience-with-costs/3285
-
Very Large Number of B2 Transactions - Getting Help - restic forum, accessed August 8, 2025, https://forum.restic.net/t/very-large-number-of-b2-transactions/532
-
Google Cloud Storage Classes & Pricing : The Complete Guide, accessed August 8, 2025, https://www.economize.cloud/blog/gcp-storage-classes-pricing-features-services/
-
Amazon S3 Glacier storage classes - AWS, accessed August 8, 2025, https://aws.amazon.com/s3/storage-classes/glacier/
-
Restic and S3 Glacier Deep Archive - Features and Ideas, accessed August 8, 2025, https://forum.restic.net/t/restic-and-s3-glacier-deep-archive/1551
-
Cloud Storage Pricing Comparison: AWS S3, GCP, Azure, and B2, accessed August 8, 2025, https://www.backblaze.com/cloud-storage/pricing
-
B2 Transaction API Price - Backblaze, accessed August 8, 2025, https://www.backblaze.com/cloud-storage/transaction-pricing
-
Low Cost, High Performance S3 Compatible Object Storage - Backblaze, accessed August 8, 2025, https://www.backblaze.com/cloud-storage
-
Wasabi Hot Cloud Storage Pricing, accessed August 8, 2025, https://wasabi.com/pricing
-
Cloud Services - Wassabi, accessed August 8, 2025, https://rebootcs.com/services/cloud/wassabi
-
Minimum Storage Duration Policy, accessed August 8, 2025, https://docs.wasabi.com/v1/docs/how-does-wasabis-minimum-storage-duration-policy-work
-
Pricing FAQs for Wasabi’s Pay as You Go Pricing Model, accessed August 8, 2025, https://wasabi.com/pricing/faq
-
Pricing | Cloud Storage | Google Cloud, accessed August 8, 2025, https://cloud.google.com/storage/pricing
-
GCP Cloud Storage Pricing: Dimensions & Recommendations - CloudBolt, accessed August 8, 2025, https://www.cloudbolt.io/gcp-cost-optimization/google-data-lake-pricing/
-
Preparing a new repository — restic 0.18.0-dev documentation, accessed August 8, 2025, https://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html
-
A Look Into AWS S3 Pricing Models - CloudOptimo, accessed August 8, 2025, https://www.cloudoptimo.com/blog/a-look-into-aws-s3-pricing-models/
-
Amazon S3 Glacier service (Glacier API for vaults) pricing - AWS, accessed August 8, 2025, https://aws.amazon.com/s3/glacier/pricing/
Repository Format - Restic Documentation, accessed August 8, 2025, https://restic.readthedocs.io/en/v0.2.0/Design/