A verification that returns in four seconds during a quiet Tuesday afternoon and ninety seconds during a campaign launch is not a four-second product. Buyers evaluate identity verification on quoted average latency, which is the least useful number available: it hides the peak, and the peak is when your onboarding funnel is worth the most. What determines behaviour under load is architecture — caching, connection pooling, autoscaling, alert thresholds and storage tiering — not the speed of the underlying model.

This is a breakdown of which architectural decisions govern verification latency at volume, using a scalable Azure platform DSS — the engineering team behind aIDentix — designed for a client whose user base had outgrown its infrastructure.

Why does verification slow down under load?

Rarely because the recognition or extraction step got slower. That step is usually bounded and predictable.

The delay accumulates around it. Requests queue at the gateway. Database connections saturate while every verification writes its audit record. Repeated lookups — the same watchlist, the same document template, the same configuration — hit the primary database instead of a cache. Storage writes for document images contend with everything else on the same disk tier. Each is individually small. Under concurrency they compound, and the compounding is non-linear.

The practical consequence: a platform tested at 100 concurrent verifications tells you very little about its behaviour at 10,000. The failure is not gradual.

What actually holds up at volume

The Azure architecture DSS built addressed each contention point separately. The components map onto a verification workload closely.

A managed gateway in front of everything

Azure API Management was implemented as the central gateway, providing routing, caching and security in one layer. For a verification API this matters because the gateway is where you enforce per-client rate limits and absorb bursts before they reach application servers. Without it, a single customer’s traffic spike degrades every other customer’s latency — the noisy neighbour problem, and the reason multi-tenant verification platforms fail in ways single-tenant tests never reveal.

An in-memory cache carrying the repeated reads

Azure Redis Cache was deployed as an in-memory store to relieve the primary database of frequently accessed data, reducing query times.

In a verification pipeline the repeatedly-read data is substantial and highly cacheable: document template definitions per issuing country, per-tenant configuration and thresholds, sanctions and watchlist reference data, session state during a multi-step check. None of it changes per request. All of it will be read on every request if you let it.

Deliberate storage tiering

Disk types were selected specifically per workload across Standard HDD, Standard SSD, Premium SSD and Ultra Disk, with the choice weighed against performance, cost-efficiency and durability.

This is unglamorous and it is where a lot of latency hides. Verification workloads have genuinely different storage profiles: transaction records need low-latency writes, document images need throughput, retained audit archives need durability and cost-efficiency but not speed. Putting all three on one tier means either paying premium rates for archive storage or accepting premium-tier latency on the write path that users are waiting on.

Storage with geo-replication

Azure Storage Accounts held application data, files and backups, with geo-replication for redundancy and disaster recovery. For identity documents this carries a second consideration beyond availability: replication region determines data residency, which is a regulatory constraint before it is an engineering one.

Alerting on the metrics that predict failure

Metric alert rules were configured to fire when critical measures — CPU utilisation, response time — crossed defined thresholds, allowing response before users were affected.

The threshold selection is the whole exercise. Alerting on error rate tells you the incident has started. Alerting on response-time drift and queue depth tells you it is about to. For verification, the leading indicator worth watching is p95 latency rather than average — the average stays flat long after the tail has gone bad, which is precisely why average latency is a poor procurement metric.

Application-level observability

Azure Application Insights monitored user behaviour, application performance and errors, making it possible to identify issues quickly and improve on evidence rather than assumption.

For verification specifically, the instrumentation worth having is per-stage: capture, upload, extraction, face match, liveness, screening. Aggregate latency tells you something is slow. Per-stage latency tells you which stage, and those stages have entirely different remedies.

Elastic compute

Application components ran on Azure Virtual Machines that could scale up or down with demand, alongside Azure DevOps for automated deployment and a CDN to cut latency for geographically distributed users.

The CDN point is worth isolating. Verification involves uploading large files — document images and liveness video — from consumer devices on consumer connections. For a user two continents away from your region, transfer time can exceed processing time. Edge ingestion moves a fixed cost out of the user’s wait.

Questions that reveal how a platform behaves at peak

Instead of asking for average verification time:

  • What is p95 and p99 latency, not average? The tail is what your users experience during your busiest hour.
  • What happens at ten times normal volume — queue, degrade or reject? All three are defensible. Not knowing is not.
  • Is rate limiting per tenant? Determines whether another customer’s spike becomes your incident.
  • Which stage dominates the latency budget? A vendor who cannot break it down is not instrumented per stage, which means they cannot diagnose a slowdown either.
  • Where is ingestion terminated relative to my users? Upload distance is often the largest single component for international traffic.
  • What alerts fire before users notice, and at what thresholds? Error-rate alerting alone means the first report comes from your support queue.

Why peak behaviour is a business number, not an engineering one

Onboarding volume is not uniformly distributed. It arrives in campaign launches, product releases, regulatory deadlines and market events — the moments when acquisition cost has already been paid and conversion is worth the most. Verification latency at those moments is the point where paid traffic either becomes customers or abandons.

Which reframes the architecture question. Caching layers, tiered storage and per-tenant rate limits are not infrastructure hygiene. They are the difference between a spike you monetise and a spike you apologise for.

aIDentix is built by DSS, whose cloud engineering teams designed the scalable Azure architecture described here. The platform has processed over 500,000 verified identities.

Talk to our team →

Frequently asked questions

Why does identity verification slow down under high load?

Rarely because recognition or extraction got slower. Delay accumulates around it: requests queue at the gateway, database connections saturate as every verification writes an audit record, repeated reference lookups hit the primary database instead of a cache, and storage writes contend on a shared tier. Individually small, these compound non-linearly under concurrency.

What should I ask about verification speed instead of average latency?

Ask for p95 and p99 rather than average — the tail is what users experience during your busiest hour. Also ask what happens at ten times normal volume, whether rate limiting is per tenant, and which pipeline stage dominates the latency budget. A vendor who cannot break it down is not instrumented per stage.

How long does automated identity verification take?

The automated portion typically completes in seconds, since document authenticity, extraction, face matching and liveness are bounded operations. What extends the total is queuing under load and any manual review step, which adds hours to days. Quoted product timings usually describe the automated portion only.

Does geography affect verification speed?

Significantly. Verification uploads large files — document images and liveness video — from consumer devices on consumer connections. For a user on another continent, transfer time can exceed processing time, which is why edge ingestion through a CDN moves a fixed cost out of the user’s wait.

Why is per-tenant rate limiting important?

Without it, one customer’s traffic spike degrades latency for every other customer on the platform. This is the noisy-neighbour problem, and it is invisible in single-tenant testing, which is why a platform tested at 100 concurrent verifications tells you little about its behaviour at 10,000.