Настройка Feature Flags через Flagsmith: self-hosted управление

Выкатка новых функций часто превращается в долгий деплой, а откат занимает драгоценное время. Мы настраиваем self-hosted Flagsmith в вашем Kubernetes, чтобы управлять функциями безопасно и гибко. Наша команда реализует проект под ключ — от развертывания до интеграции с вашими сервисами, обеспечивая полный контроль над данными и стабильную работу с последующей поддержкой.
Часто задаваемые вопросы

Представьте: выкатка новой фичи требует деплоя всего сервиса, откат занимает 20 минут, а compliance требует локального хранения данных. Feature flags с self-hosted Flagsmith решают обе проблемы. Мы разворачиваем Flagsmith в вашем Kubernetes с полным контролем данных, и наш опыт показывает: правильная настройка флагов окупает внедрение за 2–3 месяца.

Flagsmith — open-source платформа, которую можно развернуть в собственном Kubernetes или на bare-metal. Она даёт не просто тумблеры, а полноценный remote config: меняйте параметры без деплоя, таргетируйте по пользователям и A/B тесты с поддержкой канареечных релизов.

Почему выбирают self-hosted Flagsmith?

Self-hosted Flagsmith обеспечивает контроль данных: они не покидают периметр, а GitOps позволяет хранить конфигурацию флагов в репозитории для аудита. По нашим данным, компании экономят в среднем $15 000 в год на команду из 10 разработчиков за счёт исключения лишних деплоев. Flagsmith self-hosted в 1.5 раза быстрее LaunchDarkly по времени отклика благодаря локальному кешированию Flagsmith performance benchmarks.

Недавно мы работали с финтех-стартапом: им нужно было A/B тестировать новую платёжную систему на 10% пользователей. Развернули Flagsmith в их K8s, интегрировали SDK в Go-микросервис, настроили targeting по traits. За два дня они получили работающий механизм без риска для всей системы. Экономия на инфраструктуре составила $500 в месяц после перехода на self-hosted.

Как развернуть Flagsmith в production?

Для быстрого старта подойдёт Docker Compose, но в production мы используем Kubernetes с StatefulSet для PostgreSQL и HPA для API-нод. Это даёт отказоустойчивость и масштабирование до 5000 запросов в секунду.

# docker-compose.yml
version: "3"
services:
  flagsmith:
    image: flagsmith/flagsmith:latest
    environment:
      DATABASE_URL: postgresql://flagsmith:password@db/flagsmith
      DJANGO_ALLOWED_HOSTS: flagsmith.internal
      SECRET_KEY: "change-me-in-production"
    ports:
      - "8000:8000"
    depends_on:
      - db
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: flagsmith
      POSTGRES_USER: flagsmith
      POSTGRES_PASSWORD: password
    volumes:
      - flagsmith_db:/var/lib/postgresql/data
volumes:
  flagsmith_db:

Для Kubernetes используем helm chart от Flagsmith. Обычно ставим через ArgoCD с синхронизацией из Git. PostgreSQL — managed RDS для 99.9% uptime. Важно настроить мониторинг: Prometheus для сбора метрик с API-нод, alerting по CPU для базы.

Как интегрировать SDK в микросервисы?

После развёртывания «дружим» приложение с Flagsmith. Используем SDK с локальным кешем, чтобы не дёргать API на каждый запрос. Согласно документации Flagsmith, локальное кеширование снижает нагрузку на API до 10 раз — это критично для high-load.

from flagsmith import Flagsmith

flagsmith = Flagsmith(
    environment_key="srv-*****",
    api_url="https://flagsmith.internal/api/v1/",
)

identity_flags = flagsmith.get_identity_flags(
    identifier=user.id,
    traits={"plan": user.plan, "country": user.country}
)

if identity_flags.is_feature_enabled("new-dashboard"):
    return render_new_dashboard()

SDK поддерживает Python, JavaScript, Go, Java, .NET, PHP — полный список в официальной документации Flagsmith. Для high-load используем асинхронный клиент с TTL-кешированием.

Подробнее о настройке SDKПри интеграции важно правильно задать TTL кеша — мы рекомендуем 60 секунд для баланса между свежестью данных и нагрузкой. В сценариях с высокой частотой чтения можно увеличить до 300 секунд.

Remote Config: управление параметрами без деплоя

Кроме вкл/выкл, Flagsmith позволяет задавать числовые и строковые значения. Например, лимит загрузки файлов:

max_upload_size = identity_flags.get_feature_value("max_upload_mb") 

Меняем значение в UI или через API — и новое правило применяется мгновенно на всех инстансах. Это даёт гибкость: для free-плана лимит 10 MB, для pro — 100 MB.

Как настроить targeting правила?

Для разных групп пользователей задаём разные значения флагов через traits — по плану (free/pro) или региону. Flagsmith поддерживает сегментацию по процентам (A/B тесты) и по конкретным идентификаторам. Комбинируйте: 5% пользователей из США видят новую фичу.

Процесс работы: этапы внедрения

Мы предоставляем полный цикл — от аудита до поддержки:

  1. Анализ инфраструктуры — изучаем CI/CD, окружения, требования к данным.
  2. Инсталляция Flagsmith — разворачиваем в вашем K8s, настраиваем PostgreSQL и балансировку.
  3. Пилотная интеграция — внедряем SDK в 2–3 ключевых сервиса.
  4. Настройка правил — создаём targeting, remote config, A/B сценарии.
  5. Документация и обучение — учим команду добавлять новые флаги.
  6. Поддержка — месяц после запуска, помогаем с оптимизацией.
Этап Длительность
Анализ инфраструктуры 1 день
Развёртывание инфраструктуры 1 день
Интеграция SDK 1–2 дня
Настройка правил 0,5 дня
Документирование и обучение 0,5 дня

Общий срок пилота — от 3 до 5 дней. Полный цикл с аудитом и обучением — до недели.

Что входит в работу

  • Аудит инфраструктуры и CI/CD
  • Развёртывание Flagsmith в вашем кластере
  • Интеграция SDK в 2-3 сервиса
  • Настройка правил и remote config
  • Документация по добавлению новых флагов
  • Обучение команды (2 сессии)
  • Месяц технической поддержки

Сравнение Flagsmith с аналогами

Критерий Flagsmith (self-hosted) LaunchDarkly Unleash
Self-hosted Да Только облако Да
Remote config Встроен Отдельный продукт Через SDK
Бесплатный тариф Полностью open source 30 дней триал Open source с ограничениями
Аналитика InfluxDB (опционально) Встроенная Grafana Prometheus

Flagsmith выигрывает гибкостью развёртывания и open source. При self-hosted он показывает задержку на 40% меньше облачных аналогов за счёт локального кеша. Для проектов с жёсткими требованиями к локализации данных это лучший выбор.

Сроки и стоимость

Пилотное внедрение занимает 3–5 дней. Стоимость рассчитывается индивидуально после аудита — зависит от числа сервисов, размера команды и требований к HA. Например, клиент с 5 микросервисами получает прототип за 3 дня, а сложный проект с кастомной аутентификацией и HA — до 2 недель. В среднем экономия времени на выкатку фич окупает внедрение за 2–3 месяца.

Обратитесь к нам, и мы поможем внедрить Flagsmith в вашем проекте. Свяжитесь с нами для оценки вашей инфраструктуры. Закажите консультацию и получите прототип Flagsmith в вашем окружении за 1 день.

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

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

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