Pređi na sadržaj
FFormhook
Nazad na blog

Blog

Serverless kontakt forme: šta "serverless" ovde zapravo znači

· 4 min čitanja

"Serverless" je nastao kao precizan termin: vaš kod se izvršava kao funkcija, na tuđoj infrastrukturi, i vi sami nikada ne provizionirate, ne krpite niti skalirate server. Primenjen na kontakt forme, termin je odlutao — sada se koristi za dva zaista različita podešavanja, i koje od njih izaberete menja koliko posla sebi natovarite.

Evo te razlike, i gde u tome staje hostovani form backend.

Dve stvari koje "serverless kontakt forma" može da znači

Pretražite tu frazu i naći ćete dva različita odgovora pomešana zajedno:

  • Sami pišete funkciju. AWS Lambda, Cloudflare Worker, Vercel ili Netlify funkcija — mali handler koji deploy-ujete, koji prima POST, šalje imejl preko provajdera poput SES-a ili Resend-a, i vraća odgovor.
  • Ne pišete nikakav backend kod. Vaša forma šalje POST direktno na hostovanu uslugu koja već postoji — nema funkcije za pisanje, deploy ili verzionisanje.

Oboje jeste "serverless" u užem smislu: ni jedno ni drugo ne uključuje mašinu na koju se prijavljujete preko SSH-a i krpite je. Ali se nalaze na veoma različitim mestima na skali truda.

Opcija A: sopstvena funkcija

Pisanje sopstvenog handlera daje vam potpunu kontrolu nad payload-om, šablonom imejla i odredištem čuvanja podataka. Ta kontrola dolazi sa pravom odgovornošću:

  • Cold starts. Funkciji koja se skoro nije izvršavala treba trenutak da se pokrene, što se na sajtovima sa malim saobraćajem vidi kao spor prvi unos.
  • Isporučivost imejlova je vaša odgovornost. SPF, DKIM i DMARC zapisi, reputacija slanja koju treba čuvati, i nalog kod provajdera koji treba podesiti i nadgledati.
  • Filtriranje spama je vaša odgovornost. Ništa ne sprečava bota da pošalje POST direktno na URL vaše funkcije, osim ako sami ne izgradite ograničavanje broja zahteva, honeypot ili CAPTCHA izazov.
  • Čuvanje podataka je vaše, ako uopšte želite istoriju. Bez poziva baze podataka unutar funkcije, unos čiji imejl ne uspe da se pošalje jednostavno nestaje.

Ovo je pravi kompromis kada forma pokreće pravu poslovnu logiku — upis u CRM, pokretanje workflow-a, bilo šta izvan "poruka stigne do čoveka". Za običnu kontakt formu, to je mnogo nediferencirane infrastrukture koju morate sami da održavate.

Opcija B: uopšte bez backend koda

Drugo tumačenje "serverless" u potpunosti izbacuje funkciju. Vaš <form> šalje POST na endpoint koji već postoji, koji vodi neko drugi, i gde su prijem, filtriranje spama, obaveštavanje i čuvanje podataka već izgrađeni i već rade. Ne pišete nijednu liniju backend koda i ništa ne deploy-ujete — nema vaše funkcije koju treba cold-start-ovati, krpiti ili nadgledati, jer u priči nema nijedne vaše funkcije.

Kompromis je kontrola: dobijate provajderov spam filter, njegovu politiku čuvanja podataka, njegove kanale obaveštavanja — a ne sopstvenu, prilagođenu logiku. Za formu čiji je ceo posao "pouzdano mi dostaviti unos", to gotovo nikada nije stvarna cena.

Šta zapravo odgovara kontakt formi

Većini kontakt formi nije potrebna prilagođena workflow logika — treba im samo da stignu do čoveka bez gubljenja ili filtriranja kao spam. Ako je to ceo posao, pisanje i održavanje sopstvene funkcije znači rešavanje problema koji nemate: potrošićete prava sate na SPF zapise i logiku ograničavanja broja zahteva da biste iznova izmislili ono što hostovani backend već radi. Posegnite za sopstvenom funkcijom kada forma napaja nešto više od inbox-a — upis u bazu podataka, plaćeni workflow, višekoračni proces koji generička usluga ne može da izrazi. (Za širu sliku onoga što form backend radi iz dana u dan, pogledajte šta je form backend.)

Formhook: endpoint koji već postoji

Formhook je druga vrsta serverless-a. Usmerite formu na https://formhook.app/f/{apiKey} i nema ničega za deploy, cold-start ili krpljenje — čak ni funkcije. Filtriranje spama (honeypot polje, ograničavanje broja zahteva i podrazumevano uključen Cloudflare Turnstile), čuvanje podataka, kontrolna tabla sa pretragom, i obaveštenja — imejl plus web push na svakom paketu, uključujući Free — već rade pre nego što napišete i jednu liniju koda. Odlazni webhook-ovi, sa automatskom detekcijom Discord-a, Slack-a i Teams-a, pokrivaju slučajeve kada zaista želite da predate unos drugom sistemu, opet bez pisanja te prijemne funkcije.

Free paket obrađuje 250 unosa mesečno bez potrebe za karticom. Pro dodaje otpremanje fajlova do 10MB i verifikovan domen za slanje sa reply-to; Studio podiže granicu na 25.000 unosa mesečno za timove. Pogledajte dokumentaciju za samu integraciju, ili cene za potpun pregled.

Funkcionalna forma u jednoj liniji

Hostovano u EU, unosi se čuvaju zauvek, push obaveštenja na svakom paketu.

Počnite besplatno

Bez kreditne kartice · pročitajte dokumentaciju

Nastavite čitanje