What works today, and what doesn’t.
Our other pages describe where Cloud Parity is going. This one describes where it is. We would rather you find the gaps here than in a call - and we would rather lose the ones the gaps disqualify than surprise them later.
Working today
Each of these runs and is covered by tests that fail when it breaks.
Reading an Azure subscription
A read-only scan that inventories what is deployed and how it is wired together - resources, role assignments, Key Vault structure, App Service settings, private endpoints - and records the dependencies between them. This is what fills in a recovery check with measured answers instead of remembered ones.
Reading inside a Kubernetes cluster
The objects running in the cluster, not just the cluster: Deployments, StatefulSets, Services, ConfigMaps and RBAC bindings, normalized into the same model as everything else.
Backing up PostgreSQL, continuously
A base copy, then a change stream over logical replication, chunked and checksummed into storage you own. The manifest is written last, so a chain is never described as complete before its bytes are.
Restoring PostgreSQL to a point in time
The artifact is hashed before anything is loaded, the change files are replayed in order, and the restore stops at a chosen moment rather than at the end of the chain - advancing the sequences, because a replay carries rows and no sequence, and the first INSERT after a failover would otherwise collide.
Proving the restore actually worked
Row count and a per-table content checksum against the source. A right count with a wrong checksum is the corruption counting cannot see, which is the whole reason both are measured.
The part you can watch us run
The PostgreSQL path is proved end to end in a single command: a base copy taken while writes are still landing, several change cycles, a schema change mid-flight, a restore, and a comparison of the result against the source by row count and per-table checksum. Two throwaway containers, no cloud, about forty seconds, and a pass or fail exit status.
It runs on a laptop, so we can run it on a call, on your screen, before you have given us anything. If it fails, you will watch it fail.
Not covered yet
Largest gap first, because burying it would defeat the point of the page.
Rebuilding the environment
This is the largest gap and the centre of the product. The scanner reads your environment and records the order it would have to be rebuilt in. Nothing yet creates those resources in a recovery subscription. Today the dependency graph is an artifact you can read, not a rebuild you can run.
Data other than PostgreSQL
PostgreSQL is the only data source the backup pipeline handles. Storage accounts, VM disks and other database engines are not backed up. The pipeline was deliberately built so that adding a source does not change it - but they have not been added.
Moving secret values
Cloud Parity reads Key Vault structure and never reads a secret value - that is a deliberate constraint, not an oversight. It also means we do not yet replicate secrets into a recovery vault. What you get today is the vault, its access model and the list of what should be in it.
Scheduled restore testing
A scheduler exists and it drives backup cycles on an interval. It does not yet run restores on a schedule or hand you a report from one. Restores and verification run today because someone runs them.
Anything outside Azure
AWS and GCP are in the architecture and not in the code. The collector interface is written to take them; neither is built.
So what is worth your time today?
Two things, and both are real. We can scan one Azure subscription, read-only, and show you what is actually deployed and what depends on what - which is usually not what the architecture diagram says. And we can show you a database backed up, restored and verified by content, start to finish, while you watch.
If what you need is the whole environment rebuilding itself in another region tonight, that is not ready, and we would rather say so on a public page than in month three.
This page is maintained against the code. If you find something onthe product pagethat this one contradicts, the product page is the one that is wrong - tell us and we will fix it.