Node.js Deployment

Node.js பயன்பாடுகளை உற்பத்தியில் விநியோகிப்பதற்கான முழுமையான வழிகாட்டி

விநியோகத்திற்கு அறிமுகம்

விநியோக உத்திகள் உங்கள் Node.js பயன்பாடுகளை உற்பத்தியில் எவ்வாறு விநியோகிப்பது மற்றும் நிர்வகிப்பது என்பதில் கவனம் செலுத்துகின்றன.

நவீன Node.js விநியோகத்தின் முக்கிய அம்சங்கள்:

கொண்டெய்னராக்கம்

உங்கள் பயன்பாடு மற்றும் சார்புகளை ஒரு கொண்டெய்னரில் தொகுக்கவும், இது சூழல்களில் சீராக இயங்கும்

ஒருங்கிணைப்பு

Kubernetes அல்லது Docker Swarm போன்ற கருவிகளுடன் கொண்டெய்னர் மேலாண்மையை தானியங்கி செய்யவும்

CI/CD

சோதனை மற்றும் விநியோக குழாய்களை தானியங்கி செய்யவும்

கிளவுட்-நேட்டிவ்

கிளவுட் சேவைகள் மற்றும் சர்வர்லெஸ் செயல்பாடுகளைப் பயன்படுத்தவும்

IaC

மீள் உற்பத்தித்திறன் விநியோகங்களுக்கு உள்கட்டமைப்பை குறியீடாக வரையறுக்கவும்

கண்காணிக்கும் திறன்

உங்கள் பயன்பாட்டின் செயல்திறன் மற்றும் ஆரோக்கியத்தை கண்காணிக்கவும்

Docker உடன் கொண்டெய்னராக்கம்

கொண்டெய்னர்கள் உங்கள் பயன்பாடு மற்றும் அதன் சார்புகளை ஒரு தரப்படுத்தப்பட்ட அலகாக தொகுக்கின்றன, வெவ்வேறு சூழல்களில் சீரான நடத்தையை உறுதிப்படுத்துகின்றன.

Docker என்பது Node.js பயன்பாடுகளுக்கான மிகவும் பிரபலமான கொண்டெய்னராக்கம் தளமாகும்.

Node.js க்கான Docker இன் நன்மைகள்

சூழல் நிலைத்தன்மை மேம்பாடு, சோதனை மற்றும் உற்பத்தி முழுவதும்
ஹோஸ்ட் கணினி மற்றும் பிற பயன்பாடுகளிலிருந்து தனிமைப்படுத்தல்
மெய்நிகர் இயந்திரங்களுடன் ஒப்பிடும்போது திறமையான வள பயன்பாடு
எளிமையான அளவிடுதல் மற்றும் ஒருங்கிணைப்பு
CI/CD குழாய்களுடன் எளிதான ஒருங்கிணைப்பு

Node.js பயன்பாட்டை Docker செய்தல்

எடுத்துக்காட்டு: Node.js க்கான அடிப்படை Dockerfile

FROM node:20-alpine

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 8080

CMD ["node", "app.js"]

இந்த அடிப்படை Dockerfile:

அடிப்படை படத்தை குறிப்பிடுகிறது (Alpine Linux உடன் Node.js 20)
பணி அடைவை அமைக்கிறது
சார்புகளை நகலெடுத்து நிறுவுகிறது
பயன்பாட்டு குறியீட்டை நகலெடுக்கிறது
ஒரு போர்ட்டை வெளிப்படுத்துகிறது
தொடக்க கட்டளையை வரையறுக்கிறது

உங்கள் Docker கொண்டெய்னரை கட்டமைத்தல் மற்றும் இயக்குதல்

# Build the image
docker build -t my-nodejs-app .

# Run the container
docker run -p 8080:8080 my-nodejs-app

மேம்படுத்தப்பட்ட படங்களுக்கான பல-நிலை கட்டமைப்புகள்

பல-நிலை கட்டமைப்புகள் கட்டமைப்பு சூழலை இயக்க நேர சூழலிலிருந்து பிரிப்பதன் மூலம் சிறிய, மிகவும் பாதுகாப்பான படங்களை உருவாக்குகின்றன:

எடுத்துக்காட்டு: பல-நிலை Dockerfile

# Build stage
FROM node:20-alpine AS build

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

# Production stage
FROM node:20-alpine

WORKDIR /app
COPY --from=build /app/node_modules ./node_modules
COPY . .

# Set NODE_ENV
ENV NODE_ENV=production

# Non-root user for security
USER node

EXPOSE 8080
CMD ["node", "app.js"]

பல-நிலை கட்டமைப்புகள் ஏன்?

சிறிய படங்கள் (கட்டமைப்பு கருவிகள் அல்லது dev சார்புகள் இல்லை)
சிறந்த பாதுகாப்பு (குறைவான சாத்தியமான குறைபாடுகள்)
வேகமான கொண்டெய்னர் துவக்கம் மற்றும் விநியோகம்

பல-கொண்டெய்னர் பயன்பாடுகளுக்கான Docker Compose

பல சேவைகள் கொண்ட பயன்பாடுகளுக்கு (Node.js பயன்பாடு + தரவுத்தளம் போன்றவை), பல-கொண்டெய்னர் பயன்பாடுகளை வரையறுக்கவும் இயக்கவும் Docker Compose ஐப் பயன்படுத்தவும்:

எடுத்துக்காட்டு: docker-compose.yml

version: '3.8'

services:
  # Node.js application
  app:
    build: .
    ports:
      - "8080:8080"
    environment:
      - NODE_ENV=production
      - DB_HOST=db
      - DB_USER=user
      - DB_PASSWORD=password
      - DB_NAME=myapp
    depends_on:
      - db
    restart: unless-stopped

  # Database
  db:
    image: postgres:14
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=user
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=myapp
    restart: unless-stopped

volumes:
  postgres_data:
# Start all services
docker-compose up

# Start in detached mode
docker-compose up -d

# Stop all services
docker-compose down

ஒருங்கிணைப்புக்கான Kubernetes

கொண்டெய்னராக்கப்பட்ட பயன்பாடுகளின் உற்பத்தி-தர ஒருங்கிணைப்புக்கு, Kubernetes சக்திவாய்ந்த அம்சங்களை வழங்குகிறது:

தானியங்கி அளவிடுதல்

சுமையின் அடிப்படையில் கொண்டெய்னர்களின் தானியங்கி அளவிடுதல்

சுய-குணப்படுத்தல்

தோல்வியடைந்த கொண்டெய்னர்களை மீண்டும் தொடங்குதல்

சேவை கண்டறிதல் மற்றும் சுமை சமநிலை

ரோலிங் புதுப்பிப்புகள் மற்றும் ரோல்பேக்குகள்

சேமிப்பக ஒருங்கிணைப்பு

Node.js க்கான அடிப்படை Kubernetes விநியோகம்

எடுத்துக்காட்டு: deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nodejs-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nodejs-app
  template:
    metadata:
      labels:
        app: nodejs-app
    spec:
      containers:
      - name: nodejs-app
        image: your-registry/nodejs-app:latest
        ports:
        - containerPort: 8080
        env:
        - name: NODE_ENV
          value: "production"
        resources:
          limits:
            cpu: "500m"
            memory: "512Mi"
          requests:
            cpu: "200m"
            memory: "256Mi"
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 30
          periodSeconds: 10

Node.js க்கான Kubernetes சேவை

எடுத்துக்காட்டு: service.yaml

apiVersion: v1
kind: Service
metadata:
  name: nodejs-service
spec:
  selector:
    app: nodejs-app
  ports:
    - port: 80
      targetPort: 8080
  type: LoadBalancer

கிளவுட் தள விநியோகம்

கிளவுட் தளங்கள் குறைந்தபட்ச கட்டமைப்புடன் Node.js பயன்பாடுகளை விநியோகிக்க பயன்படுத்த-தயாராக உள்கட்டமைப்பு மற்றும் சேவைகளை வழங்குகின்றன. இந்த தளங்கள் உள்கட்டமைப்பு மேலாண்மையின் பெரும்பாலான சிக்கலான தன்மையை அப்புறப்படுத்துகின்றன.

Node.js க்கான பிரபலமான கிளவுட் தளங்கள்

தளம் அம்சங்கள் சிறந்தது
Heroku Git மூலம் எளிய விநியோகம், தானியங்கி அளவிடுதல், சேர்க்கைகள் சந்தை விரைவான முன்மாதிரி, ஸ்டார்ட்அப்கள், எளிய விநியோகங்கள்
AWS Elastic Beanstalk தானியங்கி அளவிடுதல், சுமை சமநிலை, ஆரோக்கிய கண்காணிப்பு AWS சூழல் ஒருங்கிணைப்பு, நிறுவன பயன்பாடுகள்
Google App Engine தானியங்கி அளவிடுதல், போக்குவரத்துப் பிரிப்பு, பதிப்பு Google Cloud சூழல், அதிக போக்குவரத்து பயன்பாடுகள்
Azure App Service உள்ளமைக்கப்பட்ட CI/CD, ஸ்டேஜிங் சூழல்கள், எளிதான அளவிடுதல் Microsoft சூழல், நிறுவன பயன்பாடுகள்
Vercel முன்னோட்ட விநியோகங்கள், உலகளாவிய CDN, Next.js க்கு மேம்படுத்தப்பட்டது முன்பக்க-கவனம் செலுத்தும் பயன்பாடுகள், JAMstack பயன்பாடுகள்
DigitalOcean App Platform எளிய விலை, உள்ளமைக்கப்பட்ட கண்காணிப்பு, தானியங்கி அளவிடுதல் சிறிய முதல் நடுத்தர பயன்பாடுகள், செலவு-உணர்திறன் விநியோகங்கள்

எடுத்துக்காட்டு: Heroku க்கு விநியோகித்தல்

Heroku Node.js பயன்பாடுகளுக்கான எளிமையான விநியோகப் பணிப்பாய்வுகளில் ஒன்றை வழங்குகிறது:

முன்நிபந்தனைகள்

# Install Heroku CLI
npm install -g heroku

# Login to Heroku
heroku login

உங்கள் திட்டத்தின் மூலத்தில் ஒரு Procfile உருவாக்கவும், உங்கள் பயன்பாட்டை எவ்வாறு இயக்குவது என்று Heroku க்கு சொல்ல:

Procfile

web: node app.js

உங்கள் பயன்பாட்டை விநியோகிக்கவும்:

# Initialize Git if needed
git init
git add .
git commit -m "Initial commit"

# Create a Heroku app
heroku create my-nodejs-app

# Deploy to Heroku
git push heroku main

# Scale your app (optional)
heroku ps:scale web=1

# Open your app in browser
heroku open

சூழல்-குறிப்பிட்ட கட்டமைப்பு

எந்த கிளவுட் விநியோகத்திற்கும், உங்கள் பயன்பாடு உற்பத்திக்காக கட்டமைக்கப்பட்டுள்ளது என்பதை உறுதிப்படுத்தவும்:

எடுத்துக்காட்டு: சூழல் கட்டமைப்புடன் app.js

const express = require('express');
const app = express();

// Environment variables with fallbacks
const PORT = process.env.PORT || 8080;
const NODE_ENV = process.env.NODE_ENV || 'development';
const DB_URI = process.env.DB_URI || 'mongodb://localhost:27017/myapp';

app.get('/', (req, res) => {
  res.send(`Hello from ${NODE_ENV} environment!`);
});

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT} in ${NODE_ENV} mode`);
});

சர்வர்லெஸ் விநியோகம்

சர்வர்லெஸ் கம்ப்யூட்டிங் சர்வர்களைப் பற்றி சிந்திக்காமல் பயன்பாடுகளை உருவாக்கவும் இயக்கவும் உங்களை அனுமதிக்கிறது.

இது தானியங்கி அளவிடுதல், உள்ளமைக்கப்பட்ட உயர் கிடைக்கும் தன்மை மற்றும் பயன்பாட்டிற்கான-பில் வசூல் மாதிரியை வழங்குகிறது.

Node.js க்கான சர்வர்லெஸ் இன் நன்மைகள்

சர்வர் மேலாண்மை தேவையில்லை
தேவையின் அடிப்படையில் தானியங்கி அளவிடுதல்
நீங்கள் பயன்படுத்துவதற்கு மட்டுமே செலுத்துங்கள் (சும்மா செலவுகள் இல்லை)
உள்ளமைக்கப்பட்ட உயர் கிடைக்கும் தன்மை மற்றும் தவறு சகிப்புத்தன்மை
உள்கட்டமைப்பில் அல்ல, குறியீட்டில் கவனம் செலுத்துங்கள்

பிரபலமான சர்வர்லெஸ் தளங்கள்

AWS Lambda

Azure Functions

Google Cloud Functions

Vercel Functions

Netlify Functions

எடுத்துக்காட்டு: AWS Lambda செயல்பாடு

எளிய AWS Lambda செயல்பாடு (handler.js)

module.exports.hello = async (event) => {
  const name = event.queryStringParameters?.name || 'World';

  return {
    statusCode: 200,
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(
      {
        message: `Hello, ${name}!`,
        timestamp: new Date().toISOString(),
      },
    ),
  };
};

எடுத்துக்காட்டு: சர்வர்லெஸ் கட்டமைப்பு கட்டமைப்பு

சர்வர்லெஸ் கட்டமைப்பைப் பயன்படுத்துவது சர்வர்லெஸ் பயன்பாடுகளை விநியோகிப்பதையும் நிர்வகிப்பதையும் எளிதாக்குகிறது:

serverless.yml

service: my-nodejs-api

provider:
  name: aws
  runtime: nodejs16.x
  region: us-east-1
  environment:
    NODE_ENV: production

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: get
          cors: true

  getUser:
    handler: users.getUser
    events:
      - http:
          path: users/{id}
          method: get
          cors: true

சர்வர்லெஸ் பரிசீலனைகள்:

குளிர் துவக்கங்கள்: செயல்பாடு சமீபத்தில் பயன்படுத்தப்படாதபோது ஆரம்ப கோரிக்கை பின்னடைவு
காலஅவகாச வரம்புகள்: செயல்பாடுகளுக்கு அதிகபட்ச செயலாக்க காலம் உள்ளது
நிலையற்ற தன்மை: ஒவ்வொரு அழைப்பும் தனிமைப்படுத்தப்பட்டது; நிலைக்கு வெளிப்புற சேவைகளைப் பயன்படுத்தவும்
வரையறுக்கப்பட்ட உள்ளூர் வளங்கள்: நினைவகம் மற்றும் வட்டு இடம் கட்டுப்பாடுகள்

Node.js பயன்பாடுகளுக்கான CI/CD

தொடர்ச்சியான ஒருங்கிணைப்பு மற்றும் தொடர்ச்சியான விநியோகம் (CI/CD) குழாய்கள் சோதனை மற்றும் விநியோக செயல்முறையை தானியங்கி செய்கின்றன, நம்பகமான மற்றும் சீரான விநியோகங்களை உறுதிப்படுத்துகின்றன.

CI/CD குழாயின் முக்கிய கூறுகள்

மூல கட்டுப்பாடு ஒருங்கிணைப்பு

GitHub, GitLab போன்றவை

தானியங்கி சோதனை

அலகு, ஒருங்கிணைப்பு, முழுமையான-முனை சோதனைகள்

நிலையான குறியீட்டு பகுப்பாய்வு மற்றும் லிண்டிங்

பாதுகாப்பு ஸ்கேனிங்

கட்டமைப்பு மற்றும் தொகுப்பு

ஸ்டேஜிங் மற்றும் உற்பத்திக்கு விநியோகம்

எடுத்துக்காட்டு: GitHub Actions பணிப்பாய்வு

.github/workflows/deploy.yml

name: Deploy Node.js Application

on:
  push:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '16.x'
      - name: Install dependencies
        run: npm ci
      - name: Run tests
        run: npm test
      - name: Run linting
        run: npm run lint

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Deploy to production
        uses: some-action/deploy-to-cloud@v1
        with:
          api-key: ${{ secrets.DEPLOY_API_KEY }}
          app-name: my-nodejs-app
          environment: production

குறியீடாக உள்கட்டமைப்பு (IaC)

IaC கருவிகள் உங்கள் உள்கட்டமைப்பை குறியீட்டுக் கோப்புகளில் வரையறுக்க உங்களை அனுமதிக்கின்றன, பதிப்பு-கட்டுப்படுத்தப்பட்ட, மீள் உற்பத்தித்திறன் விநியோகங்களை வழங்குகின்றன.

பிரபலமான IaC கருவிகள்

Terraform

கிளவுட்-அக்னோஸ்டிக் IaC கருவி

AWS CloudFormation

AWS-குறிப்பிட்ட IaC சேவை

Azure Resource Manager

Azure-குறிப்பிட்ட IaC சேவை

Pulumi

பழக்கமான நிரலாக்க மொழிகளைப் பயன்படுத்தி IaC

எடுத்துக்காட்டு: Terraform கட்டமைப்பு

main.tf

provider "aws" {
  region = "us-east-1"
}

resource "aws_instance" "nodejs_server" {
  ami = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"

  tags = {
    Name = "nodejs-app-server"
  }

  user_data = <<-EOF
    #!/bin/bash
    curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
    sudo apt-get install -y nodejs
    mkdir -p /app
    cd /app
    echo 'console.log("Hello from Node.js");' > app.js
    node app.js
    EOF
}

resource "aws_security_group" "app_sg" {
  name = "app-security-group"
  description = "Allow web traffic"

  ingress {
    from_port = 80
    to_port = 80
    protocol = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  ingress {
    from_port = 22
    to_port = 22
    protocol = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port = 0
    to_port = 0
    protocol = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

Node.js உடன் எட்ஜ் கம்ப்யூட்டிங்

எட்ஜ் கம்ப்யூட்டிங் கம்ப்யூட்டேஷன் மற்றும் தரவு சேமிப்பகத்தை அது தேவைப்படும் இடத்திற்கு நெருக்கமாக கொண்டு வருகிறது, பதில் நேரங்களை மேம்படுத்துகிறது மற்றும் பேண்ட்விட்த் பயன்பாட்டைக் குறைக்கிறது.

Node.js அதன் இலகுவான தன்மை மற்றும் நான்-தடுப்பு I/O மாதிரியின் காரணமாக எட்ஜ் கம்ப்யூட்டிங்கிற்கு நன்றாக பொருந்துகிறது.

Node.js க்கான எட்ஜ் கம்ப்யூட்டிங் தளங்கள்

தளம் விளக்கம் முக்கிய அம்சங்கள்
Vercel Edge Functions எட்ஜில் சர்வர்லெஸ் செயல்பாடுகளை விநியோகிக்கவும் உலகளாவிய CDN, அல்ட்ரா-லோ பின்னடைவு, உள்ளமைக்கப்பட்ட தற்காலிக சேமிப்பு
Cloudflare Workers எட்ஜில் சர்வர்லெஸ் செயலாக்கம் தனிமைப்படுத்தப்பட்ட V8 நிகழ்வுகள், 0ms குளிர் துவக்கங்கள், 200+ இடங்கள்
Fastly Compute@Edge எட்ஜ் கம்ப்யூட் தளம் Sub-ms பின்னடைவு, WebAssembly ஆதரவு, உலகளாவிய நெட்வொர்க்
Deno Deploy JavaScript/TypeScript க்கான எட்ஜ் இயக்க நேரம் V8 இல் கட்டப்பட்டது, உலகளவில் விநியோகிக்கப்பட்டது, WebAssembly ஆதரவு

எடுத்துக்காட்டு: Node.js உடன் Cloudflare Worker

worker.js

// Handle incoming requests
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  // Get visitor's country from Cloudflare headers
  const country = request.cf.country || 'unknown';

  // Custom response based on location
  const html = `
    
    
    
      Edge Computing Demo
    
    
      

Hello from ${country}!

Served from ${new Date().toISOString()}

`; return new Response(html, { headers: { 'content-type': 'text/html;charset=UTF-8' }, }); }

எடுத்துக்காட்டு: Vercel எட்ஜ் மிடில்வேர்

middleware.js

import { NextResponse } from 'next/server';

// Runs on every request to your site
export function middleware(request) {
  // Get the user's country from the request
  const country = request.geo.country || 'US';

  // Rewrite to a country-specific page if needed
  if (country === 'GB') {
    return NextResponse.rewrite('/uk-home');
  }

  // Add a custom header
  const response = NextResponse.next();
  response.headers.set('x-edge-runtime', 'true');

  return response;
}

// Only run on specific paths
export const config = {
  matcher: ['/', '/about/:path*'],
};

எட்ஜ் கம்ப்யூட்டிங் பயன்பாட்டு வழக்குகள்

செயல்திறன்

  • உலகளாவிய பயனர்களுக்கு குறைக்கப்பட்ட பின்னடைவு
  • வேகமான உள்ளடக்க விநியோகம்
  • மேம்படுத்தப்பட்ட முதல் பைட்டுக்கான நேரம் (TTFB)
  • திறமையான தற்காலிக சேமிப்பு உத்திகள்

செயல்பாடு

  • தனிப்பயனாக்கப்பட்ட உள்ளடக்க விநியோகம்
  • A/B சோதனை மற்றும் அம்சக் கொடிகள்
  • பாட் பாதுகாப்பு மற்றும் பாதுகாப்பு
  • அங்கீகாரம் மற்றும் அங்கீகாரம்

நவீன விநியோகத்திற்கான சிறந்த நடைமுறைகள்

பூஜ்ஜிய-கீழிறக்கம் விநியோகங்கள்

நீல-பச்சை அல்லது கேனரி விநியோக உத்திகளைப் பயன்படுத்தவும்

கொண்டெய்னர் பாதுகாப்பு

படங்களை ஸ்கேன் செய்யவும், குறைந்தபட்ச அடிப்படை படங்களைப் பயன்படுத்தவும் மற்றும் non-root பயனர்களைப் பயன்படுத்தவும்

சூழல் மாறிகள்

அனைத்து கட்டமைப்பிற்கும் சூழல் மாறிகளைப் பயன்படுத்தவும்

இரகசிய மேலாண்மை

அர்ப்பணிக்கப்பட்ட இரகசிய மேலாண்மை தீர்வுகளைப் பயன்படுத்தவும்

ஆரோக்கிய சோதனைகள்

விரிவான ஆரோக்கிய மற்றும் தயார்நிலை சோதனைகளை செயல்படுத்தவும்

கண்காணிப்பு மற்றும் பதிவு

முழுமையான கண்காணிப்பு மற்றும் மையப்படுத்தப்பட்ட பதிவை அமைக்கவும்

தானியங்கி அளவிடுதல்

சுமை அளவீடுகளின் அடிப்படையில் பொருத்தமான அளவிடுதல் கொள்கைகளை கட்டமைக்கவும்

தரவுத்தள இடம்பெயர்வுகள்

தரவுத்தள திட்ட மாற்றங்களை தானியங்கி செய்து பதிப்பிடவும்

சுருக்கம்

நவீன Node.js விநியோகம் கொண்டெய்னராக்கம், ஒருங்கிணைப்பு, கிளவுட் தளங்கள், சர்வர்லெஸ் கம்ப்யூட்டிங் மற்றும் DevOps நடைமுறைகளை உள்ளடக்கியது.

இந்த அணுகுமுறைகளை ஏற்றுக்கொள்வதன் மூலம், நீங்கள் அடைய முடியும்:

வேகமான மற்றும் நம்பகமான விநியோகங்கள்

சிறந்த வள பயன்பாடு மற்றும் செலவு திறன்

மேம்படுத்தப்பட்ட அளவிடுதல் மற்றும் நெகிழ்வுத்தன்மை

தானியங்கி மூலம் அதிக மேம்பாட்டு வேகம்

💡 உங்கள் பயன்பாட்டு தேவைகள், குழு நிபுணத்துவம் மற்றும் வணிகத் தேவைகளுக்கு சிறந்த பொருந்தும் விநியோக உத்தியைத் தேர்ந்தெடுக்கவும்.

பயிற்சி

ஒரு ______ Node.js பயன்பாடுகளை விநியோகிப்பதற்கான கொண்டெய்னர் படத்தை வரையறுக்கிறது.

Dockerfile
✓ சரி! ஒரு Dockerfile Node.js பயன்பாடுகளை விநியோகிப்பதற்கான கொண்டெய்னர் படத்தை வரையறுக்கிறது. இது அடிப்படை படம், சார்புகள், கட்டளைகள் மற்றும் கட்டமைப்பு படிகளைக் குறிப்பிடுகிறது.
package.json
✗ தவறு! package.json Node.js திட்ட மெட்டாடேட்டா மற்றும் சார்புகளை வரையறுக்கிறது, ஆனால் கொண்டெய்னர் படத்தை அல்ல.
docker-compose.yml
✗ தவறு! docker-compose.yml பல-கொண்டெய்னர் பயன்பாடுகளை வரையறுக்கிறது, ஆனால் தனிப்பட்ட கொண்டெய்னர் படத்தை Dockerfile வரையறுக்கிறது.
deployment.yaml
✗ தவறு! deployment.yaml Kubernetes விநியோகத்தை வரையறுக்கிறது, ஆனால் கொண்டெய்னர் படத்தை Dockerfile வரையறுக்கிறது.