Cloudflare Performance Final Review 2026 06 16
Cloudflare performance final review — 2026-06-16
Scope: final decision-ready review after the evidence refresh, hosting-options validation, and performance audit. Documentation-only; no product code changes are recommended.
Decision#
The current recommendation still stands: keep the existing split architecture.
- Keep
apps/wwwandapps/manageron Cloudflare Pages. - Keep
apps/blog,apps/docs,apps/academy,apps/design-system, andapps/ui-libraryon Cloudflare Workers with OpenNext and Workers Assets. - Keep Go APIs, Postgres, and Meilisearch on the existing self-hosted/backend infrastructure.
- Do not migrate production Go services, auth/billing state, or transactional data to Cloudflare edge primitives now.
Changes from the earlier synthesis#
- Treat the Turbo dry-run crash in
docs/performance-audit-2026-06-16.mdas historical. The evidence refresh reports currentwwwbuild/test Turbo dry-runs completed successfully. - Keep the missing
docs/runtime/S02-RUNTIME-PROOF.mdas an active documentation/evidence gap. - Do not include
apps/adminorapps/studioin the Cloudflare-hosted surface without new Wrangler/OpenNext/release-task evidence. - Correct task references should use the current academy naming (
cf:build:academy); stalecf:build:learnreferences should not be used.
Priority next steps#
- Restore, relocate, or update the missing runtime-proof evidence referenced by root documentation.
- Run and record per-app Cloudflare build evidence, including Worker script size and asset size for Worker/OpenNext apps.
- Add enforceable bundle/Worker-size budgets for Cloudflare apps, especially
blog,docs,design-system, andui-library. - Add lightweight Lighthouse or Web Vitals checks for representative deployed routes.
- Validate route and cache correctness after deploy, especially
www.assistance.bg/docs*,/_next/static/*, image assets,/api/*, and personalized paths. - Add Cloudflare services only where product fit is clear: Turnstile for public forms/auth-adjacent flows, Queues for async jobs, and R2/Images/Containers only through scoped pilots.
Validation commands#
bash
1# Current architecture builds2mise run cf:build:www3mise run cf:build:manager4mise run cf:build:blog5mise run cf:build:docs6mise run cf:build:academy7mise run cf:build:ds8mise run cf:build:ui910# Credential and deployed-health checks11mise run cf:deploy:preflight12mise run cf:health1314# Docs search validation15mise run cf:index:search1617# Optional aggregate build, when host capacity is sufficient18mise run cf:buildAdditional manual validation:
- Use preview deploys or
wrangler deploy --dry-runwhere supported for Worker apps. - Inspect deployed response headers for static assets, images, SSR pages, API routes, and personalized paths.
- Confirm
apps/wwwservice bindings still resolve toassistance-blogandassistance-docs. - Smoke
www.assistance.bg/docs*after any Pages or Worker route change.
Unresolved risks#
- OpenNext Workers can still fail at runtime on unsupported Node APIs, native dependencies, large bundles, or long-running work.
- Build-time TypeScript errors are ignored in some production builds, so separate typecheck/test gates remain important.
- Broad Next build concurrency can still stress CI/build hosts even though current dry-run evidence improved.
- Cache rules can leak or stale personalized/API data if broadened without deployed-header validation.
- D1 and KV remain appropriate for docs search and OpenNext cache, not for Postgres-backed auth, billing, or transactional state.
- Cloudflare Containers remain a pilot-only option until latency, error rate, secrets, logs/metrics, DB connectivity, and rollback are proven.
Final recommendation#
Proceed with validation, not migration. The existing Pages plus Workers/OpenNext frontend topology and self-hosted Go backend stack is the lowest-risk production architecture supported by current repo evidence.