-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
46 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Rust Assets Backup: FAQ | ||
|
||
## Do we need a multi-region backup for the object storage? | ||
|
||
No. [Multi-region](https://cloud.google.com/storage/docs/availability-durability#cross-region-redundancy) only helps if we want to serve this data real-time and we want to have a fallback mechanism if a GCP region fails. We just need this object storage for backup purposes, so we don't need to pay more 👍 | ||
|
||
## Why did you choose the `europe-west1` GCP region? | ||
|
||
It's far from the `us-west-1` region where the AWS S3 buckets are located. This protects us from geographical disasters. | ||
The con is that the latency of the transfer job is higher when compared to a region in the US. | ||
Also, the cost calculator indicates that this regions has a "Low CO2" and it's among the cheapest regions. | ||
|
||
## Why GCP? | ||
|
||
Both the Rust Foundation and the Rust project have a good working relationship with Google, and it is where the Rust Foundation's Security Initiative hosts its infrastructure. | ||
Due to the good collaboration with Google, we expect that we can cover the costs of the backup with credits provided by Google. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Rust Assets Backup: Maintenance | ||
|
||
## Monitoring 🕵️ | ||
|
||
To check that the backups are working: | ||
|
||
- Ensure the number of files and the size of the GCP buckets is the same as the respective AWS buckets by looking at the metrics | ||
- Ensure that only the authorized people have access to the account | ||
|
||
You can also run the following test: | ||
|
||
- Upload a file in an AWS S3 bucket and check that it appears in GCP. | ||
- Edit the file in AWS and check that you can recover the previous version from GCP. | ||
- Delete the in AWS and check that you can recover all previous versions from GCP. | ||
|
||
In the future, we might want to create alerts in: | ||
|
||
- _Datadog_: to monitor if the transfer job fails. | ||
- _Wiz_: to monitor if the access control changes. | ||
|
||
## Backup maintenance 🧹 | ||
|
||
If a crate version is deleted from the crates-io bucket (e.g. for GDPR reasons), an admin needs to delete it from the GCP bucket as well. | ||
Even though the delete will propagate to GCP, the `soft-delete` feature will preserve the data, so we need to delete it manually. |