Phase 2: Implement Zuora Cache Sync and Backfill
# Background The Fulfillment section has an initiative to https://gitlab.com/groups/gitlab-org/-/epics/9748+. The Orders model in CDot is misleading and prone to data accuracy issues. Given these problems, we are pursuing a new data architecture for CDot to meet several objectives shown below. - Increase the accuracy of CustomersDot data pertaining to Subscriptions and its entitlements. This data is currently stored as `Order` records in CustomersDot which has been error prone as shown by the following issues: - [Multiple order records for the same subscription](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/6971) - [Multiple subscriptions active for the same namespace](https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/6972) - [Support Multiple Active Orders on a Namespace](https://gitlab.com/groups/gitlab-org/-/epics/9486) - Continue to align with Zuora Billing being the SSoT for Subscription and Order data. - Decrease dependency and reliance on Zuora Billing uptime. - Improve CustomersDot performance by storing relevant Subscription data locally and keeping it in sync with Zuora Billing. This could be a key piece to making Seat Link more efficient and reliable. More information about this work, including full technical plan, can be found in the [architecture blueprint](https://docs.gitlab.com/ee/architecture/blueprints/cdot_orders/). # Purpose This epic covers the second phase of work of the Orders re-architecture. The first phase can be found in https://gitlab.com/groups/gitlab-org/-/epics/11751+. In this phase, the focus is making the Zuora cache data usable by syncing and backfilling: - Build service to sync a Subscription version and all - Create the syncing mechanisms such that updates in Zuora are also synced in CDot - Create and run task in each environments to backfill existing subscriptions ## Resources - [Orders Proposal](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/doc/architecture/orders_proposal.md) - [Orders Architecture Blueprint](https://docs.gitlab.com/ee/architecture/blueprints/cdot_orders/)
epic