Bootcamp i backendutvikling med Node.js · leksjon

Introduksjon til serverless med Node.js

Forstå serverless-databehandling, fordelene ved den, og hvordan du distribuerer Node.js-funksjoner på plattformer som AWS Lambda.

Leksjon 1 av 411 trinn

Introduksjon til serverless med Node.js er en gratis leksjon i Bootcamp i backendutvikling med Node.js på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Bootcamp i backendutvikling med Node.js, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva er serverless computing?

Velkommen til verdenen av serverless computing! Dette handler ikke om å kjøre kode uten servere, men om å slippe å administrere dem selv.

I en serverless-arkitektur håndterer en skyleverandør (som AWS, Azure eller Google Cloud) all serveradministrasjon, skalering og infrastruktur for deg. Du kan konsentrere deg om å skrive koden.

Introduksjon til serverless med Node.js — illustrasjon 1

Function as a Service (FaaS)

Kjernen i serverless er ofte Function as a Service (FaaS). Du distribuerer enkeltfunksjoner, ikke hele applikasjoner.

  • Hendelsesstyrt: Funksjoner kjører bare når de utløses av en hendelse (for eksempel en HTTP-forespørsel, en filopplasting eller en databaseendring).
  • Tilstandsløs: Hver kjøring er uavhengig; funksjonene beholder ikke tilstand mellom påkallinger.
  • Forbigående: Funksjonene eksisterer bare mens de kjører, og avsluttes deretter.

Hvorfor velge serverless? Viktige fordeler

Serverless gir mange applikasjoner overbevisende fordeler:

  • Mindre driftsarbeid: Du trenger ikke klargjøre, oppdatere eller skalere servere.
  • Automatisk skalerbarhet: Funksjonene skaleres automatisk opp eller ned basert på belastningen.
  • Kostnadseffektivitet: Du betaler bare for tiden koden faktisk kjører, ofte målt i millisekunder.
  • Raskere utvikling: Fokuser på forretningslogikk i stedet for infrastruktur.

Node.js: Et perfekt valg for serverless

Node.js er svært populært for serverless-funksjoner, og det er det gode grunner til!

Den hendelsesstyrte, ikke-blokkerende I/O-modellen passer perfekt med den forbigående og hendelsesstyrte naturen til serverless-funksjoner. Node.js-funksjoner har også ofte svært korte «cold start»-tider, noe som betyr at de raskt er klare til å kjøre.

Introduksjon til AWS Lambda

AWS Lambda er Amazon Web Services' ledende FaaS-tjeneste og en av de mest brukte serverless-plattformene.

Lambda lar deg kjøre kode uten å klargjøre eller administrere servere. Du laster opp koden, og Lambda tar seg av alt som kreves for å kjøre og skalere den med høy tilgjengelighet.

Anatomien til en Lambda-funksjon

En Node.js Lambda-funksjon eksporterer vanligvis én handler-funksjon. Denne funksjonen mottar to hovedargumenter:

  • event: Et objekt som inneholder data om den utløsende hendelsen.
  • context: Et objekt som gir informasjon under kjøring om påkallingen, funksjonen og kjøringsmiljøet.

Funksjonen kan være async eller returnere et Promise for asynkrone operasjoner.

Din første Lambda-funksjon

La oss se på en enkel «Hello World»-Lambda-funksjon i Node.js. Denne funksjonen svarer med en hilsen.

Legg merke til statusCode og body, som er vanlige for HTTP-svar via Lambda.

exports.handler = async (event) => {
  const response = {
    statusCode: 200,
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ message: 'Hello from CoddyKit Lambda!' }),
  };
  return response;
};

Forstå event-objektet

event-objektet er avgjørende fordi det inneholder alle inndataene til funksjonen. Strukturen varierer avhengig av utløseren.

Hvis funksjonen utløses av en API Gateway, kan objektet inneholde:

  • httpMethod (f.eks. 'GET', 'POST')
  • path (f.eks. '/hello')
  • queryStringParameters
  • body (for POST-forespørsler)

Vanlige Lambda-utløsere

Lambda-funksjoner kan startes av et stort utvalg AWS-tjenester. Her er noen vanlige utløsere:

  • API Gateway: For å bygge REST-baserte API-er.
  • S3 (Simple Storage Service): Når objekter opprettes eller slettes i en bucket.
  • DynamoDB Streams: Når elementer i en DynamoDB-tabell endres.
  • SNS (Simple Notification Service): For varsler og fan-out-meldinger.
  • CloudWatch Events/EventBridge: For planlagte oppgaver eller som reaksjon på hendelser i AWS-tjenester.

Kontroll av serverløse konsepter

Test forståelsen Deres av serverløs databehandling!

Oppsummering: Introduksjon til serverløs databehandling

Godt jobbet! De har tatt sine første steg innen serverløs databehandling.

  • Vi definerte serverless som å fokusere på kode i stedet for serveradministrasjon.
  • Vi lærte om FaaS (Function as a Service) som det sentrale konseptet.
  • Vi utforsket fordeler som kostnadseffektivitet og automatisk skalering.
  • Vi forsto hvorfor Node.js passer godt til serverløs databehandling.
  • Vi fikk en introduksjon til AWS Lambda og den grunnleggende funksjonsstrukturen.

Deretter skal vi gå nærmere inn på prinsipper for utforming av GraphQL-API-er!

Gratis å komme i gang

Lær deg JavaScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
22
Leksjoner
92

Ofte stilte spørsmål

Er leksjonen «Introduksjon til serverless med Node.js» gratis?

Ja – hele teksten i «Introduksjon til serverless med Node.js» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Bootcamp i backendutvikling med Node.js-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Bootcamp i backendutvikling med Node.js inneholder totalt 4 leksjoner.

Hva lærer jeg i «Introduksjon til serverless med Node.js»?

Forstå serverless-databehandling, fordelene ved den, og hvordan du distribuerer Node.js-funksjoner på plattformer som AWS Lambda. Du øver på Bootcamp i backendutvikling med Node.js med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Bootcamp i backendutvikling med Node.js?

Ingen tidligere erfaring er nødvendig. Bootcamp i backendutvikling med Node.js på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Introduksjon til serverless med Node.js»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Bootcamp i backendutvikling med Node.js-leksjonen?

Ja. Alle Bootcamp i backendutvikling med Node.js-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til serverless med Node.js
  2. Prinsipper for GraphQL API-design
  3. Bygge en GraphQL-server med Apollo
  4. GraphQL-abonnementer for sanntidsdata
← Tilbake til Bootcamp i backendutvikling med Node.js