Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NOVO] Subindo versões de maneira segura utilizando features flags #16

Open
tumusx opened this issue Jan 14, 2024 · 2 comments
Open

[NOVO] Subindo versões de maneira segura utilizando features flags #16

tumusx opened this issue Jan 14, 2024 · 2 comments

Comments

@tumusx
Copy link

tumusx commented Jan 14, 2024

Descrição do curso

O curso tem como objetivo o compartilhamento do uso de features flags para subir alterações em produção para uma larga escala de usuários de maneira segura, onde é possível voltar as funcionalidades passadas caso a nova release contenha erros graves.

Tópicos e aulas

  1. Entendendo o que são releases
  • O que são features e hotfixes?
  • Processo de liberação de release
  1. Features flags
  • O que são features flags?
    • Criar um software ou utilizar de terceiros para fazer o gerenciamento de features flags
  • Mudando a forma de pensar da equipe sobre features flags
    • Como lidar com o pensamento de "Código lixo no projeto" da equipe?
  1. Implementando features flags
  • Demonstração utilizando Firebase Remote Config
  • Gerenciando rotas de código de acordo com o valor da feature flag
    • Boas práticas e recomendações
  • É necessário que o usuário saiba dessas alterações?
  1. Gerenciamento de erros e features flags
  • Como saber que o erro é crítico para desabilitar a nova funcionalidade?
  • Utilização de ferramentas de observabilidade
    • Não espere tickets de erro para corrigir a versão
    • Monitore comportamentos inesperados e desabilite a funcionalidade antes do usuário reclamar

Referências

Firebase Remote Config: https://firebase.google.com/docs/remote-config?hl=pt

Observabilidade: https://www.cisco.com/c/pt_br/solutions/full-stack-observability/what-is-observability.html

Crashlytics do Firebase: https://firebase.google.com/docs/crashlytics?hl=pt

AWS CloudWatch: https://aws.amazon.com/pt/cloudwatch/

@BernardoSM
Copy link
Contributor

Opa @tumusx muito obrigado pela contribuição. Esse tema de features flag tá ficando bastante forte em conjunto com trunkbase development + morte do gitflow.

Eu sugiro que assista esse vídeo e talvez você possa ter ideia de mais assuntos para agregar ao tema ou até mesmo ter um novo insight sobre feature flags: https://youtu.be/oNmcX6Gozg0?si=96qEn7UJCxt3p-jb&t=604

@mrarticuno
Copy link
Contributor

Opa @tumusx muito obrigado pela contribuição. Esse tema de features flag tá ficando bastante forte em conjunto com trunkbase development + morte do gitflow.

Eu sugiro que assista esse vídeo e talvez você possa ter ideia de mais assuntos para agregar ao tema ou até mesmo ter um novo insight sobre feature flags: https://youtu.be/oNmcX6Gozg0?si=96qEn7UJCxt3p-jb&t=604

Na real essa justificativa do video para considerar o Trunkbase development é impraticavel, se sua feature demora 2-4 semanas para ficar pronta provavelmente você esta quebrando suas tarefas de forma errada. Outro ponto que isso incorre é no problema de manter tudo na main, que gera uma altissima quantidade de blockers na branch e caga com o history por precisar ficar dando revert em commit pra não quebrar o CD.

Gitflow continua sendo a principal forma de gerenciar repositórios em empresas grandes como AWS, Meta, Netflix... por separar os escopos de time multidiciplinares sem impactar no CD.

Trunkbase eu só indico quando você trabalha com um time de nivel de senioridade alta que não tem que dividir o repositório com outros times/pods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants