Developing a .NetCore app with Microsoft.FeatureManagement / Разработка приложения на .Net Core с использованием Microsoft.FeatureManagement
Key ideas
-
Understanding and defining Feature Flags (FF).
-
Using FF for Continuous Deployment and Trunk Based Development processes.
-
The categories and characteristics of FF.
-
Launching A/B testing and canary releases with FF.
-
FF’s lifecycle.
-
When to create, enable, and remove feature flags.
-
FF testing.
-
FF management system.
Requirements for the FF management system and its components. What the out-of-the-box solutions for the .NET stack
are.
-
Microsoft.FeatureManagement library for FF management in web applications with microservice architecture.
-
To cover the main functionality I’ll take web applications as an example.
-
What the built-in strategies for enabling features are. How to implement your own strategy.
-
What the extension points are and how we used them to build our own FF management system. Main problems:
how to ensure a uniform state of the FF during the query execution; how to respond to the situation
with client’s request being handled by multiple microservices. How to deliver flags to UI.
Тезисы
-
Общие сведения о Feature Flags (FF).
-
Определение флагов функций (FF). Как они помогают в построении процессов Continuous Deployment и Trunk Based Development.
-
Категории и характеристики фагов.
-
Как с помощью флагов организовать A/B тестирование и канареечные релизы.
-
Жизненный цикл FF.
-
Когда создавать, включать и удалять флаги.
-
Тестирование.
-
Система управления FF.
Какие требования можно выделить к системе управления FF и из чего она должна состоять. Готовые решения
для .NET стека.
-
Использование библиотеки Microsoft.FeatureManagement для управления FF в веб-приложениях с микросервисной
архитектурой.
-
Основной функционал на примере веб-приложений.
-
Встроенные стратегии включения фич. Как реализовать собственную стратегию.
-
Точки расширения и как мы ими воспользовались для построения собственной системы управления FF. Как обеспечить
единое состояние флага в рамках выполнения запроса? Как быть, если клиентский запрос обрабатывается несколькими микросервисами?
Как передавать флаги на UI?
Презентация
(на Я.Диске)