Услуги Работы Стек Процесс Блог EN ↗ DE ↗ Связаться ↗
§ 09 / Инфра

DevOps, CI/CD и инфраструктура — без фанатизма.

Инфраструктура, которую сможет поддерживать ваш будущий администратор. Никаких 40-строчных Helm-чартов под маленький сайт, никаких микросервисов ради микросервисов. Docker, простой CI, понятный мониторинг, runbook'и в репозитории. Работает — и продолжает работать, когда мы ушёл.

§ 09.1 Что делаем

→ CI/CD

Автосборка и деплой

GitHub Actions, GitLab CI, собственный runner — под ваш git. Тесты, линтинг, сборка, деплой, откат. Без «пуш в мастер — надежда на лучшее».

→ Docker

Контейнеризация

Dockerfile, compose для локалки, production-образы. Multi-stage билды, маленькие финальные образы, быстрое разворачивание.

→ Kubernetes

K8s — когда он нужен

Для приложений, которым действительно нужна оркестрация: автомасштабирование, rolling updates, blue-green, canary. Для маленьких проектов — Docker Compose на одном сервере дешевле и проще.

→ Миграции

Переезд между провайдерами

С AWS / GCP / DigitalOcean / Heroku на Hetzner / Selectel / Yandex Cloud — и обратно. Миграция баз без простоя, перенос DNS, проверка, откат при проблемах.

→ Мониторинг

Мониторинг и алерты

Prometheus + Grafana, Loki для логов, Sentry для ошибок. Алерты в Telegram, приоритеты инцидентов. Чтобы проблема не стала видна сначала клиенту, а потом вам.

→ IaC

Infrastructure as Code

Terraform, Ansible, Pulumi. Вся инфраструктура в git: можно воспроизвести, можно провести ревью изменений, можно откатить.

§ 09.2 Провайдеры и стек

Основное: Hetzner (дёшево и надёжно для европейских проектов), Selectel / Yandex Cloud (для российских), Cloudflare (CDN, R2, Workers).

Иногда: AWS, GCP, Fly.io, Railway, Vercel — когда задача под их специфику.

Чего избегаем: Heroku (дорого), голый FTP (небезопасно), «положим на свой Linux-сервер и не будем обновлять» (это бомба замедленного действия).

§ 09.3 Принципы

  • Сложность инфры должна соответствовать размеру команды. Kubernetes для команды из двух человек — это перебор.
  • Каждое изменение — через код и pull request. Никаких правок в проде по SSH.
  • Бэкапы проверяются регулярно. «Мы делаем бэкапы» и «мы умеем восстанавливаться» — это две очень разные вещи.
  • Мониторинг настраивается до релиза, а не после первой потери данных.
  • Runbook'и пишутся в момент настройки, а не «потом задокументируем».

§ 09.4 Частые вопросы

Нам советуют Kubernetes. Точно нужен?

Почти наверняка нет, если у вас меньше десятка сервисов и меньше двадцати запросов в секунду. Docker Compose на одной-двух VM решает ту же задачу за 10% времени и денег. Скажу честно, когда k8s оправдан.

Можно ли переехать с AWS на что-то дешевле?

Обычно — да. AWS часто в 3–5 раз дороже, чем Hetzner или Selectel, при сопоставимом железе. Считаем вашу стоимость, оцениваем миграцию, решаем, имеет ли смысл. Иногда — не имеет.

Кто будет поддерживать после вас?

Кто угодно, кто умеет в Docker и git. Конфигурация в репозитории, runbook'и в README, никаких «секретных скриптов» на моём ноутбуке. Передача занимает пару часов.

У нас сайт упал. Можете прийти на один раз?

Могу, если задача ясна. «Сайт лежит, непонятно почему» — берём в работу, диагностируем, чиним, документируем. Одноразовый инцидент — нормальный формат работы.

§ — Написать

Опишите
что сейчас болит.

hi@weiss.help ↗

Первый созвон 20 минут — бесплатно. Экстренный инцидент — возьму сегодня.