Continuamos falando sobre sinalizadores de recursos (FF) - interruptores no código que iniciam e desativam recursos do produto. Desta vez, queremos falar sobre nossa solução - um portal de sinalizadores de recursos que permite que clientes empresariais gerenciem o estado do FF e, portanto, a funcionalidade do produto.
Em nosso primeiro artigo sobre Feature Flags, falamos sobre como essa ferramenta ajuda a agilizar o lançamento de novos recursos, aumentar a competitividade do produto e, em geral, simplificar os processos na equipe. Agora, lançamos em produção piloto um portal para gerenciar sinalizadores de recursos. E queremos falar sobre essa decisão.
Sinalizador de recurso é um bloco IF que executa um trecho de código quando uma determinada condição é atendida. O mais simples é que o próprio desenvolvedor prescreva se deseja habilitar ou desabilitar o código. Pode haver parâmetros mais complexos: por exemplo, de acordo com uma programação ou apenas para usuários com esse ou aquele nível de acesso. Ou vice-versa - o recurso é desativado se a carga no sistema exceder o limite especificado.
A ideia por trás do portal de sinalizadores de recursos é permitir que os proprietários do produto entrem ou desabilitem recursos por conta própria, sem envolver a equipe de desenvolvimento. No portal, o cliente vê apenas funções que estão prontas para aceitação e implementação. Para ele, este é um guia para ação - teste ou habilite funcionalidade. E no momento certo, ele muda seu flag de forma independente, e a função começa a funcionar no produto.
Essa mecânica ajuda a equipe de desenvolvimento a mudar o estilo de trabalho: mudar para micro-lançamentos e ir além do escopo do contrato de entrega com o cliente. A tarefa é colocada à venda assim que estiver pronta. O cliente gerencia a aceitação e inclusão de recursos no mercado. Todos estão fazendo seu trabalho sem bloquear uns aos outros.
. , , . – , , .
-
A/B- -. – , .
. . , .
. . , , .
. , .
MVP- -, . .
, MVP :
– . configMap namespace . , configMaps, .
- – .
– , - .
( ) – .
:
, – Cloud Native , Kubernetes. , , .
–
Temos SDKs prontos para .NET e Java, com os quais nossas equipes podem iniciar rapidamente a lógica de trabalhar com sinalizadores de recursos em seus produtos. Isso inclui não apenas o mecanismo para alterná-los, mas também o contexto de uso de alto nível. Por exemplo, para que o estado de um recurso não mude no momento em que o usuário está trabalhando com ele e o processo não trave. E esses SDKs fornecem aos nossos clientes a oportunidade de experimentar o portal em seus produtos.