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 visualizações11 slides
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 visualizações20 slides
Migração SVN para GIT por
Migração SVN para GITMigração SVN para GIT
Migração SVN para GITDenis Santos
469 visualizações17 slides
Testes automatizados.pptx por
Testes automatizados.pptxTestes automatizados.pptx
Testes automatizados.pptxCarlos Gonzaga
33 visualizações50 slides
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 visualizações37 slides
Linuxtips - a saideira por
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideiraTalita Bernardes Pereira
201 visualizações21 slides

Mais conteúdo relacionado

Similar a TDC - Feature Flags

Developer Experience no Nubank por
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no NubankLetticia Nicoli
288 visualizações31 slides
Git github tortoise git por
Git github tortoise gitGit github tortoise git
Git github tortoise gitmaxrosan
410 visualizações26 slides
GIT Básico por
GIT BásicoGIT Básico
GIT BásicoAndré Justi
1.1K visualizações60 slides
Projeto e Desenvolvimento de Software por
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareAragon Vieira
180 visualizações19 slides
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 visualizações37 slides
Método Ágil Scrum por
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil ScrumFernando Vargas
502 visualizações8 slides

Similar a TDC - Feature Flags(20)

Developer Experience no Nubank por Letticia Nicoli
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
Letticia Nicoli288 visualizações
Git github tortoise git por maxrosan
Git github tortoise gitGit github tortoise git
Git github tortoise git
maxrosan410 visualizações
GIT Básico por André Justi
GIT BásicoGIT Básico
GIT Básico
André Justi1.1K visualizações
Projeto e Desenvolvimento de Software por Aragon Vieira
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
Aragon Vieira180 visualizações
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 visualizações
Método Ágil Scrum por Fernando Vargas
Método Ágil ScrumMétodo Ágil Scrum
Método Ágil Scrum
Fernando Vargas502 visualizações
Apresentação Gerpro por rafahreis
Apresentação GerproApresentação Gerpro
Apresentação Gerpro
rafahreis288 visualizações
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
Fernando Fernández4 visualizações
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 visualizações
GLPI Network Suporte Profissional.pdf por DanielaBuxo
GLPI Network Suporte Profissional.pdfGLPI Network Suporte Profissional.pdf
GLPI Network Suporte Profissional.pdf
DanielaBuxo283 visualizações
Falando sobre DevOps no azure por Ricardo Martins ☁
Falando sobre DevOps no azureFalando sobre DevOps no azure
Falando sobre DevOps no azure
Ricardo Martins ☁347 visualizações
Apresentação - Software por matheusvetor
Apresentação - SoftwareApresentação - Software
Apresentação - Software
matheusvetor4.6K visualizações
Git e boas praticas! por Vitor Silva
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
Vitor Silva691 visualizações
Gwt parte 02 por Rafael Adriano
Gwt   parte 02Gwt   parte 02
Gwt parte 02
Rafael Adriano537 visualizações
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 visualizações
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 visualizações
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 (...
Joao Galdino Mello de Souza101 visualizações

Último

certificado excel.pdf por
certificado excel.pdfcertificado excel.pdf
certificado excel.pdfjuniorcarvalho136
5 visualizações1 slide
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 visualizações3 slides
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
6 visualizações14 slides
Conheça agora o UiPath Autopilot™ para o Studio.pdf por
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.pdfBrunaCavalcanti29
14 visualizações8 slides
Shift left DevOps Experience por
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps ExperienceWalter Coan
5 visualizações19 slides
VIRTUS 1.6 MSI.pdf por
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdfFbioVieira85
5 visualizações13 slides

Último(8)

certificado excel.pdf por juniorcarvalho136
certificado excel.pdfcertificado excel.pdf
certificado excel.pdf
juniorcarvalho1365 visualizações
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023 por AcademicaDlaUnicesum
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
AcademicaDlaUnicesum6 visualizações
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 Coan6 visualizações
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 visualizações
Shift left DevOps Experience por Walter Coan
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan5 visualizações
VIRTUS 1.6 MSI.pdf por FbioVieira85
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdf
FbioVieira855 visualizações
ProxySQL no MySQL: Apenas um load balancer? por Roberto Garcia de Bem
ProxySQL no MySQL: Apenas um load balancer?ProxySQL no MySQL: Apenas um load balancer?
ProxySQL no MySQL: Apenas um load balancer?
Roberto Garcia de Bem6 visualizações
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 Coan36 visualizações

TDC - Feature Flags