A lot of elements take part in a good backup strategy. Two of them are:
- Where to store your backups – Never on the same server. Preferable not in the same datacenter. Ideally far enough so you can restore in case of a natural disaster (region flood, extended local power outage, etc…).
- Retention period – The longer, the better.
Those points relate directly to costs. Storing a backup on an off-site facility cost money. Keeping the backups available to fulfill your retention period policy costs money.
The main cloud providers have different layers of storage often called Storage Class. Each layer has its own particularities and policies, but they come with an important factor – Cost!
We are happy to announce that starting at Percona XtraBackup 2.4.21 and 8.0.22, our cloud upload tool – xbcloud – has the ability to upload backups setting a specific storage class, where the user can choose a more cost-effective class for its backups. Currently, Amazon S3 and Google Cloud providers have the ability to set a different storage class.
As an example, for a database of 500G running a full backup every day, the potential savings are as follow:
- Standard Storage Class – costs $0.021 per GB * 500GB * 365 days = $3,832.50
- Glacier Deep Archive Storage Class – costs $0.00099 per GB * 500GB * 365 days = $180.68 (a difference of $3,651.83)
- Standard Storage Class – costs $0.020 per GB * 500GB * 365 days = $3,650.00
- Archive Storage Class – costs $0.0012 per GB * 500GB * 365 days = $219.00 (a difference of $3,431.00)
Storage class is controlled by a new parameter that varies depending on the provider:
- Amazon S3 Glacier Deep Archive:
Shell1xtrabackup [...] | xbcloud [...] --s3-region=SAME_REGION_AS_BUCKET --s3-storage-class=DEEP_ARCHIVE
- Google Cloud Archive:
Shell1xtrabackup [...] | xbcloud [...] --google-storage-class=ARCHIVE
Note that the above representation is meant to illustrate the potential cost savings. Please refer to your provider documentation for more information about each storage class, its proprieties (such as retrieval time), and the full list of supported storage classes.
In summary, storage classes can bring significant cost savings to stored backups. Users can now set it at the moment of streaming and benefit from a more cost-effective way of storing backups in the cloud.
Thanks to Benoît Knecht for providing the initial patch for this feature.