Ano ang Serverless? Serverless Computing, Ipinaliwanag nang Simple
Ang serverless ay paraan ng pagpapatakbo ng code kung saan hindi ka nagse-setup o namamahala ng anumang server. Ibinibigay mo ang code mo sa cloud provider, at tinatakbo lamang nila ito kapag may nag-trigger — isang web request, isang file na in-upload, isang payment notification — at pagkatapos ay humihinto. Karaniwan kang nagbabayad para sa oras na aktuwal tumatakbo ang code mo, hindi para sa makinang nakaupo lamang na idle.
Bakit mahalaga ang serverless kapag gumagawa ka gamit ang AI
Kapag tumitingin ka sa mga opsyon sa hosting o sa code ng app na ginawa ng AI, makakasalubong mo ang "serverless functions," "edge functions," o "cloud functions." Maraming hosting platform ang nag-aalok ng mga ito, at may ilang AI builder na nagde-deploy ng backend sa ganitong paraan. Nakakatulong ang pag-unawa sa modelong ito sa tatlong praktikal na tanong:
- Gastos. Magkakaroon ba ng bayad ang app mo kahit walang gumagamit?
- Bilis. Bakit mas mabagal ang unang request pagkatapos ng tahimik na panahon?
- Limitasyon. Bakit nag-time out ang isang mahabang gawain — ang paggawa ng malaking report, o pagproseso ng video?
Makakatulong ding malaman kung ano ang serverless hindi: hindi ito ang kawalan ng backend. Mayroon ka pa ring server-side code; ibang kumpanya lamang ang nagpapatakbo ng mga makina. Para sa mga pangunahing kaalaman, tingnan ang ano ang server.
Pang-araw-araw na paghahalintulad
Ang tradisyonal na server ay parang pagmamay-ari ng kotse. Laging nandiyan, handang tumakbo agad, pero binabayaran mo ito — insurance, parking, maintenance — kahit gamitin mo o hindi.
Ang serverless ay parang pagtawag ng taxi. Binabayaran mo lamang ang mga biyaheng ginagawa mo, at kung sandaang tao ang nangangailangan ng sakay nang sabay, sandaang taxi ang darating. Pero maaaring may maikling paghihintay para dumating ang sasakyan (cold start), may pinakamahabang haba ang bawat biyahe, at hindi ka naaalala ng drayber mula sa nakaraang sakay (ang mga function ay stateless).
Paano gumagana ang serverless functions
Sa pinakakaraniwang anyo, tinatawag na functions as a service:
- Nagsusulat ka ng function — isang maliit na piraso ng code na humahawak sa isang uri ng event, gaya ng "hawakan ang POST sa
/api/bookings." - Dine-deploy mo ito. Iniimbak ito ng provider at ikinakabit sa isang trigger: isang URL, isang schedule, isang bagong file sa storage, o isang mensahe sa queue.
- May dumating na event. Sinisimulan ng provider ang isang kopya ng function mo (o ginagamit muli ang isang mainit na kopya), pinapatakbo ito, at ibinabalik ang resulta.
- Kusang lumalaki. Kapag sanlibong request ang dumating nang sabay, magpapatakbo ang provider ng maraming kopya nang parallel, hanggang sa mga limitasyon ng account mo.
- Nagiging idle. Kapag huminto ang trapiko, pinapatay ang mga kopya. Kapag walang tumatakbo, wala kang binabayaran para sa compute.
Ang maliit na serverless function sa JavaScript ay maaaring ganito ang itsura:
export default async function handler(request) {
const { name } = await request.json();
return Response.json({ message: `Hello, ${name}` });
}
Walang code para simulan ang server, magbukas ng port, o panatilihing tumatakbo ang proseso. Ang platform na ang humahawak sa lahat ng iyon.
Ginagamit din ang "serverless" nang mas maluwag para sa iba pang managed service na kusang lumalaki at naniningil ayon sa paggamit — halimbawa ang serverless database, na humihinto kapag idle.
Mga pangunahing termino
| Termino | Ibig sabihin |
|---|---|
| Function (FaaS) | Maliit na yunit ng code na pinapatakbo ng provider kapag hinihingi. |
| Trigger / event | Ang nagpapasimula ng function — HTTP request, file upload, timer, mensahe sa queue. |
| Cold start | Pagkaantala habang sinisimulan ang bagong kopya ng function bago nito hawakan ang request. |
| Warm | Kopyang tumatakbo na at kayang sumagot agad. |
| Stateless | Hindi nagtatago ng alaala ang function sa pagitan ng mga takbo. Anumang dapat manatili ay napupunta sa database o storage. |
| Timeout | Pinakamahabang oras na pinapayagan sa isang takbo. Halimbawa, ang pinakamataas sa AWS Lambda ay 15 minuto; maraming platform ang mas maikli pa ang default. |
| Edge function | Function na tumatakbo sa maraming lokasyong malapit sa mga user, kadalasang may mas mahigpit na limitasyon. |
| Scale to zero | Walang tumatakbo at walang binabayaran para sa compute kapag walang trapiko. |
Halimbawang gawa: maliit na booking site
Nakakatanggap ang booking site ng isang yoga studio ng biglaang dagsa ng bisita tuwing Linggo ng gabi kapag inilalabas ang bagong schedule, at napakakaunti sa natitirang araw ng linggo.
- Sa laging nakabukas na server, nagbabayad ang studio para sa makinang tumatakbo 24/7, nakalaan para sa peak ng Linggo ng gabi, at halos idle sa iba pang oras.
- Sa serverless functions, ang
GET /api/classesatPOST /api/bookingsay mga function. Awtomatikong nagpapatakbo ng maraming kopya ang dagsa tuwing Linggo; sa tahimik na umaga ng Martes, halos walang tumatakbo at halos zero ang bayarin.
Lumalabas din ang mga trade-off. Ang unang taong magbubukas ng site tuwing umaga ng Martes ay maaaring maghintay nang kaunti pang dagdag dahil sa cold start. Kailangang hawakan ng database ang maraming maiikling koneksyon mula sa maraming kopya ng function, at maaaring kailanganin ang connection pooler. At kung gusto ng studio sa hinaharap ng gawaing "gawin ang taunang attendance PDF ng lahat", maaaring lumampas ito sa time limit ng function at kailangang tumakbo sa ibang lugar.
Kailan angkop ang serverless — at kailan hindi
| Mabuting angkop | Hindi gaanong angkop |
|---|---|
| Trapikong mababa, biglaan, o hindi mahuhulaan | Tuloy-tuloy at mabigat na trapiko, kung saan maaaring mas mura ang laging nakabukas |
| Maiikling request/response na gawain: API, form handler, webhook | Mahabang gawain: malakihang video processing, malalaking data import |
| Maliliit na team na ayaw mamahala ng server | Mga app na nagpapanatiling bukas ang koneksyon (ilang chat o multiplayer feature), maliban kung sinusuportahan ng platform |
| Pagharap sa event: "kapag may na-upload na file, gumawa ng thumbnail" | Mga app na nangangailangan ng maraming memory na nakahawak sa pagitan ng mga request |
Mga karaniwang maling akala
- "Ibig sabihin ng serverless ay walang backend." Ibig sabihin nito ay walang server na pinamamahalaan mo. Sumusulat ka pa rin at nagseseguro ng backend code.
- "Laging mas mura ang serverless." Mura sa mababang dami, pero maaaring tumaas ang per-request na presyo kapag mataas at tuloy-tuloy ang dami.
- "Walang hanggan ang paglaki ng serverless." May concurrency limit ang mga platform, at maaaring ang database mo ang maging bottleneck nang matagal bago pa ang mga function.
- "Mananatili ang mga file na sinave sa function sa susunod na takbo." Pansamantala ang local storage. Gumamit ng database o file storage.
- "Pareho ang scale-to-zero at serverless." Magkaugnay pero hindi magkapareho. May mga platform na pinapatakbo ang app mo bilang ordinaryong server na natutulog kapag idle at gumigising sa susunod na request — magkatulad na pagtitipid at magkatulad na pagkaantala sa unang request, pero walang time limit kada request na gaya ng function.
Ano ang itatanong sa AI builder mo
- "Tatakbo ba ang backend na ito bilang serverless functions o bilang laging nakabukas o natutulog na server? Ano ang ibig sabihin nito sa gastos?"
- "May mga gawain bang malamang na lumampas sa time limit ng platform? Kung oo, paano natin ito hahawakan?"
- "Itago sa database o file storage ang lahat ng kailangang manatili, hindi sa memory o local files."
- "Paano dapat pamahalaan ang mga koneksyon sa database kung maraming kopya ang tumatakbo nang sabay?"
- "Gaano katagal ang pagkaantala sa unang request pagkatapos ma-idle ang app?"
Paano nagho-host ang Mythex ng mga app
Hindi inilalarawan ng Mythex ang hosting nito bilang serverless functions. Kapag nag-publish ka, tumatakbo ang app mo bilang normal na web app o container na pinamamahalaan ng Mythex para sa iyo — walang hosting na kailangang i-setup. Ito ay scale-to-zero: natutulog ang mga na-publish na app at ang kanilang database kapag idle at gumigising sa susunod na bisita, ang natutulog na app ay walang ginagastos sa compute, at ang mga karagdagang makina ay sinisimulan lamang kapag mabigat ang trapiko (hanggang 3 bawat serbisyo sa Pro). Natutulog din ang nakakabit na Postgres database pagkatapos ng 5 minutong idle at sinisingil ayon sa oras na gising ito. Kaya makukuha mo ang malaking bahagi ng benepisyong "magbayad lamang sa ginagamit", na may parehong uri ng pagkaantala sa unang request pagkatapos ng tahimik na panahon. Tingnan ang hosting limits sa docs, at ang aming mga gabay tungkol sa web hosting at pagbabawas ng gastos sa hosting.
Mga tanong
Ano ang ibig sabihin ng serverless sa simpleng salita?
Ang serverless ay ibig sabihin na ibinibigay mo sa cloud provider ang code mo at pinapatakbo lamang ito kapag kailangan — halimbawa, kapag may dumating na request — nang hindi ka nagse-setup o nag-aalaga ng anumang server. Karaniwang binabayaran mo ang oras na aktuwal tumatakbo ang code mo, hindi ang makinang laging nakabukas.
Wala ba talagang server sa serverless?
Mayroon; hindi mo lang sila pinamamahalaan. Pinapatakbo ng provider ang code mo sa sarili nitong mga makina, sinisimulan ito kapag may dumating na request, pinapalaki kapag mabigat ang karga, at pinapatay kapag walang gawain.
Ano ang cold start?
Ang cold start ay ang dagdag na pagkaantala kapag tumakbo ang serverless function pagkatapos ng pagkakaidle, dahil kailangan munang simulan ng provider ang bagong kopya nito. Maaari itong mula sa halos hindi mapansin hanggang sa isang segundo o higit pa, depende sa platform, wika, at laki ng code.
Mas mura ba ang serverless kaysa sa karaniwang server?
Para sa mga app na kaunti o hindi pantay ang trapiko, madalas oo, dahil halos wala kang binabayaran habang idle. Para sa mga app na mabigat at tuloy-tuloy ang trapiko, maaaring mas mura ang laging nakabukas na server. Nakadepende ito sa pattern ng paggamit mo at sa presyo ng provider.
Ano ang mga halimbawa ng serverless platform?
Kabilang sa mga kilalang halimbawa ang AWS Lambda, Google Cloud Run functions, Azure Functions, Cloudflare Workers, at ang functions na feature ng mga hosting platform gaya ng Vercel at Netlify.