Cloudflare is becoming more viable as a development platform

published on 2022/05/15

They recently introduce their first SQL database in their offering based on SQLite

Read replication With D1, we want to take configuration off your hands, and take advantage of Cloudflare's global network. D1 will create read-only clones of your data, close to where your users are, and constantly keep them up-to-date with changes.

Batching D1’s API includes batching: anywhere you can send a single SQL statement you can also provide an array of them, meaning you only need a single HTTP round-trip to perform multiple operations. This is perfect for transactions that need to execute and commit atomically:

Embedded compute With D1, it will be possible to define a chunk of your Worker code that runs directly next to the database, giving you total control and maximum performance—each request first hits your Worker near your users, but depending on the operation, can hand off to another Worker deployed alongside a replica or your primary D1 instance to complete its work.

Backups and redundancy D1 will automatically save snapshots of your database to Cloudflare's cloud storage service, R2, at regular intervals, with a one-click restoration process.

Importing and exporting data If you’re not creating a brand-new application, you may want to import an existing dataset from another source or database, which is why we’ll be working on allowing you to bring your own data to D1.


then they introduced Pub/Sub based on MQTT-based Messaging

Critically, one of our priorities is to cover as much of the MQTT v5.0 specification as we can, so that customers can migrate existing deployments and have it “just work”. Useful capabilities like shared subscriptions that allow you to load-balance messages across many subscribers; wildcard subscriptions (both single- and multi-tier) for aggregation use cases, stronger delivery guarantees (QoS), and support for additional authentication modes (specifically, Mutual TLS) are just a few of the things we’re working on.

All these are integrated with Workers, their serverless code platform that support JS and WASM. They also provide hosting solution for JAMstack frontend application via Pages.

In summary, now you can run a full fledged web system on cloudflare using a RDBMS (D1), store large files on R2, implement the backend using Workers, handle eventing using Pub/Sub and host the system frontend using Pages - all at the cost of almost nothing on tops of cloudflare massive infrastructure.

For .NET stack, you can deploy a Blazor Web Assembly project on Pages.