Bom o bastante só é bom o bastante até deixar de ser

Ecossistema F5 | 08 de junho de 2017

Vamos falar de peru. Ou ovos de chocolate com recheio cremoso. Ou caixas de bombons. O que eles têm em comum? É claro que todos estão associados a datas comemorativas. E, ao que tudo indica, essas datas são as maiores responsáveis tanto pelos lucros quanto pelo baixo desempenho dos sites.

Considere uma pesquisa recente do Reino Unido, “que envolveu mais de 100 tomadores de decisão do comércio eletrônico”. Ela “revelou que mais da metade (58%) admitiu ter enfrentado problemas de velocidade no site durante o período de pico do ano passado”.

Todos sabemos que o desempenho é importante e que até mesmo microssegundos de atraso resultam em milhões de dólares em prejuízos. Não é preciso dizer mais nada.

A questão é: o que você pode fazer a respeito?

A resposta está em lembrar o Axioma Operacional nº 2: à medida que a carga aumenta, o desempenho diminui.

Não importa se o servidor de aplicações está sendo executado na nuvem ou no data center, em uma máquina virtual ou em um contêiner. Esse axioma é um axioma porque é sempre verdadeiro. Não importa o que aconteça. Quanto mais carga você impõe a um sistema, mais lentamente ele funciona. Ponto final.

A chave para melhorar o desempenho é equilibrar a necessidade de manter os custos baixos, maximizando a carga e, ao mesmo tempo, otimizando o desempenho. Na maioria dos casos, isso significa usar todas as ferramentas disponíveis para restabelecer esse equilíbrio, especialmente durante os períodos de pico (que sobrecarregam bastante os sistemas, independentemente de onde estejam).

axioma op 2

1. Equilibre a carga

É por isso que serviços de aplicativos apenas razoáveis (rudimentares) não são suficientes. Embora muitas vezes sejam escalonados sem esforço, eles não necessariamente conseguem de fato equilibrar a carga entre os recursos disponíveis. Eles não necessariamente oferecem a inteligência necessária para selecionar recursos com base no desempenho ou na carga existente. Seu “melhor esforço” não é muito melhor do que escolher ao acaso.

Balancear a carga exige compreender a carga existente para que as novas solicitações sejam direcionadas ao recurso com maior probabilidade de responder o mais rápido possível. O balanceamento de carga básico não consegue fazer isso porque se concentra exclusivamente em decisões baseadas em algoritmos, que raramente consideram algo além da ponderação estática dos recursos disponíveis. Decisões em tempo real exigem informações em tempo real sobre a carga existente neste exato momento. Caso contrário, você não está balanceando a carga, mas apenas distribuindo a carga.

2. Reduza a carga

Mais do que apenas selecionar recursos, é preciso melhorar o desempenho e, ao mesmo tempo, balancear a carga. Também é fundamental poder empregar diversas funções de aprimoramento de protocolos que reduzam a carga sem comprometer a disponibilidade. Multiplexar e reutilizar conexões TCP, transferir o processamento de criptografia e segurança e delegar as tarefas de compactação a serviços upstream aliviam a sobrecarga dos serviços de aplicativos e da Web, liberando recursos e gerando impactos reais no desempenho.

Os servidores devem servir, estejam eles na nuvem ou no data center, sendo executados em um contêiner ou em uma máquina virtual. A criptografia e a compactação ainda são funções que exigem muito processamento e podem ser realizadas por serviços upstream desenvolvidos para essa finalidade.

3. Elimine a carga

Eliminar saltos adicionais no caminho de solicitação e resposta também melhora o desempenho. Sim, é possível escalar horizontalmente usando serviços de balanceamento de carga, mas isso acrescenta à equação outra camada de tomada de decisão (roteamento), que consome tempo tanto na execução (qual destes deve atender a esta solicitação?) quanto na transferência (enviá-la pela rede para aquele servidor). Isso significa menos tempo para o servidor web ou de aplicativos fazer seu trabalho, que era tudo o que realmente queríamos desde o início. Sob uma carga típica, as diferenças entre um sistema gerenciando um milhão de conexões e dez sistemas gerenciando, cada um, uma parte desse mesmo volume podem ser insignificantes. Até que a demanda aumente a carga e os axiomas operacionais também entrem em ação. Afinal, não é apenas a carga no servidor web ou de aplicativos que contribui para o baixo desempenho, mas toda a cadeia de entrega do aplicativo.

Quanto maior for a capacidade (conexões) que seu serviço de balanceamento de carga puder processar simultaneamente, menos instâncias serão necessárias. Isso reduz a sobrecarga de gerenciar mais uma camada de recursos que exige tanta atenção cuidadosa ao axioma operacional nº 2 quanto qualquer outro serviço.

O desempenho continua sendo uma questão importante para os varejistas e, com a rápida expansão da economia digital, ele se tornará (se já não for) uma preocupação para todos que têm presença digital. Na correria que sempre antecede os feriados, as pessoas ficam ainda menos tolerantes a um desempenho insatisfatório. O que era bom o suficiente no dia anterior deixa de ser. Na maioria das vezes, os problemas de desempenho não são culpa da aplicação, mas sim da arquitetura e dos serviços usados para disponibilizá-la e protegê-la. Ao usar os serviços certos, com o conjunto adequado de recursos, as organizações têm mais chances de evitar problemas de desempenho sob cargas elevadas.

Bom o bastante é bom o bastante, até deixar de ser. Aí já é tarde demais para convencer clientes frustrados a voltar. Eles já encontraram outro fornecedor para aquilo que você estava tentando vender.

Compartilhar
Tags: 2017

Sobre o autor

Lori Mac Vittie
Lori Mac VittieEngenheiro Emérito e Evangelista-Chefe | F5

Lori MacVittie é engenheira distinta e evangelista-chefe no Escritório do CTO da F5, com ampla experiência em entrega de aplicações, estratégia de automação e infraestrutura. Ela é conhecida por transformar complexidade em clareza, seja definindo diretrizes para agentes de IA, analisando arquiteturas multinuvem frágeis ou investigando os limites de sistemas escaláveis. Ela acumula mais de trinta anos de experiência no setor, abrangendo desenvolvimento de aplicações, arquitetura de TI e operações de redes e sistemas. Antes de ingressar na F5, atuou como editora de tecnologia e recebeu diversos prêmios. MacVittie tem mestrado em Ciência da Computação e é uma autora prolífica, com publicações que abrangem segurança, nuvem e arquitetura empresarial. Ela também é uma entusiasta de jogos de tabuleiro e videogames, além de ter opiniões assumidamente fortes sobre queijos.

Mais publicações de Lori Mac Vittie

Publicações relacionadas no blog

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros
Ecossistema F5 | 21/10/2026

Entrega e proteção de agentes de IA em fábricas de IA: F5 para a arquitetura de referência NVIDIA OpenShell para agentes de IA seguros

As soluções da F5 ampliam a Arquitetura de Referência NVIDIA OpenShell para agentes de IA seguros.

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes
Ecossistema F5 | 10/12/2020

Como medir – e minimizar – o custo total de propriedade do seu Kubernetes

O Kubernetes pode ser baixado e executado gratuitamente, mas sua manutenção está longe de não ter custos. Assim como outras grandes plataformas de código aberto que são “gratuitas” apenas em um sentido simplista, o Kubernetes quase certamente exigirá investimentos para ser implantado e operado.

As-Code: a pilha de TI contínua
Ecossistema F5 | 08/10/2018

As-Code: a pilha de TI contínua

Infraestrutura, configuração, pipeline, operações. De repente, tudo é “como código”. Lori MacVittie busca esclarecer a terminologia e identificar os diferentes componentes de uma stack contínua de TI.

O estado da entrega de aplicações em 2017: automação, APIs e DevOps
Ecossistema F5 | 17/04/2017

O estado da entrega de aplicações em 2017: automação, APIs e DevOps

Explore o relatório State of Application Delivery de 2017. Leia o blog retrospectivo da F5 sobre o início da ascensão das redes declarativas e dos pipelines de DevOps.

DevOps Summit: onde a rede foi convidada para a festa
Ecossistema F5 | 11/06/2015

DevOps Summit: onde a rede foi convidada para a festa

No DevOps Summit NY, falou-se muito não apenas sobre DevOps, mas também sobre contêineres, IoT e microsserviços. As sessões se concentraram não só na mudança cultural necessária para crescer em escala com uma abordagem DevOps, mas também fizeram questão de incluir...

F5 e Nutanix convergem em infraestrutura no .NEXT
Ecossistema F5 | 08/06/2015

F5 e Nutanix convergem em infraestrutura no .NEXT

Aplicações empresariais como Microsoft SharePoint e Exchange, juntamente com a VDI, continuam sendo a espinha dorsal da sua empresa. A produtividade, embora não seja tão atraente quanto o lucro, é um fator essencial para o sucesso das operações empresariais atuais. Deixar de...