Skylldistribusjon (AWS/Heroku)
Distribuer den containeriserte Node.js-applikasjonen Deres til populære skyplattformer som AWS eller Heroku.
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-skriptetstart: Heroku ser etter etstart-skript for å starte appen.Procfile: En fil som forteller Heroku hvilken kommando som skal kjøres for å starte webserveren. For Node.js er det vanligvisweb: 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:
heroku loginheroku create your-app-name(oppretter en ny Heroku-app)git add .git commit -m "Initial deploy"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.
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
- Containerisering med Docker
- Skylldistribusjon (AWS/Heroku)
- Prosessadministrasjon med PM2
- CI/CD-pipelines med GitHub Actions