BLOG | ESCRITÓRIO DO DIRETOR DE TECNOLOGIA

Quando a complexidade vira um problema: Como a expansão descontrolada dos processos operacionais compromete desempenho e entrega

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 30 de julho de 2025

No mundo em constante transformação da entrega de aplicações, as organizações investem fortemente em infraestrutura moderna, aplicações e automação inteligente. Mesmo com esse investimento, muitas ainda enfrentam problemas que já deveriam estar resolvidos: sistemas que falham sob pressão, políticas de implantação que não funcionam em todos os ambientes e fluxos de trabalho que travam quando a agilidade é essencial.

Dois dos dez maiores desafios de entrega que as organizações enfrentam hoje são especialmente reveladores: falta de tolerância a falhas e resiliência, além de políticas de entrega incompatíveis. À primeira vista, isso pode parecer problema de infraestrutura ou ferramentas, mas, ao aprofundar, você percebe que são sintomas de uma falha estrutural mais profunda: a complexidade do fluxo de trabalho operacional.

Essa complexidade vai além de um simples incômodo. Ela reduz significativamente o desempenho em tempo real, compromete a consistência na aplicação de políticas e impede que sua organização aproveite totalmente os investimentos em transformação digital.

A complexidade representa o maior desafio operacional

Complexidade do fluxo de trabalhoEm nossa pesquisa mais recente, 54,8% dos entrevistados disseram que o maior desafio no design dos fluxos de trabalho operacionais para entrega e segurança das aplicações é "ter tarefas demais no processo". Isso equivale a mais da metade dos decisores e implementadores de TI reconhecendo que seus sistemas são complexos demais para funcionar com eficiência.

E esse não é o único indicativo. Quase o mesmo número, 53,6%, afirmou que "há muitas APIs diferentes" nos seus fluxos de trabalho. Outros 45,3% apontaram "a necessidade de muitas linguagens diferentes" como o principal desafio. Isso mostra a fragmentação na camada operacional: ferramentas distintas, sintaxes variadas, responsáveis diferentes. Tudo isso gera complexidade e aumenta os riscos.

Esses números preocupam quem valoriza disponibilidade, experiência do usuário e agilidade operacional.

Como a complexidade prejudica a resiliência

Comecemos com ADC02 Falta de Tolerância a Falhas e Resiliência. Em uma pilha moderna típica de aplicações, você terá cerca de meia dúzia de camadas distintas responsáveis por roteamento, balanceamento de carga, descoberta de serviços, autenticação, telemetria e aplicação de políticas. Cada uma dessas camadas pode estar sob responsabilidade de uma equipe diferente. Cada equipe pode usar sua própria API, seu processo específico de controle de mudanças e sua própria linguagem.

O que fazer quando algo sai do planejado?

O failover não acionou porque a dependência upstream não identificou a falha do nó. Um novo modelo de implantação redirecionou o tráfego incorretamente porque a malha de serviços estava dessincronizada com o balanceador de carga. Um pico de latência demorou minutos para ser isolado porque configuramos as ferramentas de observabilidade de forma inconsistente entre as camadas.

Esses casos não são exceções isoladas. São falhas operacionais cotidianas causadas pela dispersão dos fluxos de trabalho. E estão diretamente ligados ao dado que mostra que 29% dos entrevistados ainda dependem de scripts personalizados para sustentar a automação. Isso é um alerta sério. Criar scripts para lidar com complexidade não é automação, é uma solução frágil. Eles falham quando o ambiente muda e atrasam a recuperação ao degradar o desempenho.

Quando os fluxos operacionais acumulam repasses manuais, conhecimento restrito e correções manuais, não existe verdadeira tolerância a falhas. Só restar esperança.

Quando as políticas não viajam junto com o app

Quando a maioria das pessoas ouve “desvio de política”, elas pensam em segurança. Mas desvios nas políticas de entrega das aplicações — como regras de roteamento de tráfego, comportamento de balanceamento de carga ou configurações de limitação de taxa — podem causar danos tão sérios quanto. Essa é uma das causas das Políticas de Entrega Incompatíveis do ADC07.

Em um pipeline bem coordenado, as políticas acompanham a aplicação do desenvolvimento para staging e produção. Na prática, porém, as transferências entre ambientes costumam ser manuais, inconsistentes e dependentes de ferramentas. Uma regra de balanceamento de carga definida em staging pode não coincidir com o que está configurado na nuvem pública. Uma política de roteamento testada no desenvolvimento pode ser esquecida na produção devido a restrições do ambiente ou descuido. Limites de liberação canary, comportamentos de cache, lógica de failover — todas essas são políticas da camada de entrega que frequentemente se alteram durante a implantação.

A causa raiz é a mesma destacada no Relatório F5 2025 sobre o Estado da Estratégia de Aplicações: complexidade. Com 45,3% dos entrevistados apontando “necessidade de muitas linguagens diferentes” e 53,6% mencionando “excesso de APIs diferentes”, fica evidente que os fluxos de entrega estão fragmentados entre diversos ecossistemas de ferramentas. Cada ambiente pode usar modelos de configuração ou plataformas de infraestrutura como código distintas, exigindo tradução em todas as etapas.

A tradução traz riscos. Ela também causa atrasos. Quando você precisa reescrever ou adaptar manualmente políticas de entrega entre sistemas, a consistência da implantação sofre. Em sistemas distribuídos, a inconsistência costuma ser pior que a falha — porque gera comportamentos imprevisíveis.

Imagine uma implantação multirregional em que você aplica uma política de direcionamento de tráfego apenas em uma zona. Ou uma aplicação global com regras de cache inconsistentes nos nós de borda. Isso causa uma experiência ruim para o usuário, difícil de identificar e ainda mais de resolver.

Para avançar rapidamente sem causar problemas, sua organização precisa de políticas de entrega declarativas, portáteis e aplicadas de forma uniforme em todos os níveis da pilha. Isso não acontece quando os fluxos de trabalho dependem de diversas etapas manuais e de lógicas específicas para cada equipe.

Enquanto tratarmos as políticas de entrega como segunda classe — não colocando-as no mesmo nível do código das aplicações e da configuração da infraestrutura — as organizações vão enfrentar problemas com desvios, paradas e atrasos na entrega. O primeiro e mais importante passo é simplificar esses fluxos de trabalho.

Simplificar não é mais uma opção

Reduzir a complexidade do fluxo de trabalho não é apenas sobre organizar o diagrama da arquitetura ou deixar as equipes de operações mais satisfeitas (embora faça as duas coisas). É entregar o que importa na infraestrutura moderna de aplicações: velocidade, resiliência e consistência.

Organizações que buscam melhorar o desempenho em tempo de execução e garantir uma entrega previsível precisam avaliar cuidadosamente quantas ferramentas, equipes e transferências estão envolvidas nos seus pipelines. E, mais importante, devem perguntar-se: quantas dessas etapas realmente agregam valor e quantas apenas contornam limitações do sistema?

A resposta nem sempre está em uma nova ferramenta. Às vezes, são menos ferramentas. Às vezes é uma plataforma única e unificada que executa a lógica de entrega com a mesma sintaxe e comportamento em todos os ambientes. Às vezes, automatizamos não apenas a implantação, mas também a governança, para que as políticas de entrega sejam aplicadas como código, não como uma lista de verificação.

A simplificação é o caminho para uma entrega resiliente e confiável. Enquanto não encararmos a complexidade como um risco crítico, ela seguirá desgastando tudo o que construímos sobre ela.