---
title: "Building on Cloudflare"
description: "Practical guides from running omaralbeik.com and Unblock Syria: choosing services, connecting them, and understanding their limits and costs."
language: en
canonical_url: https://omaralbeik.com/en/blog/series/cloudflare
translation_url: https://omaralbeik.com/ar/blog/series/cloudflare
source_url: https://omaralbeik.com/en/blog/series/cloudflare.md
---

# Building on Cloudflare

Practical guides from running omaralbeik.com and Unblock Syria: choosing services, connecting them, and understanding their limits and costs.

A form needs somewhere to save its data. An upload needs somewhere to live.
Then requests arrive together, or a query takes longer than expected, and the
choice of service starts to matter.

These guides follow decisions I've met while building two sites on
Cloudflare. Each starts with a job the application needs to do, then works
through the setup, the failure cases, and the cost. Start with
[the opening installment](/en/blog/series/cloudflare/introduction-to-cloudflare)
for a tour of Cloudflare's ecosystem, how its services fit together, and
where the five-dollar Workers plan fits.

## Planned guides

The weekly series will cover these questions. Related products belong together
when comparing them helps make the decision.

- How do you connect a domain, configure DNS, and check where requests go?
- What runs inside a Worker, and which limits affect the code you can put there?
- How do you serve a frontend, and when should you use Workers or Pages?
- Which responses should you cache, and when do tiered cache and Cache Reserve help?
- When does D1 fit, and how does Hyperdrive connect an existing Postgres database?
- When is KV enough, and when do updates need a Durable Object?
- Where should uploads live, and when are Images or Stream worth adding to R2?
- How do you send application email and route incoming messages?
- How do you protect an admin dashboard with Access and handle application sign-in?
- Which requests need Turnstile, WAF rules, bot controls, or rate limits?
- How do Workers AI, AI Gateway, Vectorize, and AI Search fit an AI feature?
- How do you build an agent or a remote MCP server with the Agents SDK?
- Which background work belongs in Queues, Workflows, Cron Triggers, or Pipelines?
- When do you need Containers, Sandboxes, or Browser Rendering?
- How does Tunnel connect services hosted elsewhere?
- What should you log and measure with traces, Analytics Engine, and Web Analytics?
- How do you deploy safely, inspect usage, and explain the monthly bill?

## Parts in this series

1. Part 1: [An introduction to Cloudflare's ecosystem](https://omaralbeik.com/en/blog/series/cloudflare/introduction-to-cloudflare) — How Cloudflare's networking, security, compute, and storage services fit together, with Unblock Syria as a working example and a look at the five-dollar Workers plan. [Markdown](https://omaralbeik.com/en/blog/series/cloudflare/introduction-to-cloudflare.md)
2. Part 2: [Cloudflare DNS: from buying a domain to a working website](https://omaralbeik.com/en/blog/series/cloudflare/understanding-cloudflare-dns) — Choose a registrar, connect your domain, and understand the records behind your website and email. A practical Cloudflare DNS guide, with diagrams and troubleshooting commands. [Markdown](https://omaralbeik.com/en/blog/series/cloudflare/understanding-cloudflare-dns.md)
3. Part 3: [Cloudflare Workers: from a request to a running application](https://omaralbeik.com/en/blog/series/cloudflare/understanding-cloudflare-workers) — Understand the Workers runtime, build a bilingual reading-time API with Hono, and follow it through local development, deployment, bindings, costs, and debugging. [Markdown](https://omaralbeik.com/en/blog/series/cloudflare/understanding-cloudflare-workers.md)
