Деплой сайту на Selectel: Terraform, Kubernetes, CI/CD

Налаштування деплою сайту на Selectel

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Деплой сайту на Selectel: Terraform, Kubernetes, CI/CD
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Налаштування деплою сайту на Selectel

Автоматизуйте деплой на Selectel за допомогою Terraform, Managed Kubernetes та CI/CD з GitHub Actions. Ви розгорнули сайт на Selectel, але через тиждень він упав через неправильну конфігурацію security groups? Або деплой займає годину, а відкат — ціла операція? Такі проблеми вирішуємо автоматизованим деплоєм з Terraform, Kubernetes та GitHub Actions. Викат займає хвилини, інфраструктура надійна, і все відповідає 152-ФЗ. Одного разу проєкт упав через неправильне налаштування Object Storage — зображення не завантажувалися, LCP виріс до 5 секунд. Ми переписали деплой на Terraform, налаштували CDN, і LCP знизився до 0.8 секунди. Це лише один приклад того, як автоматизація рятує бізнес.

Наша команда має 5+ років досвіду роботи з інфраструктурою Selectel і налаштувала деплой для 30+ проєктів, від лендінгів до високонавантажених SaaS-платформ. Розповімо, як ми це робимо.

Проблеми, які вирішуємо

При деплої на Selectel часто стикаємося з типовими помилками:

  • N+1 запитів при роботі з Object Storage — неправильне налаштування CDN призводить до затримок. Виправляємо через попереднє завантаження контенту та правильні Cache-Control заголовки.
  • Hydration mismatch в React/Next.js при використанні SSR — через різний час відповіді сервера та клієнта. Вирішуємо налаштуванням синхронізації через Edge Functions.
  • Витік даних при неправильній конфігурації security groups. Завжди використовуємо мінімальні привілеї: тільки 80/443 та SSH з білих IP.

Кожна проблема супроводжується конкретним рішенням, яке ми відпрацьовували на десятках проєктів. За даними документації Selectel

Як організувати деплой для відповідності 152-ФЗ?

Selectel надає атестовану інфраструктуру. Ми налаштовуємо:

  • Шифрування даних у спокої через OpenStack Barbican.
  • Логування доступу до Object Storage через S3 Access Logs.
  • Регулярне резервне копіювання баз даних в окремий проєкт.

Це гарантує compliance без зайвих витрат.

Чому Selectel вигідніший за зарубіжні хмари?

Selectel у 2–3 рази дешевший за AWS/Azure для українських проєктів, якщо рахувати затримки та compliance. Наприклад, використання Managed Kubernetes на Selectel знижує витрати на адміністрування на 40% порівняно з ручним розгортанням. До того ж, дані залишаються в РФ, що критично для 152-ФЗ. Базова конфігурація VPS коштує від 500 грн/місяць.

Як налаштувати деплой на Selectel з нуля?

Використовуємо перевірений стек: Terraform 1.7 для опису інфраструктури, Ansible для конфігурації, GitHub Actions для CI/CD. Один із проєктів — інтернет-магазин на Laravel 11: терраформували проєкт, налаштували Object Storage для медіафайлів та Managed Kubernetes для фронту. Деплой займає 3 хвилини, ролбек — 1 команда. Selectel Managed Kubernetes працює в 2 рази швидше за звичайну VPS при однаковому навантаженні.

# Створення сервера через CLI pip install python-openstackclient export OS_AUTH_URL=https://cloud.api.selcloud.ru/identity/v3 export OS_PROJECT_ID=your_project_id export OS_USERNAME=your_username export OS_PASSWORD=your_password export OS_REGION_NAME=ru-1 openstack server create \ --flavor 1014 \ --image "Ubuntu 22.04 LTS 64-bit" \ --key-name my-key \ --security-group web-sg \ myapp-prod 
# Terraform для Selectel terraform { required_providers { selectel = { source = "selectel/selectel" version = "~> 5.0" } openstack = { source = "terraform-provider-openstack/openstack" version = "~> 1.53" } } } provider "selectel" { token = var.selectel_token } resource "selectel_vpc_project_v2" "myapp" { name = "myapp-project" theme = { color = "#4CAF50" } } resource "openstack_compute_instance_v2" "app" { name = "myapp-prod" flavor_name = "1014" image_name = "Ubuntu 22.04 LTS 64-bit" key_pair = openstack_compute_keypair_v2.mykey.name security_groups = ["web-sg", "ssh-sg"] region = "ru-1" network { name = "public" } user_data = file("cloud-init.yaml") } 
# Selectel Object Storage (Swift/S3) aws configure aws --endpoint-url https://s3.selcdn.ru s3 mb s3://myapp-assets aws --endpoint-url https://s3.selcdn.ru \ s3 sync ./dist/assets s3://myapp-assets \ --acl public-read \ --cache-control "public, max-age=31536000, immutable" 
# Managed Kubernetes (MKS) selectel mks kubeconfig --cluster-id CLUSTER_ID > kubeconfig.yaml export KUBECONFIG=./kubeconfig.yaml kubectl apply -f k8s/ kubectl get pods -n myapp 
# GitHub Actions для Selectel VPS jobs: deploy: steps: - name: Deploy uses: appleboy/ssh-action@v1 with: host: ${{ secrets.SELECTEL_SERVER_IP }} username: deploy key: ${{ secrets.SSH_KEY }} script: | cd /var/www/myapp git pull origin main composer install --no-dev --optimize-autoloader npm ci && npm run build php artisan migrate --force php artisan optimize sudo systemctl reload php8.3-fpm nginx 
Типові помилки при деплої та їх запобігання
  • Ігнорування security groups — залишають SSH відкритим для всіх IP. Використовуємо тільки білі списки.
  • Неправильне налаштування CORS для S3 — статика не завантажується на фронті. Явно вказуємо дозволені origins.
  • Відсутність моніторингу — дізнаємося про падіння від клієнтів. Ставимо алерти через SendGrid або Telegram.

Цих помилок легко уникнути, дотримуючись наших практик.

Процес роботи

  1. Аналітика — визначаємо вимоги до навантаження, бюджету, compliance.
  2. Проєктування — малюємо архітектуру: VPS vs Kubernetes, S3 vs DB, CDN.
  3. Інфраструктура — Terraform кодом розгортаємо проєкт, мережі, security groups.
  4. Реалізація — налаштування додатку, CI/CD, моніторинг (Prometheus + Grafana).
  5. Тестування — навантажувальне тестування, перевірка Core Web Vitals.
  6. Деплой — канарейковий викат з автоматичним відкатом при помилках.

Що входить у налаштування деплою

  • Проєктування архітектури під ваші завдання.
  • Написання Terraform-конфігурацій для всієї інфраструктури.
  • Налаштування CI/CD (GitHub Actions або GitLab CI) з автоматичним деплоєм і відкатом.
  • Конфігурація Object Storage та CDN для статики.
  • Інтеграція моніторингу (Prometheus + Grafana) з алертами.
  • Документація з розгортання та навчання вашої команди.
  • Технічна підтримка після запуску.

Порівняння VPS та Managed Kubernetes

Параметр VPS Managed Kubernetes (MKS)
Час розгортання 1–2 дня 3–4 дні
Масштабування Ручне (вертикальне) Автоматичне (горизонтальне)
Вартість Низька Середня, з економією на адмініструванні
Підходить для Невеликих проєктів Високонавантажених та мікросервісів
Компонент деплою Термін
VPS + Nginx + деплой 1–2 дня
Object Storage + CDN 1 день
Managed Kubernetes 3–4 дні
CI/CD (GitHub Actions) 1–2 дні

Вартість розраховується індивідуально під проєкт. Замовте індивідуальний розрахунок вартості деплою — ми підберемо оптимальну архітектуру. Отримайте консультацію — оцінимо ваш проєкт за один робочий день. Звертайтеся, щоб налаштувати деплой, який не підведе.