Skip to content

Edge Computing

Authrim uses Workers for request processing and Cloudflare’s stateful services for identity data and protocol state. Running a Worker near a user can reduce part of a request’s journey, but it does not move every database or session to that location.

Compute and state have different locations

Section titled “Compute and state have different locations”
ComponentWhat to consider
WorkersPublic routing, protocol processing, and placement of services that call storage
Service BindingsCalls between Workers without exposing each component as a public HTTP service
Durable ObjectsCoordination and strongly consistent state for a particular object; object placement is distinct from request entry
D1Core, PII, Lookup, and administrative/control stores with explicit routing and placement
KVConfiguration, caches, and signed registry documents; propagation and cache behavior matter
R2 / QueuesObject storage and asynchronous processing where enabled

Service Bindings support Worker-to-Worker calls. This does not remove storage latency or make an entire multi-service request instantaneous.

Workers handle the request-processing layer. Stateful capacity is managed separately: protocol services use their own Durable Object shard settings, while Control manages D1 capacity and placement. Adding capacity does not mean every existing account is automatically relocated or every hot database becomes faster.

Monitor registration, query patterns, per-shard load, retries, and downstream email/identity providers. A global entry point does not remove service limits or the need for capacity planning.

Control Plane routes distinguish data roles and residency partitions. Runtime residency profiles are policies; Worker placement and Durable Object location hints are separate mechanisms. Cloudflare documents location hints and jurisdiction restrictions separately. Do not use a hint as proof of a guaranteed data boundary.

Measure complete workloads: login, code exchange, token refresh, UserInfo, and administrative operations have different storage and network requirements. Report latency percentiles, error rate, concurrency, data volume, and the release/configuration used. Worker CPU time is not end-to-end response time.

Published Authrim load-test figures describe specific runs. They are not an automatic capacity guarantee for a new version, plugin, region, or storage arrangement. See the load-testing reports.

Authrim has no per-user license fee. Costs still depend on Worker requests and CPU, D1 reads/writes and storage, Durable Object activity, KV, R2, Queues, and external providers. Monitoring, backups, maintenance, and incident response are separate operational costs.

The homepage calculator is an estimate for its stated assumptions. Use your own workload measurements and current Cloudflare pricing when planning a deployment.

Continue with Architecture for routing and state ownership.