Preskoči na sadržaj
Pustili smo novi sajt sa mnogo novih opcija — AI Builder uskoro
BeoHosting
BeoHosting
Hosting

Šta je serverless hosting

BeoHosting Tim··9 min čitanja
Šta je serverless hosting

Šta je serverless computing

Serverless computing je model cloud computing-a gde provajder automatski upravlja serverskom infrastrukturom dok se vi fokusirate isključivo na kod. Uprkos imenu, serveri i dalje postoje ali vi ne morate da ih konfiguišete, održavate, ažurirate ili skalirate. Provajder se brine o svemu tome dok vi pišete funkcije koje se izvršavaju kao odgovor na događaje. Plaćate samo za vreme izvršavanja koda, ne za server koji čeka zahteve.

Koncept serverless-a je nastao evolucijom cloud computing-a. Od fizičkih servera prešli smo na virtuelne mašine, zatim na kontejnere i konačno na serverless funkcije. Svaki korak je apstrahovao sve više infrastrukture od developera, omogućavajući im da se fokusiraju na poslovnu logiku. AWS Lambda, lansiran 2014. godine, bio je prvi komercijai serverless servis i pokrenuo je revoluciju u načinu na koji razmišljamo o hosting-u.

Kako serverless funkcioniše

Functions as a Service (FaaS)

FaaS je srce serverless arhitekture. Vi pišete funkciju koja obavlja specifičan zadatak, na primer procesiranje slike, slanje emaila ili kreiranje PDF-a. Ta funkcija se pakuje i upload-uje na serverless platformu. Kada se dogodi događaj koji je trigger za vašu funkciju, poput HTTP zahteva, upload-a fajla ili poruke u redu čekanja, platforma automatski pokreće instancu vaše funkcije, izvršava je i vraća rezultat. Nakon izvršavanja, instanca se gasi. Ako istovremeno stigne 1000 zahteva, platforma pokreće 1000 instanci paralelno.

Backend as a Service (BaaS)

BaaS komponenta serverless-a pruža gotove backend servise poput baze podataka, autentifikacije, skladištenja fajlova i push notifikacija kao managed servise. Firebase od Google-a je najpopularniji BaaS koji nudi realtime bazu podataka, autentifikaciju, cloud storage i hosting u jednom paketu. AWS Amplify kombinuje Lambda funkcije sa DynamoDB bazom, Cognito autentifikacijom i S3 skladištem. Supabase je open-source alternativa Firebase-u sa PostgreSQL bazom. BaaS eliminiše potrebu za pisanjem standardnog backend koda za uobičajene operacije.

Event-driven arhitektura

Serverless aplikacije su inherentno event-driven što znači da se kod izvršava samo kada se dogodi određeni događaj. Događaji mogu biti HTTP zahtevi od korisnika, promena u bazi podataka, upload fajla u storage, zakazano vreme poput cron job-a, poruka u message queue-u ili IoT senzor podatak. Ova arhitektura je prirodno efikasna jer se resursi troše samo kada postoji posao za obavljanje. U tradicionalnom modelu, server konstantno radi i troši resurse čak i kada nema saobraćaja.

Prednosti serverless-a

Automatsko skaliranje

Serverless platforme automatski skaliraju vaš kod od nula do miliona zahteva bez ikakve konfiguracije. Nema potrebe za postavljanjem auto-scaling pravila, definisanjem minimalnog i maksimalnog broja instanci ili brige o load balanceru. Ako vaš sajt ima 10 posetilaca u ponoć i 10000 tokom popodnevnog špica, serverless se automatski prilagođava. Ovo je posebno korisno za aplikacije sa nepredvidivim saobraćajem poput e-commerce sajtova tokom rasprodaja ili viralnih kampanja na društvenim mrežama.

Plaćanje po potrošnji

Tradicionalni hosting naplaćuje fiksnu mesečnu cenu bez obzira da li server radi na 1 ili 100 posto kapaciteta. Serverless naplaćuje samo vreme izvršavanja koda, obično u milisekundama, plus broj poziva funkcije. AWS Lambda na primer nudi milion besplatnih poziva mesečno i 400000 GB-sekundi besplatnog compute vremena. Za mali sajt koji ima 50000 zahteva mesečno, serverless hosting može biti praktično besplatan. Ovo je idealno za startape i projekte u ranoj fazi gde budžet treba pažljivo kontrolisati.

Zero maintenance

Ne morate brinuti o ažuriranju operativnog sistema, instaliranju bezbednosnih zakrpa, konfigurisanju web servera, upravljanju SSL sertifikatima ili monitoringu hardvera. Provajder se brine o celoj infrastrukturi uključujući bezbednost, redundansu i backup. Ovo oslobađa vreme vašeg tima za rad na proizvodima umesto na infrastrukturi. Za mali tim ili solo developera, ovo je ogromna prednost jer eliminiše potrebu za DevOps znanjem.

Mane serverless-a

Cold start problem

Kada serverless funkcija nije korišćena neko vreme, platforma gasi njenu instancu da uštedi resurse. Sledeći zahtev mora pokrenuti novu instancu što uvodi dodatno kašnjenje poznato kao cold start. Cold start može trajati od 100 milisekundi za Node.js funkcije do nekoliko sekundi za Java ili C# funkcije. Za aplikacije koje zahtevaju konzistentno nisko vreme odgovora, cold start je značajan problem. Rešenja uključuju provisioned concurrency koji drži instance toplim, ali to eliminiše prednost plaćanja po potrošnji.

Vendor lock-in

Svaki cloud provajder ima svoj serverless ekosistem sa specifičnim API-jevima, alatima i servisima. Aplikacija napisana za AWS Lambda koristi API Gateway, DynamoDB i S3 koji nemaju direktne ekvivalente kod Google Cloud-a ili Azure-a. Migracija na drugog provajdera zahteva značajno prepisivanje koda. Framework-ovi poput Serverless Framework-a ili Terraform-a pokušavaju apstrahovati razlike između provajdera ali potpuna prenosivost je nerealna jer su fundamentalne razlike u servisima i API-jevima.

Ograničenja izvršavanja

Serverless funkcije imaju ograničenja u trajanju izvršavanja, memoriji i veličini paketa. AWS Lambda ima maksimalno trajanje od 15 minuta po izvršavanju, 10 GB memorije i 250 MB za deployment paket. Ovo znači da dugotrajne operacije poput obrade velikih video fajlova, kompleksnog mašinskog učenja ili batch procesiranja podataka nisu pogodne za serverless. Debugging i monitoring su kompleksniji jer nemate pristup serveru - koristite cloud-native alate poput CloudWatch-a ili X-Ray-a.

Kada koristiti serverless

Idealni slučajevi

  • API backend: REST ili GraphQL API-ji sa nepredvidivim saobraćajem su savršeni kandidati jer se automatski skaliraju i ne koštaju kada nema zahteva.
  • Event procesiranje: Obrada događaja poput upload-a slika, slanja emailova, generisanja izveštaja ili procesiranja webhook-ova.
  • Scheduled tasks: Cron poslovi koji se izvršavaju periodično poput čišćenja baze podataka, generisanja dnevnih izveštaja ili sinhronizacije podataka.
  • Chatbotovi: Odgovaranje na korisničke upite gde je saobraćaj nepredvidiv i sporadičan.
  • IoT backend: Procesiranje podataka od senzora gde broj uređaja može varirati od 10 do 10000.

Kada izbeći serverless

Serverless nije idealan za aplikacije sa konzistentnim visokim saobraćajem jer fiksni server postaje isplativiji pri konstantnom opterećenju. Aplikacije koje zahtevaju dugotrajne procese poput video renderinga, websocket konekcija ili streaming-a ne mogu se uklopiti u ograničenja serverless funkcija. Aplikacije sa specifičnim zahtevima za operativni sistem, hardver ili softver koji nije dostupan na serverless platformi zahtevaju tradicionalni hosting. Legacy aplikacije koje koriste state između zahteva su teške za migraciju jer su serverless funkcije inherentno stateless.

Serverless vs tradicionalni hosting

Poređenje za mali sajt

Za mali sajt sa 10000 do 50000 poseta mesečno, zajedničkii hosting paket košta 3 do 10 dolara mesečno i pruža predvidive troškove, jednostavnost i podršku za PHP, WordPress i email. Serverless može biti besplatan ili koštati manje od 1 dolara mesečno za isti saobraćaj ali zahteva tehničko znanje za postavljanje i ne podržava tradicionalne CMS platforme. Za vlasnike malih sajtova koji koriste WordPress, tradicionalni hosting je praktičniji izbor.

Poređenje za veliku aplikaciju

Za veliku aplikaciju sa milionima zahteva dnevno, napredni hosting sa dedikovanim resursima košta 50 do 500 dolara mesečno ali zahteva DevOps tim za upravljanje. Serverless automatski skalira bez intervencije ali troškovi mogu brzo narasti pri konstantnom visokom opterećenju. Hibridni pristup gde bazni saobraćaj obrađuje tradicionalni server dok serverless preuzima špiceve je često optimalno rešenje koje kombinuje predvidivost troškova sa elastičnošću skaliranja. Na BeoHosting-u nudimo tradicionalne hosting pakete optimizovane za WordPress i web aplikacije sa predvidivim troškovima i punom tehničkom podrškom što je za većinu korisnika praktičnije rešenje od serverless arhitekture.

Zaključak

Serverless hosting predstavlja evoluciju cloud computing-a koja eliminiše brigu o infrastrukturi i omogućava fokus na kod i poslovnu logiku. Automatsko skaliranje, plaćanje po potrošnji i zero maintenance su moćne prednosti za prave slučajeve korišćenja. Međutim, cold start problem, vendor lock-in i ograničenja izvršavanja čine serverless nepogodnim za sve tipove aplikacija. Razumevanje prednosti i mana vam pomaže da donesete informisanu odluku o tome da li serverless ili tradicionalni hosting bolje odgovara vašim potrebama.

BeoHosting Tim

10+ godina iskustva — Stručnjaci za web hosting i infrastrukturu

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Poslednje ažurirano: