Guider

Hva er serverless? Serverless-databehandling forklart enkelt

Serverless er en måte å kjøre kode på der du ikke setter opp eller drifter noen servere selv. Du gir koden din til en skyleverandør, som kjører den bare når noe utløser den – en nettforespørsel, en opplastet fil, en betalingsmelding – og så stopper. Du betaler vanligvis for tiden koden faktisk kjører, ikke for en maskin som står inaktiv.

Hvorfor serverless betyr noe når du bygger med AI

Når du bygger en app med AI og ser på hostingalternativer eller kode, vil du støte på «serverless-funksjoner», «edge-funksjoner» eller «skyfunksjoner». Mange hostingplattformer tilbyr dem, og noen AI-verktøy distribuerer backender på denne måten. Å forstå modellen hjelper deg med tre praktiske spørsmål:

  • Kostnad. Vil appen din koste penger mens ingen bruker den?
  • Hastighet. Hvorfor er den første forespørselen etter en rolig periode tregere?
  • Grenser. Hvorfor tok en lang oppgave – å generere en stor rapport, behandle en video – for lang tid og ble avbrutt?

Det hjelper også å vite hva serverless ikke er: det er ikke fravær av en backend. Du har fortsatt server-kode; noen andre kjører bare maskinene. For det grunnleggende, se hva en server er.

En hverdagslig analogi

En tradisjonell server er som å eie en bil. Den er alltid der, klar til å kjøre umiddelbart, men du betaler for den – forsikring, parkering, vedlikehold – enten du kjører den eller ikke.

Serverless er som å ringe en drosje. Du betaler bare for turene du tar, og hvis hundre personer trenger skyss samtidig, kommer hundre drosjer. Men det kan være en kort ventetid før bilen kommer (en kaldstart), hver tur har en maksimal lengde, og sjåføren husker deg ikke fra forrige tur (funksjoner er tilstandsløse, eller stateless).

Hvordan serverless-funksjoner virker

I den vanligste formen, kalt functions as a service:

  1. Du skriver en funksjon – et lite stykke kode som håndterer én type hendelse, for eksempel «håndter en POST til /api/bookings».
  2. Du distribuerer den. Leverandøren lagrer den og kobler den til en utløser: en URL, en tidsplan, en ny fil i lagring, en melding i en kø.
  3. En hendelse kommer inn. Leverandøren starter en kopi av funksjonen din (eller gjenbruker en varm en), kjører den og returnerer resultatet.
  4. Den skalerer selv. Hvis tusen forespørsler kommer samtidig, kjører leverandøren mange kopier parallelt, opp til kontoens grenser.
  5. Den går inaktiv. Når trafikken stopper, slås kopiene av. Med ingenting som kjører, betaler du ingenting for beregningen.

En liten serverless-funksjon i JavaScript kan se slik ut:

export default async function handler(request) {
  const { name } = await request.json();
  return Response.json({ message: `Hello, ${name}` });
}

Det finnes ingen kode for å starte en server, åpne en port eller holde en prosess i gang. Plattformen håndterer alt det.

«Serverless» brukes også løsere om andre administrerte tjenester som skalerer automatisk og fakturerer etter bruk – serverless-databaser, for eksempel, som settes på pause når de er inaktive.

Viktige begreper

BegrepBetydning
Funksjon (FaaS)En liten kodeenhet leverandøren kjører på forespørsel.
Utløser / hendelseDet som starter funksjonen – en HTTP-forespørsel, en filopplasting, en timer, en kømelding.
KaldstartForsinkelsen når en ny kopi av funksjonen må starte før den kan håndtere en forespørsel.
VarmEn kopi som allerede kjører og kan svare umiddelbart.
Tilstandsløs (stateless)Funksjonen husker ingenting mellom kjøringer. Alt som må vare, legges i en database eller lagring.
Tidsavbrudd (timeout)Maksimal tid én kjøring har lov til å ta. For eksempel er AWS Lambdas maksimum 15 minutter; mange plattformer har en standard som er langt kortere.
Edge-funksjonEn funksjon som kjører på mange steder nær brukerne, ofte med strengere grenser.
Skalering til nullÅ kjøre ingenting, og betale ingenting for beregning, når det ikke er trafikk.

Et arbeidseksempel: et lite bookingnettsted

Et yogastudio sitt bookingnettsted får et trafikkstøt hver søndagskveld når den nye timeplanen legges ut, og veldig lite resten av uken.

  • På en server som alltid kjører betaler studioet for en maskin døgnet rundt, dimensjonert for søndagskveldens topp, og som stort sett står inaktiv ellers.
  • Med serverless-funksjoner er GET /api/classes og POST /api/bookings funksjoner. Søndagens rush starter mange kopier automatisk; på en rolig tirsdag morgen kjører nesten ingenting, og regningen er nær null.

Avveiningene dukker også opp. Den første personen som åpner siden på tirsdag morgen kan vente litt ekstra på en kaldstart. Databasen må håndtere mange korte tilkoblinger fra mange funksjonskopier, noe som kan kreve en connection pooler. Og hvis studioet senere vil ha en oppgave som «generer alles årlige oppmøterapport som PDF», kan den overskride funksjonens tidsgrense og må kjøres et annet sted.

Når serverless passer – og når det ikke gjør det

Godt egnetMindre egnet
Trafikk som er lav, pigg-aktig eller uforutsigbarKonstant tung trafikk, der alltid-på kan være billigere
Korte forespørsel-og-svar-oppgaver: API-er, skjemahåndtering, webhooksLangvarige jobber: stor videobehandling, store dataimporter
Små team som ikke vil drifte servereApper som holder live-tilkoblinger åpne (noen chat- eller flerspillerfunksjoner), med mindre plattformen støtter det
Hendelseshåndtering: «når en fil lastes opp, lag en miniatyr»Apper som trenger mye minne holdt mellom forespørsler

Vanlige misforståelser

  • «Serverless betyr ingen backend.» Det betyr ingen servere å drifte. Du skriver fortsatt og sikrer backend-kode.
  • «Serverless er alltid billigere.» Billig ved lavt volum, men pris per forespørsel kan summere seg ved høyt, jevnt volum.
  • «Serverless skalerer uendelig.» Plattformer har grenser for samtidighet, og databasen din kan bli flaskehalsen lenge før funksjonene er det.
  • «Filer lagret i en funksjon vil være der neste gang.» Lokal lagring er midlertidig. Bruk en database eller filelagring.
  • «Skalering til null er det samme som serverless.» Beslektet, men ikke identisk. Noen plattformer kjører appen din som en vanlig server som sover når den er inaktiv og våkner ved neste besøk – lignende besparelser og en lignende forsinkelse ved første forespørsel, men uten funksjonsstil tidsgrenser per forespørsel.

Hva du bør be AI-verktøyet ditt om

  • «Vil denne backenden kjøre som serverless-funksjoner, eller som en server som alltid kjører eller sover? Hva betyr det for kostnaden?»
  • «Er noen oppgaver sannsynligvis lengre enn plattformens tidsgrense? I så fall, hvordan bør vi håndtere dem?»
  • «Lagre alt som må vare i databasen eller filelagring, ikke i minnet eller lokale filer.»
  • «Hvordan bør databasetilkoblingene håndteres hvis mange kopier kjører samtidig?»
  • «Hva er forsinkelsen på første forespørsel etter at appen har vært inaktiv?»

Hvordan Mythex hoster apper

Mythex beskriver ikke hostingen sin som serverless-funksjoner. Når du publiserer, kjører appen din som en vanlig nettapp eller container som Mythex drifter for deg – det finnes ingen hosting å sette opp. Det er skalering til null: publiserte apper og databasene deres sover når de er inaktive og våkner ved neste besøk, en sovende app bruker ingenting på beregning, og ekstra maskiner starter bare når trafikken er stor (Pro tillater opptil 3 per tjeneste). Den tilkoblede Postgres-databasen går også i dvale etter 5 minutter uten aktivitet, og faktureres for tiden den var våken. Du får altså mye av fordelen med «betal for det du bruker», med samme type forsinkelse ved første forespørsel etter en rolig periode. Se hosting-grenser i dokumentasjonen, og våre guider om webhosting og å redusere hostingkostnader.

Spørsmål

Hva betyr serverless med enkle ord?

Serverless betyr at du gir skyleverandøren koden din, og den kjører bare når det trengs – for eksempel når en forespørsel kommer inn – uten at du setter opp eller passer på servere. Du betaler vanligvis for tiden koden faktisk kjører, i stedet for for en maskin som står på hele tiden.

Finnes det virkelig ingen servere i serverless?

Det finnes servere; du bare slipper å drifte dem. Leverandøren kjører koden din på egne maskiner, starter den når forespørsler kommer inn, skalerer den opp under last og slår den av når den er inaktiv.

Hva er en kaldstart?

En kaldstart er den ekstra forsinkelsen når en serverless-funksjon kjører etter å ha vært inaktiv, fordi leverandøren først må starte en ny kopi av den. Det kan variere fra nesten umerkelig til ett sekund eller mer, avhengig av plattform, språk og kodestørrelse.

Er serverless billigere enn en vanlig server?

For apper med lite eller ujevn trafikk, ofte ja, fordi du betaler nesten ingenting mens den er inaktiv. For apper med tung, konstant trafikk kan en server som alltid kjører bli billigere. Det avhenger av bruksmønsteret ditt og leverandørens priser.

Hva er eksempler på serverless-plattformer?

Kjente eksempler inkluderer AWS Lambda, Google Cloud Run functions, Azure Functions, Cloudflare Workers, og funksjonene til hostingplattformer som Vercel og Netlify.

Mythex · Pricing · Bygg hva som helst med KI · Maler for nettsider og apper · Mythex sammenlignet · Ordliste for app-bygging med KI · Gratis verktøy for app-bygging med KI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)