Hello Cloudflare Community,
Before I start with my questions, I should perhaps first explain how I ended up here and what problems I am trying to solve:
4-5 months ago I had the idea to build a platform similar to Shopify but for restaurants. Food Order (Pickup/Delivery), Payments, and so on. If you want you can also jump directly to the questions.
Totally motivated I started to build a frontend, at that time I still used Strapi as a backend.
After a while I noticed that I wasn’t getting what I wanted with the free plan. 1 user with configurable rights for the admin panel would cost me 9$ per site.
The aim of my platform was always to get a good product for little money. With my goal to keep prices as low as possible for my platform < $15, with this realization I had to replace Strapi as a backend. So I started to build my own backend with NestJS (Express Framework).
During all the months, I was always looking for a solution to scale my platform while keeping costs as low as possible. I even briefly considered writing the backend in Rust.
But one problem stuck in my mind: How do I properly scale my platform? I am neither a trained software developer nor do I have the knowledge to manage servers and scale them properly. What if one day the root server is no longer sufficient and I need a 2nd one, how do I connect the servers? All these questions I could not find an answer for.
Then I came across serverless technology, EC2 Fargate Lambda, Cloud. I started reading thousands of blogs about this great technology, making my website scalable + global. One thing that totally puts me off AWS is the cost, which I can’t estimate.
After some time I discovered Cloudflare Workers. It looks like Workers is the solution to my problems, but I have a few questions about the options I have with the Cloudflare platform and maybe one or the other can offer some tips regarding my choice of products.
~ Question 1: Data Storage / DB
I readed some Blog posts about FaunaDB and wanted to use it with Cloudflare Workers.
I’m a bit confused about the CPU runtime of Bundled and Unbound.
What if I send a Graphql query that takes longer than the CPU runtime
Should i always stick to Unbound when using something like FaunaDB or is that not necessary at all?
or even would someone say just use KV to store data without DB, I’ve never worked with KV, maybe I don’t need more for POST/GET Products,Orders,…
~ Question 2: Image Storage / Frontend
I think I read that I can host my frontend using Workes / KV?
I also wanted to host my image KV because it seems the cheapest one.
Bunny . net (ONLY EU & USA)
2mb ~ 1 Image
0.02 $ / GB
1 000 000 Request * 2mb = 2 000 GB
2000 GB * 0.02 $ = 40 $
Cloudflare image $1 per 100,000 delivered images 10$ per 1 000 000 Request
$0.5 per million + Cloudflare Workers (unbound/bundled?) 0.5$ per Million
= ~ 1$
How good is the solution KV for images? For example, if I have a page that contains 20 product images.
Is that easy to do? Can I somehow lose the pictures in the KV? And do I need the unbound or bundled version here?
i heard that r2 is coming soon, should i wait for it before converting pics to KV?
~ Question 3: is that even possible?
Is Cloudflare even the right tool for me. If I build a platform like Shopify, where the end user creates their own shop with their own domain. Can I do all of this using Workers and the Cloudflare API? Or am I limited to the number of workers or domains/frontend? The goal is to have an automatic platform where I don’t have to create shops by hand.
Do I also need other services, e.g. for AWS I would need api gateway + loudbalander + cloudfront…?
Thank you for sticking around this far.
I am very grateful for every tip