I’m seeking insights from the community on best practices for managing and replicating Docker Images across multiple regions when using Google Artifact Registry (GAR). We operate across several continents, and face significant delays when pulling images from distant regions, such from Europe to America.
We’ve considered a few strategies, but each has its drawbacks:
- Push the image to multiple locations during the CI process.
Drawback: Increasing the number of locations leads to build times
longer. - Push the image to a one primary location during the CI step and
replicate it to other regions during CD deployment as needed.
Concern: This task doesn’t seem to fit within the scope of CD
responsibilities. - Trigger a GCP CloudFunction from pub/sub events to replicate the
image across regions (an example usage isgcrane
tooling). Concern:
This could complicate the architecture and potentially become a
bottleneck.
Is there no way to use GAR like a remote repository that can be accessed across different regions and projects, similar to how Docker Hub’s remote repositories work?
How do you handle image replication in GAR, especially if it’s your primary storage solution?
Any suggestions or experiences would be greatly appreciated.