paint-brush
O que são sinalizadores de recursos? Visão geral de um gerente de produtopor@Peculiar
1,647 leituras
1,647 leituras

O que são sinalizadores de recursos? Visão geral de um gerente de produto

Muito longo; Para ler

Os sinalizadores de recurso são um mecanismo que permite ativar e desativar determinadas funcionalidades durante o tempo de execução, sem implantar código. Os sinalizadores de recursos oferecem aos gerentes de produto espaço para experimentar os recursos e simplificar qual público tem acesso a qual recurso é necessário. O uso de sinalizadores de recursos para testes na produção pode ser atenuado, pois o código pode ser implantado por trás dele, oculto dos clientes e, em seguida, implantado em versões canárias.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - O que são sinalizadores de recursos? Visão geral de um gerente de produto
Peculiar Ediomo-Abasi HackerNoon profile picture

Os gerentes de produto procuram constantemente maneiras de agregar mais valor a um produto e oferecer novas experiências de produto aos clientes. Essa entrega contínua ou implantação contínua, se preferir, envolve a capacidade de enviar atualizações de produtos aos clientes, com a expectativa de que a nova funcionalidade funcione bem. Caso contrário, ele é enviado de volta ao desenvolvimento para uma correção.


Os sinalizadores de recursos dão aos gerentes de produto espaço para experimentar os recursos. Ele permite o lançamento gradual e simplifica o público que tem acesso a qual recurso.


Neste artigo, apresentarei um conceito geral do que são sinalizadores de recurso e por que engenheiros e gerentes de produto os consideram valiosos.

O que são sinalizadores de recursos?

Conforme definido com frequência, um sinalizador de recurso geralmente chamado de alternância de recurso é um mecanismo que permite ativar e desativar determinadas funcionalidades durante o tempo de execução, sem implantar código.


Imagem do Medium


Por exemplo, no Meta [anteriormente Facebook], os sinalizadores de recursos desempenham um papel importante. Você notou como quando a Meta anuncia novos recursos, eles lançam testes para uma pequena porcentagem de pessoas e depois expandem gradualmente para mais pessoas globalmente? Essa segmentação de público permite que a empresa valide primeiro com um subconjunto de usuários, pois seria muito arriscado lançar recursos experimentais para seus 3,6 bilhões de usuários ativos mensais.

Casos de uso comuns de sinalizadores de recursos

Os sinalizadores de recursos permitem que as equipes implantem um novo recurso na produção sempre que possível. Vamos explorar alguns casos de uso:

Teste em produção com sinalizadores de recursos

Trata-se de testar seus recursos no ambiente em que seus recursos residirão. Para alguns engenheiros de controle de qualidade e gerentes de produto, inclusive eu, o teste em produção (TiP) pode ser intimidador. É como pisar em ovos. Por razões óbvias, o TiP pode criar vazamentos que expõem vulnerabilidades a usuários reais ou desestabilizam sua experiência.

Imagem do Medium

Com sinalizadores de recursos, possíveis riscos com testes em produção podem ser mitigados, pois o código pode ser implantado por trás dele, oculto dos clientes e, em seguida, implantado em versões canary. Isso dá às equipes de engenharia e produto um controle granular sobre o lançamento de novos recursos com menos risco.


Na verdade, faz sentido não apenas querer saber se seus recursos funcionam em teste, mas também em produção, portanto, testando em produção. O gerenciamento de recursos ajuda você a fornecer sua experiência com recursos e produtos com segurança.

Gerenciando direitos com sinalizadores de recursos

O software como serviço (SaaS) normalmente oferece diferentes planos de assinatura aos clientes. Os planos gratuitos têm recursos básicos, enquanto os planos pagos têm vários conjuntos de recursos de alto nível que constituem os planos.


Imagem de LaunchDarkly

O uso de sinalizadores de recursos para definição de preços para estipular qual plano obtém quais recursos ajuda o processo de gerenciamento desses direitos.

Usando sinalizadores de recurso para experimentação

Isso envolve o lançamento de diferentes versões do mesmo recurso para ver qual delas funciona melhor. Você implementa técnicas como teste A/B e segmentação em recursos implantados [teste A/B na produção].


Imagem do FlagShip

A experimentação de recursos permite comparar recursos para obter informações sobre qual tem a melhor implementação ou é o preferido. Além disso, você pode escrever uma hipótese para um recurso, configurar um experimento para iniciá-lo, medir seu desempenho e iniciá-lo após a validação. Os sinalizadores de recurso ajudam a criar as alterações que se deseja testar. Em seguida, vincular uma métrica ao sinalizador de recurso dá um propósito ao experimento.

Para concluir

A ideia dos sinalizadores de recurso é mitigar o risco, fornecendo uma maneira rápida de ativar ou desativar os recursos, mesmo após a implantação do código. É altamente recomendável usar sinalizadores de recurso com cuidado. Mantenha-os de curta duração em pequenos números para evitar a complexidade.


Revise os sinalizadores com frequência para garantir que os importantes estejam ativados ou desativados de acordo, pois o uso indevido deles pode ter consequências ruins, como visto neste exemplo da vida real: uma empresa com quase US$ 400 milhões em ativos faliu em 45 minutos devido a uma falha implantação. A equipe reaproveitou um sinalizador de recurso usado pelo código antigo para tentar conter um risco operacional.


Agora que você cobriu os conceitos e considerações de sinalizadores de recursos, é importante observar que existem muitas plataformas de sinalizadores de recursos que ajudam a automatizar o gerenciamento de sinalizadores de recursos: split.io, LaunchDarkly, CloudBees, etc.


Conhece uma pessoa não técnica que está tentando entrar no espaço de gerenciamento de produtos? Você pode compartilhar meu artigo anterior sobre o tópico Explorar conceitos técnicos essenciais para gerentes de produto: seu guia para a mente de um desenvolvedor com eles. Obrigado por compartilhar!


Sinta-se à vontade para se conectar comigo no LinkedIn .