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 de 28

Recomendados

Modelo de branches e GitFlow por
Modelo de branches e GitFlowModelo de branches e GitFlow
Modelo de branches e GitFlowJoão Pedro Benedetti Misturini
119 vistas11 diapositivas
Workshop sistema de versionamento de código - git por
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 vistas20 diapositivas
Migração SVN para GIT por
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
468 vistas17 diapositivas
Testes automatizados.pptx por
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
33 vistas50 diapositivas
DevOps & Docker com a stack Microsoft por
DevOps & Docker com a stack MicrosoftDevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftGraziella Bonizi
271 vistas37 diapositivas
Linuxtips - a saideira por
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideiraTalita Bernardes Pereira
201 vistas21 diapositivas

Más contenido relacionado

Similar a TDC - Feature Flags

Developer Experience no Nubank por
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no NubankLetticia Nicoli
287 vistas31 diapositivas
Git github tortoise git por
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
410 vistas26 diapositivas
GIT Básico por
GIT BásicoGIT Básico
GIT BásicoAndré Justi
1.1K vistas60 diapositivas
Projeto e Desenvolvimento de Software por
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareAragon Vieira
178 vistas19 diapositivas
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend por
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 vistas37 diapositivas
Método Ágil Scrum por
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil ScrumFernando Vargas
502 vistas8 diapositivas

Similar a TDC - Feature Flags(20)

Git github tortoise git por maxrosan
Git github tortoise gitGit github tortoise git
Git github tortoise git
maxrosan410 vistas
Projeto e Desenvolvimento de Software por Aragon Vieira
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
Aragon Vieira178 vistas
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend por 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 vistas
Apresentação Gerpro por rafahreis
Apresentação GerproApresentação Gerpro
Apresentação Gerpro
rafahreis288 vistas
LPUG #18 - Agenda e Community Updates - 2023-01-18.pdf por Fernando Fernández
LPUG #18 - Agenda e Community Updates - 2023-01-18.pdfLPUG #18 - Agenda e Community Updates - 2023-01-18.pdf
LPUG #18 - Agenda e Community Updates - 2023-01-18.pdf
Sistema de Plugins do ExpressoV3. Não espere, faça o seu! por 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 vistas
GLPI Network Suporte Profissional.pdf por DanielaBuxo
GLPI Network Suporte Profissional.pdfGLPI Network Suporte Profissional.pdf
GLPI Network Suporte Profissional.pdf
DanielaBuxo280 vistas
Apresentação - Software por matheusvetor
Apresentação - SoftwareApresentação - Software
Apresentação - Software
matheusvetor4.6K vistas
Git e boas praticas! por Vitor Silva
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
Vitor Silva691 vistas
ERES 2018 - Microserviços: Desafios para Lidar com a Qualidade por 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
André Abe Vicente118 vistas
Android DevConference - Automatizando testes sem sofrimento por iMasters
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
iMasters281 vistas
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (... por Joao Galdino Mello de Souza
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...
Scaling Multi-Cloud with Infrastructure as a Code por André Rocha Agostinho (...

Último

Shift left DevOps Experience por
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps ExperienceWalter Coan
5 vistas19 diapositivas
TechConnection 2023 Floripa Azure Container Apps por
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsWalter Coan
5 vistas14 diapositivas
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 por
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023AcademiaDL
89 vistas4 diapositivas
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023 por
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023AcademicaDlaUnicesum
6 vistas3 diapositivas
DevFest2023-Pragmatismo da Internet das Coisas por
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasWalter Coan
24 vistas40 diapositivas
VIRTUS 1.6 MSI.pdf por
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdfFbioVieira85
5 vistas13 diapositivas

Último(10)

Shift left DevOps Experience por Walter Coan
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan5 vistas
TechConnection 2023 Floripa Azure Container Apps por Walter Coan
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
Walter Coan5 vistas
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023 por AcademiaDL
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
MAPA - CONTABILIDADE EMPRESARIAL - 54/2023
AcademiaDL89 vistas
DevFest2023-Pragmatismo da Internet das Coisas por Walter Coan
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
Walter Coan24 vistas
Conheça agora o UiPath Autopilot™ para o Studio.pdf por BrunaCavalcanti29
Conheça agora o UiPath Autopilot™ para o Studio.pdfConheça agora o UiPath Autopilot™ para o Studio.pdf
Conheça agora o UiPath Autopilot™ para o Studio.pdf
BrunaCavalcanti2914 vistas
Skills e Squads, como trabalhar? por Annelise Gripp
Skills e Squads, como trabalhar?Skills e Squads, como trabalhar?
Skills e Squads, como trabalhar?
Annelise Gripp32 vistas

TDC - Feature Flags