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

Деплой на Selectel превратился в рутину с простоями и долгими откатами? Мы автоматизируем выкат с помощью Terraform, Kubernetes и CI/CD, чтобы инфраструктура работала стабильно и соответствовала требованиям 152-ФЗ. Реализуем проект под ключ — от аудита до сопровождения, обеспечивая надёжность и масштабируемость вашего сервиса.

Разработка и обслуживание любых видов сайтов:

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

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

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

Настройка деплоя сайта на Selectel

Вы развернули сайт на 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.

Каждая проблема сопровождается конкретным решением, которое мы отрабатывали на десятках проектов.

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

Selectel предоставляет аттестованную инфраструктуру. Мы настраиваем:

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

Это гарантирует compliance без лишних затрат.

Почему Selectel выгоднее зарубежных облаков?

Selectel в 2–3 раза дешевле AWS/Azure для российских проектов, если считать задержки и compliance. Например, использование Managed Kubernetes на Selectel снижает затраты на администрирование на 40% по сравнению с ручным развёртыванием. К тому же, данные остаются в РФ, что критично для 152-ФЗ.

Как настроить деплой на Selectel с нуля?

Используем проверенный стек: Terraform 1.7 для описания инфраструктуры, Ansible для конфигурации, GitHub Actions для CI/CD. Один из проектов — интернет-магазин на Laravel 11: терраформили проект, настроили Object Storage для медиафайлов и Managed Kubernetes для фронта. Деплой занимает 3 минуты, роллбэк — 1 команда.

# Создание сервера через 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	erraform {
  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 дня

Стоимость рассчитывается индивидуально под проект. Закажите индивидуальный расчёт стоимости деплоя — мы подберём оптимальную архитектуру. Получите консультацию — оценим ваш проект за один рабочий день. Обращайтесь, чтобы настроить деплой, который не подведёт.

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

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060