Skip to content

High Availability

The nature of being an OAuth 2.0 server that microservices depend on for authentication and authorization means that ServiceAuthCentral needs to be highly available. While for some deployments a single region may be sufficient, for others a multi-region deployment may be necessary.

Multi-Region Deployment of Firestore

The current datastore implemented by ServiceAuthCentral is Firestore. While Firestore offers a few multi-region locations this may not be sufficient for some deployments. This is where crossfiresync comes in. Crossfiresync is a tool that can be used to synchronize Firestore data between multiple regions in near real-time allowing for a multi-region deployment of Firestore. This is possible because ServiceAuthCentral is overwhelmingly a read-heavy application and Firestore is optimized for reads.

Crossfiresync requires multiple components to be set up correctly including Pub/Sub topics and subscriptions and the application itself which facilitates the replication. Therefore it is recommended to use the OpenTofu module crossfiresyncrun-tofu to set it manually. The serviceauthcentral-gcp-tofu module which sets up a complete ServiceAuthCentral deployment includes the crossfiresyncrun-tofu module as a submodule and will set up crossfiresync for you as part of the recommended deployment.