Bootcamp i backendutveckling med Node.js · Lektion

Molndistribution (AWS/Heroku)

Distribuera er containeriserade Node.js-applikation till populära molnplattformar som AWS eller Heroku.

Lektion 2 av 412 steg

Molndistribution (AWS/Heroku) är en gratis lektion i Bootcamp i backendutveckling med Node.js på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bootcamp i backendutveckling med Node.js, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bootcamp i backendutveckling med Node.js innehåller totalt 4 lektioner.

Introduktion till distribution i molnet

Välkomna! När ni har byggt er Node.js-applikation och kört den i en container med Docker är nästa viktiga steg att distribuera den i molnet.

Distribution i molnet gör applikationen tillgänglig för användare över hela världen. Den hanterar infrastruktur, skalning och tillförlitlighet, så att ni kan fokusera på utvecklingen.

PaaS och IaaS förklarat

När ni distribuerar i molnet stöter ni ofta på Platform as a Service (PaaS) och Infrastructure as a Service (IaaS).

  • PaaS (till exempel Heroku): Tillhandahåller en komplett plattform för att köra kod utan att hantera servrar. Enklare och snabbare distribution.
  • IaaS (till exempel AWS EC2): Ger er virtuella servrar och nätverk, vilket ger större kontroll men kräver mer konfigurering och hantering.

Heroku: enkel PaaS-distribution

Heroku är en populär PaaS-tjänst som passar utmärkt för snabb distribution av Node.js-applikationer. Den tar hand om serverhantering och skalning och erbjuder även en kostnadsfri nivå för mindre projekt.

Ni behöver bara skicka upp koden, så identifierar Heroku att det är en Node.js-app och kör den.

Förbereda distribution till Heroku

För att Heroku ska kunna köra er Node.js-app behöver ni två viktiga saker:

  • package.json-skriptet start: Heroku letar efter ett start-skript för att starta appen.
  • Procfile: En fil som talar om för Heroku vilket kommando som ska köras för att starta webbservern. För Node.js är det vanligtvis web: node index.js.

Heroku-klar Node.js-app

Här är en enkel Node.js Express-app som är klar för Heroku. Observera att den använder process.env.PORT, som Heroku tillhandahåller.

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}`);
});

Distribuera med Heroku CLI

När appen är klar är det enkelt att distribuera den till Heroku med Heroku CLI:

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

Heroku bygger och kör appen automatiskt.

AWS: kraftfull molninfrastruktur

Amazon Web Services (AWS) är en omfattande molnplattform som erbjuder ett stort utbud av tjänster. Den ger oöverträffad flexibilitet, skalbarhet och kontroll vid distribution av komplexa Node.js-applikationer.

AWS kräver mer arbete än Heroku, men är idealiskt för produktionsklara, mycket skalbara och anpassningsbara lösningar.

Containerdistribution på AWS

För containeriserade Node.js-appar (med Docker) är AWS Elastic Container Service (ECS) ett förstahandsval. Med ECS kan ni köra, stoppa och hantera Docker-containrar i ett kluster.

Ni kan använda AWS Fargate med ECS för att köra containrar utan att hantera de underliggande servrarna, vilket kombinerar PaaS-enkelhet med AWS-kraft.

Viktiga AWS-tjänster för Node.js

Att distribuera en Node.js-app på AWS innebär ofta att man använder:

  • ECR (Elastic Container Registry): Lagrar era Docker-images.
  • ECS (Elastic Container Service): Orkestrerar era containrar.
  • Load Balancer (ALB): Fördelar inkommande trafik mellan era containrar.
  • RDS (Relational Database Service): Hanterad databaslösning (till exempel PostgreSQL eller MySQL).
  • IAM (Identity and Access Management): Hanterar användarbehörigheter.

Skala Node.js i molnet

Både Heroku och AWS erbjuder robusta skalningsfunktioner:

  • Horisontell skalning: Lägga till fler instanser (dynos på Heroku, tasks på ECS) av applikationen för att hantera ökad belastning.
  • Automatisk skalning: Justera antalet instanser automatiskt baserat på mätvärden som CPU-användning eller längden på kön av förfrågningar.

Detta säkerställer att Node.js-appen fortsätter att svara även vid trafiktoppar.

Jämförelse av molndistribution

Fundera på fördelarna med olika strategier för molndistribution. Vilka av följande påståenden om Heroku och AWS är SANNA?

Sammanfattning: val av molndistribution

Vi undersökte hur Node.js-applikationer kan distribueras i molnet med Heroku och AWS.

  • Heroku är en utmärkt PaaS-tjänst för snabb och enkel distribution, särskilt för mindre projekt.
  • AWS erbjuder kraftfulla och mycket anpassningsbara IaaS/PaaS-lösningar som ECS/Fargate för skalbara, produktionsklara applikationer.

Valet av rätt plattform beror på projektets behov av kontroll, skalbarhet och användarvänlighet.

Gratis att börja

Lär dig JavaScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
22
Lektioner
92

Vanliga frågor

Är lektionen ”Molndistribution (AWS/Heroku)” gratis?

Ja – hela texten till ”Molndistribution (AWS/Heroku)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bootcamp i backendutveckling med Node.js, kan Ni uppgradera till CoddyKit PRO. Kursen i Bootcamp i backendutveckling med Node.js innehåller totalt 4 lektioner.

Vad lär jag mig i ”Molndistribution (AWS/Heroku)”?

Distribuera er containeriserade Node.js-applikation till populära molnplattformar som AWS eller Heroku. Ni övar på Bootcamp i backendutveckling med Node.js med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Bootcamp i backendutveckling med Node.js?

Du behöver inga förkunskaper. Utbildningen i Bootcamp i backendutveckling med Node.js på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Molndistribution (AWS/Heroku)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Bootcamp i backendutveckling med Node.js-lektionen?

Ja. Varje Bootcamp i backendutveckling med Node.js-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Containerisering med Docker
  2. Molndistribution (AWS/Heroku)
  3. Processhantering med PM2
  4. CI/CD-pipelines med GitHub Actions
← Tillbaka till Bootcamp i backendutveckling med Node.js