Тема: Розгортання веб-застосунку на PaaS-платформі.
Розгортання веб-застосунку (Node.js / Python) на AWS Elastic Beanstalk або Azure App Service; налаштування середовища виконання та змінних оточення; конфігурація автоматичного масштабування; управління середовищами staging/production.
Мета: Набути практичні навички розгортання застосунків на PaaS-платформах, навчитись керувати середовищами та конфігурацією без потреби адміністрування серверної інфраструктури.
Технологічний стек:
Якщо ще не маєте застосунку з Лаб. №6 — створіть новий:
mkdir lab10-paas && cd lab10-paas
Node.js застосунок:
npm init -y
npm install express
// server.js
const express = require("express");
const app = express();
const PORT = process.env.PORT || 3000;
const visits = {};
app.get("/", (req, res) => {
res.json({
message: process.env.WELCOME_MSG || "Hello from PaaS!",
environment: process.env.NODE_ENV || "development",
version: process.env.APP_VERSION || "1.0.0",
hostname: require("os").hostname(),
timestamp: new Date().toISOString(),
});
});
app.get("/health", (req, res) =>
res.json({ status: "ok", uptime: process.uptime() }),
);
app.listen(PORT, () =>
console.log(`Running on port ${PORT} in ${process.env.NODE_ENV} mode`),
);
// package.json — додайте до scripts:
"start": "node server.js"
Ініціалізуйте Git та завантажте до GitHub:
git init
echo "node_modules/" > .gitignore
git add .
git commit -m "Initial commit — Lab 10 PaaS app"
# Створіть репозиторій на GitHub та:
git remote add origin https://github.com/<username>/lab10-paas.git
git push -u origin main
Railway — сучасна PaaS-платформа з безкоштовним тарифом ($5 кредитів щомісяця, без картки).
lab10-paasАльтернатива — Render:
lab10-paasnpm installnode server.jsУ Railway:
WELCOME_MSG = Привіт від ETI Cloud Club!APP_VERSION = 1.0.0NODE_ENV = productionПісля збереження Railway автоматично перерозгорне застосунок. Перевірте зміни у відповіді API.
Змініть server.js — додайте новий маршрут:
app.get("/about", (req, res) => {
res.json({
name: "Lab 10 — PaaS Deployment",
student: process.env.STUDENT_NAME || "Unknown",
platform: "Railway / Render",
});
});
git add .
git commit -m "Add /about endpoint"
git push origin main
Railway / Render автоматично виявить push та запустить новий деплой. Слідкуйте за процесом у Deployments → відкрийте новий URL і перевірте /about.
# Встановлення EB CLI
pip install awsebcli
# Ініціалізація у директорії застосунку
eb init lab10-app --platform node.js-20 --region eu-central-1
# Створення та розгортання середовища
eb create lab10-production
# Перегляд статусу
eb status
# Відкрити застосунок у браузері
eb open
# Розгортання після змін
eb deploy
# Перегляд логів
eb logs
# Знищення середовища (після завершення)
eb terminate lab10-production
Railway:
Render:
Згенеруйте трафік для спостереження:
# Надішліть 50 запитів
for i in {1..50}; do curl -s https://<your-app-url> > /dev/null; done
lab10.md