Každý web rieši dve praktické otázky: kam s dátami (články, produkty, rezervácie) a kam s fotkami. Poradíme, prečo je dvojica Cloudflare D1 + R2 momentálne najlepší pomer výkon/cena — a čo si ustrážiť, ak si to staviate sami.

D1: SQL databáza bez servera

D1 je SQL databáza žijúca priamo v Cloudflare sieti, pri kóde ktorý ju číta. Žiadne pripájanie na vzdialený MySQL cez pol Európy. Bezplatný limit je 5 miliónov čítaní denne — bežný firemný web nevyčerpá ani percento.

Na čo si dať pozor pri DIY: D1 je SQLite — niektoré MySQL návyky nefungujú, migrácie treba robiť disciplinovane a zálohovanie si musíte nastaviť (D1 má Time Travel 30 dní, ale treba o ňom vedieť). A lokálny vývoj cez wrangler má svoje quirky, ktoré stoja pár večerov.

R2: úložisko, kde sa neplatí za sťahovanie

R2 funguje ako Amazon S3, ale bez poplatkov za odchádzajúce dáta. Každé zobrazenie fotky návštevníkom je zadarmo — pri galériách, realitných ponukách či jedálnych lístkoch je to oproti S3 rozdiel v desiatkach eur mesačne.

DIY poznámka: treba si doriešiť upload (presigned URL alebo Worker binding), limity veľkostí, formáty a mazanie sirôt — súborov, na ktoré už nič neodkazuje.

Ako to beží v Modulo CMS

U nás je toto všetko hotové a odladené:

  • každý modul (blog, reality, galéria, e-shop…) má schému, migrácie aj zálohy vyriešené,
  • fotky idú do R2 cez admin — s náhľadmi a kontrolou použitia pred zmazaním,
  • databázu vieme vrátiť v čase, keby sa čokoľvek pokazilo,
  • a celé to beží na vašom účte — dáta sú vaše, faktúra za infraštruktúru prakticky nulová.

Práve vďaka tomu vieme držať ceny licencií tam, kde sú. Neplatíte za servery — platíte za to, že sa o ne nemusíte starať.

Technický kontext: Nuxt 4 a Cloudflare edge.