Preskočiť na obsah

Alternatívy k Vercelu: prečo máme Vercel aj Cloudflare

Pre CTO a vývojárovRozhodnutia CTO · Aktualizované

Filip Papraneczakladateľ Digitaliko

Alternatívy k Vercelu: používame oba. Ilustrácia: okno s náhľadovými deploymentmi Next.js webu vedľa okna alchemy.run.ts, ktoré deklaruje Worker, databázu D1 a KV namespace.Alternatívy k Vercelu: používame oba. Ilustrácia: okno s náhľadovými deploymentmi Next.js webu vedľa okna alchemy.run.ts, ktoré deklaruje Worker, databázu D1 a KV namespace.

Najlepšia alternatíva k Vercelu závisí od aplikácie, preto používame oba. Next.js weby, aj tento, ostávajú na Verceli. Nové aplikácie bežia na Cloudflare Workers s databázou D1 a celé ich opisuje jeden TypeScript súbor v nástroji Alchemy.

Krátka odpoveď: Vercel vyhráva pri Next.js a náhľadových deploymentoch bez konfigurácie. Cloudflare vyhráva, keď má aplikácia, jej databáza, cache aj úložisko žiť v jednom účte, opísané v kóde a platené za požiadavky. Nižšie ukazujeme, ako sa rozhodujeme, čo hovoria cenníky, našu skutočnú konfiguráciu a jeden problém, o ktorom porovnávacie zoznamy mlčia: Vercel nám blokoval deploye z commitov, ktoré napísal náš AI agent.

Vercel alebo Cloudflare: ktorá aplikácia kam?

Hosting nevyberáme za celú firmu. Vyberáme ho pre každú aplikáciu zvlášť, podľa toho, čo potrebuje:

Aplikácia potrebujeKde u nás bežíPrečo
Next.js web s náhľadmiVercelNext.js tam funguje bez konfigurácie, každá vetva má náhľadovú URL
Staršia Next.js aplikácia s Postgresom a PrismouVercelBeží a nikto neplatí za presun, ktorý používateľom nič nezmení
Nová aplikácia s databázou, cache a súbormiCloudflare Workers, D1, KV, R2Jeden účet, jeden TypeScript súbor to celé deklaruje
Celá aplikácia na jednom serveri pod vašou kontrolouObyčajný VPSPlná kontrola a účet nerastie s každou požiadavkou

Posledný riadok nie je teória. Online marketplace jedného klienta sme presunuli zo spravovaného cloudu na obyčajný VPS. Správny hosting je ten, ktorý sedí aplikácii dnes, nie ten, ktorý použil posledný projekt.

Koľko stojí Vercel a Cloudflare podľa cenníka?

Ceny z cenníkov k 24. 10. 2026. Menia sa, pred rozhodnutím si ich overte:

  • Vercel (cenník): Hobby za 0 $, Pro za 20 $ mesačne s kreditom 20 $ na využitie, potom podľa spotreby. Stránka uvádza na Pro 20 $ mesačne za miesto vývojára.
  • Cloudflare Workers (cenník): Free plán má 100 000 požiadaviek denne. Workers Paid stojí minimálne 5 $ mesačne za účet a v cene je 10 miliónov požiadaviek a 30 miliónov milisekúnd CPU.
  • Cloudflare D1 (limity): 500 MB na databázu vo Free, 10 GB vo Workers Paid. Free účet má spolu 5 GB úložiska.

Pasca nie je cena Pro. Je ňou Hobby plán na klientskom projekte:

Hobby teams are restricted to non-commercial personal use only. All commercial usage of the platform requires either a Pro or Enterprise plan.

Vercel
Fair Use Guidelines (k 24. 10. 2026)

Po slovensky: Hobby je len na osobné, nekomerčné použitie. Vercel za komerčné považuje aj to, keď kód píše platený konzultant. Bezplatný účet freelancera s klientskou aplikáciou teda nie je úspora, ale porušenie podmienok.

Koľko platíme my, nezverejňujeme. Naše faktúry o tých vašich nič nepovedia: návštevnosť, ľudia aj služby sú pri každej aplikácii iné.

Ako nasadzujeme na Cloudflare cez Alchemy?

Alchemy sa opisuje ako „a single, type-safe TypeScript program for your cloud“, teda jeden typovo bezpečný TypeScript program pre celý cloud. V praxi je to jeden súbor vedľa aplikácie. Takto vyzerá náš alchemy.run.ts, skrátený a so všeobecnými názvami:

import alchemy from "alchemy";
import { D1Database, KVNamespace, TanStackStart } from "alchemy/cloudflare";

const app = await alchemy("my-app", {
  stage: process.env.ALCHEMY_STAGE || "production",
});

const db = await D1Database("database", {
  migrationsDir: "../../packages/db/src/migrations",
});

const cache = await KVNamespace("cache", { title: "my-app-cache" });

const web = await TanStackStart("web", {
  cwd: "../../apps/web",
  bindings: {
    DB: db,
    CACHE: cache,
    BETTER_AUTH_SECRET: process.env.BETTER_AUTH_SECRET ?? "",
    BETTER_AUTH_URL: process.env.BETTER_AUTH_URL ?? "",
  },
});

await app.finalize();

Databáza, cache aj aplikácia sú opísané v tom istom jazyku ako aplikácia. Žiadny YAML, žiadne klikanie v administrácii. Deploy prebieha takto:

  1. Zmeníte schému

    Schéma v Drizzle je TypeScript. drizzle-kit generate zapíše SQL migráciu.

  2. Spustíte deploy

    Alchemy vytvorí alebo upraví databázu D1 a KV namespace a aplikuje migrácie z migrationsDir.

  3. Prepojí zdroje

    Aplikácia dostane DB a CACHE ako typované bindingy, bez connection stringov.

  4. Publikuje Worker

    Build z TanStack Start ide na Cloudflare Workers pod rovnakým stage.

Jeden úprimný kompromis. Alchemy si štandardne drží stav v lokálnom priečinku .alchemy a ten náš je v gitignore. Naša interná aplikácia sa preto nasadzuje z počítača vývojára, nie z CI. Alchemy ponúka CloudflareStateStore na vzdialený stav (dokumentácia), zatiaľ sme ho nenastavili. Pri klientskej aplikácii, ktorú nasadzuje viac ľudí, by to bol prvý krok.

Prečo tento web ostáva na Verceli?

Tento web je Next.js 16 so statickými stránkami článkov a next/image. Jeho vercel.json na Verceli je doslova {}. Každá vetva dostane vlastnú náhľadovú URL a presne tak kontrolujeme nový článok, skôr než ide von.

Vercel alebo Cloudflare: ktorá aplikácia kam patrí. Vľavo Vercel: Next.js weby a staršie Next.js aplikácie s Postgresom, bez konfigurácie, náhľadová URL pre každú vetvu, ale deploy sa zablokuje, keď autor commitu nie je v tíme. Vpravo Cloudflare Workers: nové TanStack Start aplikácie s D1, KV a R2, deklarované v jednom súbore alchemy.run.ts a účtované za požiadavky.Vercel alebo Cloudflare: ktorá aplikácia kam patrí. Vľavo Vercel: Next.js weby a staršie Next.js aplikácie s Postgresom, bez konfigurácie, náhľadová URL pre každú vetvu, ale deploy sa zablokuje, keď autor commitu nie je v tíme. Vpravo Cloudflare Workers: nové TanStack Start aplikácie s D1, KV a R2, deklarované v jednom súbore alchemy.run.ts a účtované za požiadavky.

Next.js vie bežať aj na Cloudflare. Adaptér OpenNext nasadzuje Next.js na Workers a podporuje Next.js 16. Tento web sme tam nepresunuli, takže porovnanie vám nedáme. Presúvať fungujúci web len kvôli zmene hostingu je práca bez výsledku pre kohokoľvek, kto ho číta.

Rovnako je to so staršími klientskymi aplikáciami. Systém, ktorý sme postavili pre špedičnú firmu, beží na Verceli ako Next.js s Postgresom a Prismou. Ostáva tam. Nové aplikácie začínajú na Cloudflare, lebo tam žije naša šablóna, nie preto, že by staré zlyhali.

Prečo Vercel blokoval deploye od nášho AI agenta?

Náš AI kolega pracuje na úlohách vo vlastnom účte a otvára pull requesty. Keď sme jeden z jeho PR zlúčili, produkčný deploy na Verceli sa nespustil. Stav deploymentu bol BLOCKED s kódom TEAM_ACCESS_REQUIRED.

Dôvod: Vercel blokuje deploymenty, ktorých autor commitu nie je členom tímu na Verceli. Squash merge ponechá agenta ako autora. Skúsili sme zlúčiť s iným e-mailom autora. Nepomohlo to, lebo GitHub pridá riadok Co-authored-by s agentom a Vercel blokuje aj spoluautorov. Iné tímy narazili na to isté s agentmi ako spoluautormi (vlákno v komunite Vercelu).

Funguje deploy bez git metadát:

git archive origin/main | tar -x -C /tmp/site-export
cp -r .vercel /tmp/site-export/
cd /tmp/site-export && vercel deploy --prod

Druhá cesta je miesto pre agenta v tíme na Verceli. Na Cloudflare táto otázka nevznikla, lebo Alchemy nasadzuje z kódu, nie podľa autora commitu.

Aké ďalšie alternatívy k Vercelu existujú?

Bežné zoznamy uvádzajú stále tie isté hostingy. Ku každému jeden riadok a úprimne, čo o ňom vieme:

  • Netlify: podobný model ako Vercel, deploy z gitu a náhľady. V produkcii sme ho neskúšali.
  • Render: dlho bežiace služby a spravovaný Postgres. Neskúšali sme.
  • VPS s Coolify: vlastný server s rozhraním na deploy. Obyčajné VPS prevádzkujeme, Coolify v produkcii nie.

Keď vám niekto predáva zoznam desiatich hostingov, opýtajte sa, ktoré z nich dnes sám prevádzkuje.

Je vaša aplikácia pripravená odísť z Vercelu?

Prejdite si to, skôr než začnete s presunom. Na každý bod vám odpovie váš repozitár:

Prvý bod prekvapí väčšinu tímov. Next.js aplikácia na Verceli často používa funkcie platformy, ktoré nikto nezapísal. Nájdite ich pred presunom, nie po ňom.

Ako rozhodujeme, čo smie agent zmeniť a čo kontroluje kód pred zlúčením, je v článku Harness engineering v praxi.

Chcete aplikáciu, ktorá beží tam, kde dáva zmysel?

Webové aplikácie staviame a prevádzkujeme na Verceli, Cloudflare alebo na vašom serveri, s infraštruktúrou vo vašom účte a v kóde. Pozrite si vývoj webových aplikácií na mieru. AI dnes píše všetok náš kód a za výsledok ručí senior. Od roku 2023 sme dodali 15+ produkčných projektov.

Ozveme sa do dvoch pracovných dní a spolu vyberieme, čo vyriešime ako prvé.

Ak sa chcete najprv porozprávať, dohodnite si meeting na 15 minút s Filipom.

Ktorá vaša aplikácia je na svojom hostingu len preto, že ju nikto nepresunul?

V skratke

  • Hosting vyberajte pre aplikáciu, nie pre firmu: Next.js weby na Verceli, nové aplikácie s databázou na Cloudflare Workers a D1.
  • Vercel Hobby je len na nekomerčné použitie. Klientsky projekt potrebuje Pro.
  • Alchemy deklaruje Worker, D1 aj KV v jednom TypeScript súbore. Stav je štandardne lokálny.
  • Vercel blokuje deploye od autorov commitov mimo tímu, aj od AI agentov. Pomôže deploy exportu bez gitu alebo miesto v tíme.

Časté otázky

Aká je najlepšia alternatíva k Vercelu?

Závisí od aplikácie. Pre Next.js web je ťažké Vercel prekonať. Pre aplikáciu, ktorá potrebuje databázu, cache a úložisko v jednom účte a platí sa za požiadavky, používame Cloudflare Workers s D1. Netlify, Render alebo VPS s Coolify sú ďalšie možnosti, v produkcii sme ich však neprevádzkovali.

Je Cloudflare Workers lacnejší ako Vercel?

Podľa cenníkov je vstup nižší: Workers Paid začína na 5 $ mesačne za účet s 10 miliónmi požiadaviek v cene, Vercel Pro stojí 20 $ mesačne s kreditom 20 $ na využitie (oboje k 24. 10. 2026). Koľko zaplatíte vy, závisí od návštevnosti, počtu ľudí a služieb, preto porovnávajte s vlastnými číslami.

Dá sa Next.js spustiť na Cloudflare?

Áno, cez adaptér OpenNext, ktorý nasadzuje Next.js na Cloudflare Workers a podporuje Next.js 16. Tento web sme tam nepresunuli, takže nevieme povedať, ako sa správa v porovnaní s Vercelom.

Môžem pre klientsky projekt použiť Vercel Hobby?

Nie. Vercel píše, že Hobby je na osobné, nekomerčné použitie, a za komerčné považuje aj platený kód od konzultanta. Klientsky projekt potrebuje Pro alebo Enterprise.

Prečo Vercel blokuje môj deploy?

Častá príčina: autor commitu alebo riadok Co-authored-by nie je členom tímu na Verceli. Stáva sa to pri commitoch od AI agentov. Nasaďte export kódu bez gitu alebo dajte agentovi miesto v tíme.

Opýtajte sa AI na tento článok

AI pri odpovedi využije aj naše ďalšie články a skúsenosti z reálnych projektov.

ChatGPTClaudePerplexity
Engineering

Ostatné články

Rozhodnutia CTO

Claude Code pricing: cena pre tím, API a agentov

Claude Code pricing podľa verejného cenníka Anthropicu (október 2026): Pro, Max, miesta v Team pláne, Enterprise a API tokeny. Čo sedí vývojárom, na čom beží AI agent a reviewer v CI a aké poistky zastavia agenta na pozadí, aby neminul rozpočet.

Rozhodnutia CTO

Better Auth vs Clerk: prečo sme si vybrali Better Auth

Better Auth vs Clerk sa rozhoduje podľa toho, kde žijú vaši používatelia a session. Z NextAuth sme v nových aplikáciách prešli na Better Auth a Clerk sme si nevybrali. Naša reálna konfigurácia, pluginy v produkcii, cenník Clerku a kedy je Clerk lepšia voľba.

Rozhodnutia CTO

Drizzle vs Prisma: prečo v produkcii používame obe ORM

Drizzle vs Prisma z dvoch ORM, ktoré máme v produkcii: Prisma na Postgres v starších klientskych aplikáciách, Drizzle na Cloudflare D1 vo všetkom novom. Skutočná konfigurácia, cesta migrácie, čo zmenila Prisma 7 a kedy by sme nemenili.

Čas prestať plánovať a začať riešiť.

Kontakt

  • Digitaliko s.r.o.
    Šípková 377/17
    958 03 Malé Uherce, Slovensko
  • Ozvite sa nám
    info@digitaliko.com
    +421 950 595 506
    WhatsApp