Согласованность инфраструры, нейминг и договоренности в команде
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
1. Эволюция инфраструктуры
- На ранних этапах проекта достаточно одного окружения (prod), но с появлением клиентов и команды разработки требуется разделение: dev, demo, окружения под конкретных заказчиков.
- Инфраструктура постепенно усложняется: появляются отдельные кластеры, изоляция, резервирование по регионам.
- Отсутствие стратегического подхода к именованию приводит к хаосу и усложняет сопровождение.
2. Типовые ошибки при масштабировании
Несогласованное именование ресурсов.
- Неочевидная структура стендов и их назначение.
- Конфликт имен при миграциях или масштабировании.
- Недостаточная гибкость схемы именования — необходимость переименования существующих ресурсов при добавлении новых.
- Избыточное дублирование в именах (example-prod-prod-*).
3. Потери от неструктурированного подхода
- Увеличение времени на онбординг и передачу знаний.
- Ошибки в навигации по инфраструктуре, особенно при ротации сотрудников.
- Нарушения SLA из-за некорректных алертов, связанных с неправильной категоризацией окружений.
- Рост технического долга: невозможность безопасного переименования, необходимость в обходных решениях.
4. Методология проектирования
- Разделение на логические контуры (infra, nonprod, prod) упрощает управление доступами и ресурсами.
- Именование должно быть масштабируемым, человекочитаемым и отражать назначение, окружение, регион, тип ресурса и его принадлежность.
- Важно формализовать правила именования и зафиксировать их в глоссарии.
- Учитывать регион/датацентр, чтобы упростить диагностику и автоматизацию.
5. Практические рекомендации и инструменты
- Использовать Infrastructure as Code инструменты (Terraform, Pulumi, Crossplane, Ansible) для внедрения стандартов и шаблонов.
- Внедрение валидации и автогенерации имен на уровне CI/CD.
Мне 28 лет, с 2020 года активно интересуюсь и развиваюсь в области DevOps. Развертывал kubernetes через kubeadm, kubespray, использовал managed-решения облачных провайдеров, а также облегченные дистрибутивы, такие как k3s. Самым масштабным и технически сложным проектом считаю перенос инфраструктуры с Docker Swarm на Kubernetes. Я прошёл все этапы: от подготовки шаблонов виртуальных машин в VMware до построения полноценного процесса поставки продукта в on-premise среду.
Видео
Другие доклады секции
Жизнь в облаках и без