Guides

Hvad er serverless? Serverless-computing forklaret simpelt

Serverless er en måde at køre kode på, hvor du ikke selv opsætter eller administrerer servere. Du giver din kode til en cloududbyder, og den kører kun, når noget udløser den — en webforespørgsel, en uploadet fil, en betalingsnotifikation — og stopper derefter. Du betaler typisk for den tid, din kode faktisk kører, ikke for en maskine, der står inaktiv.

Hvorfor serverless betyder noget, når du bygger med AI

Når du bygger en app med AI og kigger på hostingmuligheder eller kode, vil du støde på "serverless functions", "edge functions" eller "cloud functions". Mange hostingplatforme tilbyder dem, og nogle AI-builders udruller backends på denne måde. Forståelse af modellen hjælper dig med tre praktiske spørgsmål:

  • Omkostning. Vil din app koste penge, mens ingen bruger den?
  • Hastighed. Hvorfor er den første forespørgsel efter en rolig periode langsommere?
  • Grænser. Hvorfor fik en lang opgave — fx at generere en stor rapport eller behandle en video — timeout?

Det hjælper også at vide, hvad serverless ikke er: det er ikke fraværet af en backend. Du har stadig server-side kode; det er bare nogen andre, der kører maskinerne. Til det grundlæggende, se hvad en server er.

En hverdagsanalogi

En traditionel server er som at eje en bil. Den er altid der, klar til at køre med det samme, men du betaler for den — forsikring, parkering, vedligehold — uanset om du kører i den eller ej.

Serverless er som at bestille en taxa. Du betaler kun for de ture, du tager, og hvis hundrede mennesker har brug for en tur på samme tid, kommer hundrede taxaer. Men der kan være en kort ventetid, før bilen kommer (en cold start), hver tur har en maksimal længde, og chaufføren husker dig ikke fra sidste tur (funktioner er stateless).

Sådan virker serverless-funktioner

I sin mest almindelige form, kaldet functions as a service:

  1. Du skriver en funktion — et lille stykke kode, der håndterer én type hændelse, fx "håndter en POST til /api/bookings".
  2. Du deployer den. Udbyderen gemmer den og kobler den til en trigger: en URL, en tidsplan, en ny fil i lageret, en besked i en kø.
  3. En hændelse kommer ind. Udbyderen starter en kopi af din funktion (eller genbruger en varm en), kører den og returnerer resultatet.
  4. Den skalerer selv. Hvis tusind forespørgsler kommer på én gang, kører udbyderen mange kopier parallelt, op til din kontos grænser.
  5. Den går i dvale. Når trafikken stopper, lukkes kopierne ned. Når intet kører, betaler du intet for compute.

En lille serverless-funktion i JavaScript kunne se sådan ud:

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

Der er ingen kode til at starte en server, åbne en port eller holde en proces kørende. Platformen håndterer alt det.

"Serverless" bruges også mere løst om andre administrerede tjenester, der skalerer automatisk og faktureres efter forbrug — fx serverless-databaser, der pauser, når de er inaktive.

Vigtige begreber

BegrebBetydning
Funktion (FaaS)En lille kodeenhed, udbyderen kører efter behov.
Trigger / hændelseDet der starter funktionen — en HTTP-forespørgsel, en filupload, en timer, en købesked.
Cold startForsinkelse, når en ny kopi af funktionen skal starte, før den kan håndtere en forespørgsel.
VarmEn kopi, der allerede kører og kan svare med det samme.
StatelessFunktionen husker ikke noget mellem kørsler. Alt, der skal bevares, skal i en database eller lager.
TimeoutDen maksimale tid, én kørsel må tage. Fx er AWS Lambdas maksimum 15 minutter; mange platforme har et langt lavere standard.
Edge-funktionEn funktion, der kører mange steder tæt på brugerne, ofte med strammere grænser.
Skalér til nulAt køre ingenting og betale intet for compute, når der ingen trafik er.

Et eksempel: en lille bookingside

En yogastudios bookingside får et udbrud af besøg hver søndag aften, når det nye skema går op, og meget lidt resten af ugen.

  • På en altid tændt server betaler studiet for en maskine 24/7, dimensioneret til søndag aftens spidsbelastning, og som for det meste er inaktiv ellers.
  • Med serverless-funktioner er GET /api/classes og POST /api/bookings funktioner. Søndagens rush starter mange kopier automatisk; en stille tirsdag morgen kører næsten intet, og regningen er tæt på nul.

Afvejningerne dukker også op. Den første person, der åbner siden tirsdag morgen, venter måske et ekstra øjeblik på en cold start. Databasen skal håndtere mange kortlivede forbindelser fra mange funktionskopier, hvilket kan kræve en connection pooler. Og hvis studiet senere vil have en opgave "generer alles årlige deltagerrapport som PDF", kan den overskride funktionens tidsgrænse og skal køre et andet sted.

Hvornår serverless passer — og hvornår ikke

Godt matchMindre godt match
Trafik, der er lav, ujævn eller uforudsigeligKonstant tung trafik, hvor altid tændt kan være billigere
Korte anmodning/svar-opgaver: API'er, formularhåndtering, webhooksLangvarige job: stor videobehandling, store dataimporter
Små teams, der ikke vil administrere servereApps, der holder live-forbindelser åbne (nogle chat- eller multiplayer-funktioner), medmindre platformen understøtter det
Hændelseshåndtering: "når en fil uploades, lav et thumbnail"Apps der har brug for meget hukommelse, der holdes mellem forespørgsler

Almindelige misforståelser

  • "Serverless betyder ingen backend." Det betyder ingen servere at administrere. Du skriver og sikrer stadig backend-kode.
  • "Serverless er altid billigere." Billigt ved lav volumen, men pris pr. forespørgsel kan løbe op ved høj, konstant volumen.
  • "Serverless skalerer uendeligt." Platforme har samtidighedsgrænser, og din database kan blive flaskehalsen længe før funktionerne gør.
  • "Filer gemt i en funktion er der næste gang." Lokal lagring er midlertidig. Brug en database eller filopbevaring.
  • "Skalér-til-nul er det samme som serverless." Beslægtet, men ikke identisk. Nogle platforme kører din app som en almindelig server, der sover, når den er inaktiv, og vågner ved næste besøg — lignende besparelser og en lignende forsinkelse ved første forespørgsel, men uden funktionsagtige tidsgrænser pr. forespørgsel.

Hvad du beder din AI-builder om

  • "Kører denne backend som serverless-funktioner eller som en altid tændt eller sovende server? Hvad betyder det for omkostningen?"
  • "Er nogle opgaver sandsynligvis længere end platformens tidsgrænse? Hvis ja, hvordan håndterer vi dem?"
  • "Gem alt, der skal bevares, i databasen eller filopbevaringen, ikke i hukommelsen eller lokale filer."
  • "Hvordan skal databaseforbindelser håndteres, hvis mange kopier kører samtidig?"
  • "Hvor lang er forsinkelsen på den første forespørgsel, efter appen har været inaktiv?"

Hvordan Mythex hoster apps

Mythex beskriver ikke sin hosting som serverless-funktioner. Når du udgiver, kører din app som en almindelig webapp eller container, som Mythex administrerer for dig — der er ingen hosting at opsætte. Det er skalér-til-nul: udgivne apps og deres databaser sover, når de er inaktive, og vågner ved næste besøg; en sovende app bruger intet på compute, og ekstra maskiner starter kun, når trafikken er høj (Pro tillader op til 3 pr. service). Den vedhæftede Postgres-database sover også efter 5 minutters inaktivitet og faktureres for den tid, den var vågen. Du får altså meget af fordelen ved "betal for det, du bruger", med samme slags forsinkelse ved første forespørgsel efter en rolig periode. Se hosting-grænser i dokumentationen, og vores guides om webhosting og sådan reducerer du hostingomkostninger.

Spørgsmål

Hvad betyder serverless med enkle ord?

Serverless betyder, at du giver en cloududbyder din kode, og at den kører kun, når der er brug for det — fx når en forespørgsel kommer ind — uden at du opsætter eller passer nogen servere. Du betaler normalt for den tid, din kode faktisk kører, i stedet for for en maskine, der altid er tændt.

Er der virkelig ingen servere i serverless?

Der er servere; du administrerer bare ikke dem. Udbyderen kører din kode på sine egne maskiner, starter den, når forespørgsler kommer ind, skalerer den op under belastning og lukker den ned, når den er inaktiv.

Hvad er en cold start?

En cold start er den ekstra forsinkelse, når en serverless-funktion kører efter at have været inaktiv, fordi udbyderen først skal starte en frisk kopi. Det kan variere fra næsten umærkeligt til et sekund eller mere, afhængigt af platform, sprog og kodestørrelse.

Er serverless billigere end en almindelig server?

For apps med lidt eller ujævn trafik ofte ja, fordi du betaler næsten intet, mens den er inaktiv. For apps med tung, konstant trafik kan en altid tændt server være billigere. Det afhænger af dit forbrugsmønster og udbyderens priser.

Hvad er eksempler på serverless-platforme?

Kendte eksempler er AWS Lambda, Google Cloud Run functions, Azure Functions, Cloudflare Workers og funktionsfunktionerne hos hostingplatforme som Vercel og Netlify.

Mythex · Pricing · Byg hvad som helst med AI · Skabeloner til websites og apps · Mythex sammenlignet · Ordliste for app-bygning med AI · Gratis værktøjer til app-bygning med AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština 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 မြန်မာ Norsk bokmål 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 简体中文 繁體中文(香港) 繁體中文(台灣)