Bootcamp i backendutvikling med Node.js · leksjon

Skylldistribusjon (AWS/Heroku)

Distribuer den containeriserte Node.js-applikasjonen Deres til populære skyplattformer som AWS eller Heroku.

Leksjon 2 av 412 trinn

Skylldistribusjon (AWS/Heroku) er en gratis leksjon i Bootcamp i backendutvikling med Node.js på CoddyKit. Dette er leksjon 2 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.

Introduksjon til distribusjon i skyen

Velkommen! Etter at De har bygget Node.js-applikasjonen og kjørt den i en container med Docker, er neste viktige steg å distribuere den til skyen.

Distribusjon i skyen gjør applikasjonen tilgjengelig for brukere over hele verden. Den håndterer infrastruktur, skalering og pålitelighet, slik at De kan fokusere på utvikling.

PaaS og IaaS forklart

Når De distribuerer til skyen, vil De ofte møte Platform as a Service (PaaS) og Infrastructure as a Service (IaaS).

  • PaaS (f.eks. Heroku): Tilbyr en komplett plattform for å kjøre koden uten at De trenger å administrere servere. Enklere og raskere distribusjon.
  • IaaS (f.eks. AWS EC2): Gir Dem virtuelle servere og nettverk, noe som gir mer kontroll, men krever mer oppsett og administrasjon.

Heroku: Enkel PaaS-distribusjon

Heroku er en populær PaaS-tjeneste som er svært godt egnet for rask distribusjon av Node.js-applikasjoner. Den tar seg av serveradministrasjon og skalering, og tilbyr også et gratisnivå for små prosjekter.

De sender ganske enkelt koden, så oppdager Heroku at det er en Node.js-app og kjører den.

Forberede distribusjon til Heroku

For at Heroku skal kunne kjøre Node.js-appen, trenger De to viktige ting:

  • package.json-skriptet start: Heroku ser etter et start-skript for å starte appen.
  • Procfile: En fil som forteller Heroku hvilken kommando som skal kjøres for å starte webserveren. For Node.js er det vanligvis web: node index.js.

Node.js-app klar for Heroku

Her er en grunnleggende Node.js Express-app som er klar for Heroku. Legg merke til at den bruker process.env.PORT, som Heroku oppgir.

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello from Heroku!');
});

app.listen(PORT, () => {
  console.log(`Server listening on port ${PORT}`);
});

Distribuere med Heroku CLI

Når appen er klar, er det enkelt å distribuere den til Heroku ved hjelp av Heroku CLI:

  1. heroku login
  2. heroku create your-app-name (oppretter en ny Heroku-app)
  3. git add .
  4. git commit -m "Initial deploy"
  5. git push heroku main (distribuerer koden)

Heroku bygger og kjører appen automatisk.

AWS: Kraftig skyinfrastruktur

Amazon Web Services (AWS) er en omfattende skyplattform med et stort utvalg av tjenester. Den tilbyr enestående fleksibilitet, skalerbarhet og kontroll ved distribusjon av komplekse Node.js-applikasjoner.

AWS krever mer arbeid enn Heroku, men er ideelt for løsninger på produksjonsnivå som er svært skalerbare og kan tilpasses i stor grad.

Containerdistribusjon på AWS

For containeriserte Node.js-apper (som bruker Docker) er AWS Elastic Container Service (ECS) et naturlig førstevalg. ECS lar Dem kjøre, stoppe og administrere Docker-containere i en klynge.

De kan bruke AWS Fargate sammen med ECS for å kjøre containere uten å administrere de underliggende serverne, og dermed kombinere enkelheten i PaaS med kraften i AWS.

Viktige AWS-tjenester for Node.js

Distribusjon av en Node.js-app på AWS innebærer ofte:

  • ECR (Elastic Container Registry): Lagrer Docker-images.
  • ECS (Elastic Container Service): Orkestrerer containerne.
  • Load Balancer (ALB): Fordeler innkommende trafikk mellom containerne.
  • RDS (Relational Database Service): Administrert databaseløsning (f.eks. PostgreSQL, MySQL).
  • IAM (Identity and Access Management): Administrerer brukertillatelser.

Skalere Node.js i skyen

Både Heroku og AWS tilbyr gode muligheter for skalering:

  • Horisontal skalering: Legge til flere instanser (dynos på Heroku, oppgaver på ECS) av applikasjonen for å håndtere økt belastning.
  • Automatisk skalering: Justerer automatisk antallet instanser basert på måleverdier som CPU-utnyttelse eller lengden på forespørselskøen.

Dette sikrer at Node.js-appen fortsatt svarer raskt, selv ved plutselige trafikktopper.

Sammenligning av skydistribusjon

Vurder fordelene ved ulike strategier for distribusjon i skyen. Hvilke av de følgende påstandene om Heroku og AWS er SANNE?

Oppsummering: Valg for skydistribusjon

Vi har sett på hvordan Node.js-applikasjoner kan distribueres til skyen ved hjelp av Heroku og AWS.

  • Heroku er en utmerket PaaS-tjeneste for rask og enkel distribusjon, særlig for mindre prosjekter.
  • AWS tilbyr kraftige og svært tilpasningsbare IaaS/PaaS-løsninger som ECS/Fargate for skalerbare applikasjoner på produksjonsnivå.

Valget av riktig plattform avhenger av prosjektets behov for kontroll, skalerbarhet og brukervennlighet.

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 «Skylldistribusjon (AWS/Heroku)» gratis?

Ja – hele teksten i «Skylldistribusjon (AWS/Heroku)» 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 «Skylldistribusjon (AWS/Heroku)»?

Distribuer den containeriserte Node.js-applikasjonen Deres til populære skyplattformer som AWS eller Heroku. 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 2 av 4.

Hvor lang tid tar leksjonen «Skylldistribusjon (AWS/Heroku)»?

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. Containerisering med Docker
  2. Skylldistribusjon (AWS/Heroku)
  3. Prosessadministrasjon med PM2
  4. CI/CD-pipelines med GitHub Actions
← Tilbake til Bootcamp i backendutvikling med Node.js