Изанами — это решение с открытым исходным кодом для централизованного управления флагами функций (feature flags), разработанное французской компанией MAIF. Оно предназначено для упрощения активации и деактивации функциональности в приложениях без необходимости их повторного развертывания. Изначально выпущенное в версии 1.x, в 2024 году было представлено полное переработанное решение — Izanami v2, ориентированное на улучшение гибкости и масштабируемости.
Изанами предоставляет API для централизованного управления флагами, позволяя разработчикам и операционным командам контролировать доступность функций в разных средах и для различных пользователей. Это особенно полезно в микросервисных архитектурах, где необходимо согласовывать поведение множества сервисов без их синхронных обновлений.
- Централизованное управление флагами: Все флаги хранятся в одном месте, что упрощает их администрирование и мониторинг.
- Гибкие условия активации: Флаги могут быть активированы на основе различных условий, таких как дата, пользовательские атрибуты или произвольные скрипты.
- Поддержка WASM-скриптов: В версии 2.x реализована поддержка скриптов на WebAssembly, что позволяет писать условия активации на различных языках программирования, таких как Go, Rust или JavaScript.
- Многоуровневая организация: Флаги могут быть организованы по проектам, тегам и средам, что облегчает их управление в крупных системах.
- Поддержка многопользовательского доступа: Встроенная система прав доступа позволяет точно настраивать, кто и какие флаги может изменять или просматривать.
- API на основе HTTP: Флаги доступны через REST API, что обеспечивает совместимость с различными языками программирования и платформами.
- Поддержка PostgreSQL: В версии 2.x используется база данных PostgreSQL, что улучшает производительность и масштабируемость решения.
- Планируемые функции: В будущих версиях ожидается добавление поддержки A/B-тестирования и журналирования изменений флагов.