Налаштування Feature Flags через Flagsmith: self-hosted керування

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

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

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

Чому обирають self-hosted Flagsmith?

Self-hosted Flagsmith забезпечує контроль даних: вони не покидають периметр, а GitOps дозволяє зберігати конфігурацію флагів у репозиторії для аудиту. За нашими даними, компанії економлять у середньому $15 000 на рік на команду з 10 розробників за рахунок виключення зайвих деплоїв. Flagsmith self-hosted в 1.5 рази швидше LaunchDarkly за часом відгуку завдяки локальному кешуванню, що підтверджують бенчмарки. Крім того, завдяки локальному кешуванню Flagsmith економить до 90% запитів до API порівняно з хмарними аналогами.

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

Як розгорнути Flagsmith у production?

Для швидкого старту підійде Docker Compose, але в production ми використовуємо Kubernetes з StatefulSet для PostgreSQL з PersistentVolume claims, HPA на основі CPU/memory для API-нод, та Istio для трафіку. Це дає відмовостійкість і масштабування до 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. При інтеграції важливо правильно задати TTL кеша — ми рекомендуємо 60 секунд для балансу між свіжістю даних та навантаженням. У сценаріях з високою частотою читання можна збільшити до 300 секунд.

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-кешуванням.

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% користувачів зі США бачать нову фічу.

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

Ми надаємо повний цикл — від аудиту до підтримки. Наш досвід: 5+ років у DevOps, 20+ успішних впроваджень feature flags, сертифіковані спеціалісти з Kubernetes (CKA). Ми на ринку з 2019 року. Гарантуємо 99.9% SLA для Flagsmith API при належній інфраструктурі.

  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 днів. Повний цикл з аудитом і навчанням — до тижня. Вартість впровадження починається від $2000 і залежить від складності.

Що входить в роботу

  • Аудит інфраструктури та 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
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    815
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1140