TDC - Feature Flags

Integrando o governo, conectando as pessoas.
Como evitar merge hell
com Feature Flags
Luiz Henrique Salazar
Software Developer
Agenda
Integrando o governo, conectando as pessoas.
1. Conceitos:
○ Feature Flags
○ Git Branching Strategies
○ Merge Hell
2. Motivação
3. Aplicação e Ferramentas
Feature Flag
“Feature Toggles (often also refered to
as Feature Flags) are a powerful
technique, allowing teams to modify
system behavior without changing code”
Martin Fowler
https:/
/www.martinfowler.com/articles/feature-toggles.html
Feature Flag
Feature Flag
Podem ser usadas para:
● Deploy de testes A/B;
● Funcionalidades beta;
● Redução de múltiplos deployments ou
rollback de funcionalidades;
● Minimizar falhas de releases com a liberação
de features para pequenos grupos de
usuários.
Git Branching Strategies
Git Flow
Git Branching Strategies
GitHub Flow
Git Branching Strategies
Híbrido:
● Git Flow + GitHub Flow
○ Branch develop
○ Branches de features criados a
partir da master
Merge Hell
Merge Hell
Motivação
Motivação
Demora na homologação
de novas features pelos
clientes
Branches de features
desatualizados
GitLab
● Feature Flags: foi incluída na versão do
Gitlab Community a partir da versão 13.5.
GitLab
● Feature Flags: usuários devem ter, pelo
menos, o perfil de Developer no projeto em
que deseja configurar.
GitLab + Unleash
● GitLab utiliza o Unleash como
serviço de feature flag.
GitLab + Unleash
● GitLab utiliza o Unleash como
serviço de feature flag.
GitLab + Unleash
Aplicação Frontend
● Proxy server (Unleash Proxy) para
intermediar as requisições.
Unleash Proxy
Unleash Proxy
Unleash Proxy
● Deploy no OKD: dockerStrategy
Unleash Proxy
Feature Flag Branching Strategy
Sistema de Recomendação
Feature “Flagged”
Production Ready?
Caveats
● Performance Unleash GitLab
○ 500 requests por minuto
○ Acoplado no servidor do GitLab
(self-managed)
● Alternativa externa ao GitLab
○ Unleash Server
○ Outros (Harness, Flagsmith, etc)
Contato
https:/
/www.linkedin.com/in/luizhsalazar/
luizhsalazar@gmail.com
lsalazar@ciasc.sc.gov.br
Integrando o governo, conectando as pessoas.
Obrigado!
Integrando o governo, conectando as pessoas.
1 sur 28

Recommandé

Modelo de branches e GitFlow par
Modelo de branches e GitFlowModelo de branches e GitFlow
Modelo de branches e GitFlowJoão Pedro Benedetti Misturini
119 vues11 diapositives
Workshop sistema de versionamento de código - git par
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
769 vues20 diapositives
Migração SVN para GIT par
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
468 vues17 diapositives
Testes automatizados.pptx par
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
33 vues50 diapositives
DevOps & Docker com a stack Microsoft par
DevOps & Docker com a stack MicrosoftDevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftGraziella Bonizi
271 vues37 diapositives
Linuxtips - a saideira par
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideiraTalita Bernardes Pereira
201 vues21 diapositives

Contenu connexe

Similaire à TDC - Feature Flags

Developer Experience no Nubank par
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no NubankLetticia Nicoli
287 vues31 diapositives
Git github tortoise git par
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
410 vues26 diapositives
GIT Básico par
GIT BásicoGIT Básico
GIT BásicoAndré Justi
1.1K vues60 diapositives
Projeto e Desenvolvimento de Software par
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareAragon Vieira
173 vues19 diapositives
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend par
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
11.5K vues37 diapositives
Método Ágil Scrum par
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil ScrumFernando Vargas
502 vues8 diapositives

Similaire à TDC - Feature Flags(20)

Git github tortoise git par maxrosan
Git github tortoise gitGit github tortoise git
Git github tortoise git
maxrosan410 vues
Projeto e Desenvolvimento de Software par Aragon Vieira
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
Aragon Vieira173 vues
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend par Thiago Sinésio
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Thiago Sinésio11.5K vues
Apresentação Gerpro par rafahreis
Apresentação GerproApresentação Gerpro
Apresentação Gerpro
rafahreis288 vues
Sistema de Plugins do ExpressoV3. Não espere, faça o seu! par Flávio Lisboa
Sistema de Plugins do ExpressoV3. Não espere, faça o seu!Sistema de Plugins do ExpressoV3. Não espere, faça o seu!
Sistema de Plugins do ExpressoV3. Não espere, faça o seu!
Flávio Lisboa1.1K vues
GLPI Network Suporte Profissional.pdf par DanielaBuxo
GLPI Network Suporte Profissional.pdfGLPI Network Suporte Profissional.pdf
GLPI Network Suporte Profissional.pdf
DanielaBuxo277 vues
Apresentação - Software par matheusvetor
Apresentação - SoftwareApresentação - Software
Apresentação - Software
matheusvetor4.6K vues
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade par André Abe Vicente
ERES 2018 - Microserviços: Desafios para Lidar com a QualidadeERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade
Android DevConference - Automatizando testes sem sofrimento par iMasters
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters281 vues

TDC - Feature Flags