Otimizando a experiência do aplicativo para usuários finais: Uma paisagem em mudança

INTRODUÇÃO

Desde o seu início, a Internet evoluiu em ciclos cada vez mais rápidos, melhorando o processo de entrega de aplicativos e aumentando a interatividade, impulsionada pelos avanços na tecnologia e nas forças de mercado. As empresas e o governo devem trabalhar para acompanhar as expectativas dos usuários e as pressões competitivas. Tecnologias mais antigas que impediam a experiência do usuário (por exemplo, Adobe Flash, HTTP/1.x) ficaram para trás, e tecnologias mais novas (por exemplo, HTML5), mais adaptadas à experiência do usuário, assumiram o controle.

Neste artigo, quantificaremos algumas das mudanças mais recentes que afetam a experiência do usuário, que os grupos de TI devem entender para fins operacionais e de planejamento em 2017 e além:

  • A ubiquidade das redes de distribuição de conteúdo (CDNs)
  • Atualizações de rede de provedores de serviços e data centers
  • “Última milha” mais rápida e acesso móvel
  • Protocolo HTTP atualizado projetado para desempenho
  • Evolução do relacionamento cliente-servidor
CDNs em todos os lugares

Os fornecedores de CDN expandiram rapidamente o número de pontos de presença (PoPs) que operam, principalmente perto de centros populacionais, para reduzir a latência (~30 ms em muitos casos) na entrega de conteúdo aos usuários. Abaixo está uma lista dos CDNs mais populares que construíram infraestrutura em todo o mundo para garantir entrega rápida de conteúdo .1

Principais fornecedores e locais de CDN
Figura 1: Principais fornecedores e locais de CDN

À medida que as CDNs aumentaram o número de PoPs que operam, bem como sua proximidade com os usuários, e à medida que a base de usuários de aplicativos se tornou global, os sites aumentaram sua dependência das CDNs. Em março de 2015, 11% do conteúdo HTML disponível na Internet estava hospedado em CDNs.2 Em 2016, esse número subiu para 17% e, em março de 2017, o conteúdo HTML hospedado por CDNs atingiu 20%. Em menos de dois anos, a quantidade de conteúdo HTML hospedado em CDNs quase dobrou, uma tendência que reduziu bastante a latência para entrega de conteúdo aos usuários.

Redes de provedores de serviços e data centers atualizadas

A implementação de portas Ethernet 10G/40G/100G (e switches e roteadores de maior capacidade correspondentes) melhorou drasticamente o desempenho da Internet para redes corporativas, conexões WAN e terminais localizados remotamente. Nos próximos quatro anos, as redes empresariais e de provedores de serviços continuarão a ser atualizadas para conexões de 25G e 100G, e a capacidade de largura de banda será quase 5 vezes maior do que em 2015.3

10GE ainda é o rei dos portos
Figura 2: 10GE ainda é o rei dos portos

O investimento na atualização do data center e da infraestrutura de ponta atenuou o problema das redes de provedores de serviços e dos data centers corporativos serem gargalos para o tráfego de aplicativos que vai para o cliente.

“Última milha” mais rápida e acesso móvel

Devido ao aumento da concorrência, os provedores de serviços de Internet (ISPs) e operadoras de telefonia móvel em todo o mundo aumentaram as velocidades de download para a “última milha” (a etapa final das redes de telecomunicações que fornecem conectividade aos clientes) e usuários móveis. Abaixo estão gráficos mostrando o desempenho de downloads de ISPs em 2015 nos EUA, Ásia e Europa.4

NÓS.
Velocidade média de conexão por estado
Figura 3: Velocidade média de conexão por estado
Velocidade média de pico de conexão por estado
Figura 4: Velocidade média de pico de conexão por estado
Ásia
Velocidade média de conexão por país/região da APAC
Figura 5: Velocidade média de conexão por país/região da APAC
Velocidade média de pico de conexão por país/região da APAC
Figura 6: Velocidade média de pico de conexão por país/região da APAC
Europa
Velocidade média de conexão por país EMEA
Figura 7: Velocidade média de conexão por país EMEA
Velocidade média de pico de conexão por país EMEA
Figura 8: Velocidade média de pico de conexão por país EMEA

Em todo o mundo, a “última milha” da conectividade com a Internet ficou muito mais rápida do que antes e a largura de banda disponível hoje ajuda a impulsionar uma experiência aprimorada do usuário com aplicativos da web.

Protocolo HTTP atualizado projetado para desempenho (HTTP/2)

O desenvolvimento da especificação HTTP/2 foi impulsionado principalmente por problemas de desempenho com o HTTP1.x. Em 2012, o Google desenvolveu e propagou o SPDY para otimizar a entrega de conteúdo da web e tentar anular as ineficiências do design anterior do protocolo HTTP 1.1. O HTTP/2 se baseia no SPDY com foco principal na redução da latência e do número de conexões TCP, mantendo a compatibilidade com o HTTP/1.1. 

Impulsionado pelo objetivo de melhoria de desempenho, o protocolo HTTP/2 inclui as seguintes alterações:

  • Multiplexação: Fornece múltiplas interações em uma única conexão TCP (como o que o SPDY entregou).
  • Compressão de cabeçalho: Reduz a redundância de enviar os mesmos cabeçalhos repetidamente (por exemplo, URL de solicitação, agente do usuário e cookies).
  • Empurrão do servidor: Permite o envio proativo de conteúdo pelo servidor para o ponto de extremidade, considerando o conteúdo solicitado e as dependências de origem (por exemplo, arquivos JS e CSS).
  • Priorização de recursos: Prioriza a entrega com base no tipo/conteúdo usando pesos e dependências para otimizar a entrega e a renderização.

Os principais fornecedores de navegadores da Web anunciaram cronogramas (veja a tabela abaixo) para incorporar o suporte ao HTTP/2 depois que a especificação do protocolo foi ratificada pela IETF em meados de 2015.

Suporte HTTP/2 por fornecedores de navegadores
Figura 9: Suporte HTTP/2 por fornecedores de navegadores

As solicitações HTTP/2 para servidores web de navegadores web de endpoint começaram no início de 2016 e aumentaram com o lançamento e a adoção de navegadores web habilitados para a nova especificação. As solicitações atualizadas do navegador da Web para servidores da Web são feitas primeiro em HTTP/2 com negociação de volta para HTTP/1.x. Na figura abaixo, detalhamos o crescimento da interação HTTP/2 (entre servidor e endpoint) de sites do mundo todo.5

Crescimento em solicitações HTTP/2 para servidores web
Figura 10: Crescimento em solicitações HTTP/2 para servidores web
Os aprimoramentos na especificação HTTP/2 resultam em um desempenho de 80% a 1000% mais rápido do que em uma infraestrutura baseada em HTTP/1.x. Para ter uma ideia de como as mudanças nas especificações afetam o desempenho no mundo real, execute esta análise simples de HTTP vs. Teste HTTPS da Anthum que demonstra as diferenças entre as duas versões do protocolo.
Evolução do relacionamento cliente-servidor

Além dessas melhorias de infraestrutura e protocolo, a composição real dos aplicativos também está mudando. Embora a aceleração “front end” já tenha sido necessária porque os aplicativos mais antigos “empurravam” tudo para o cliente, o aplicativo moderno é distribuído entre os dois componentes principais (cliente e servidor) a ponto de 90% das trocas com um aplicativo (por meio de API ou de um navegador) envolverem pequenos blocos de dados.

Muito pouco “conteúdo” é entregue além do primeiro carregamento; a maior parte da camada de apresentação (a IU) pode ser manipulada por meio de bibliotecas JavaScript no cliente (JQuery, Angular, etc…). Isso significa que a quantidade e o tipo de dados nas respostas (o principal alvo das tecnologias de aceleração de front-end) diminuíram drasticamente e agora são principalmente JSON ou XML, não HTML.

Evolução das arquiteturas de aplicações e seu impacto nas responsabilidades cliente-servidor
Figura 11: Evolução das arquiteturas de aplicações e seu impacto nas responsabilidades cliente-servidor

Devido a essa mudança arquitetônica, a porcentagem de aplicativos HTML hoje está diminuindo, enquanto outros tipos de composição estão aumentando (veja a figura abaixo).6

Composição de páginas por tipo de conteúdo em KB
Figura 12: Composição de páginas por tipo de conteúdo em KB

Como uma quantidade significativa de JavaScript (e HTML) está sendo entregue via CDNs — porque os desenvolvedores incluem os scripts da Internet em vez de localmente — isso torna as técnicas de aceleração de front-end direcionadas a esse conteúdo menos consequentes para aplicativos modernos.

Com o surgimento de dispositivos móveis e a migração de tecnologias anteriores (por exemplo, Adobe Flash) para HTML5, grupos de aplicativos de TI começaram a desenvolver aplicativos Web de página única para serem entregues ao navegador. Esses aplicativos da Web de página única normalmente não exigem que a página seja recarregada enquanto o usuário navega pelas diferentes partes do aplicativo. Os resultados são navegação mais rápida, transferências de rede mais eficientes e uma melhor experiência do usuário final.7 Hoje em dia, a maioria dos aplicativos da web são desenvolvidos com um design de “uma página” em mente.

Criando a experiência ideal de aplicação para o usuário final em 2017 e além

Para criar e manter a experiência ideal do usuário final para os aplicativos baseados na Web sob o controle das operações de TI, as seguintes tecnologias e práticas devem ser empregadas.

Padronize servidores web no protocolo HTTP/2.

Atualizar a infraestrutura da web para o padrão HTTP/2 resolverá os problemas de desempenho do lado do servidor que afetavam o HTTP/1 e o HTTP/1.1. Além de um melhor gerenciamento de conexão, o HTTP/2 permite que os designers de aplicativos da Web priorizem para garantir a entrega otimizada de conteúdo e criem dentro dos navegadores da Web do ponto de extremidade.

Defina um padrão mínimo para navegadores da web para garantir que somente solicitações baseadas em HTTP/2 sejam feitas.

Pressionar internamente (por exemplo, funcionários e/ou contratados) ou externamente (por exemplo, clientes e parceiros) para atualizar seus navegadores para versões que suportem solicitações HTTP/2 eliminará a negociação automática de volta para HTTP/1.1 ou 1.0 e a transferência de dados menos eficiente.

Valide se os fornecedores de SaaS implementaram o HTTP/2 em todos os aplicativos da web.

Novamente, evitar a negociação automática de volta para HTTP/1.1 e 1.0 ajudará a impulsionar melhor desempenho e melhor experiência do usuário.

Certifique-se de que seu fornecedor de CDN tenha PoPs alinhados geograficamente com a localização de seus usuários e clientes.

Utilizar um fornecedor de CDN que tenha uma rede de PoPs alinhada geograficamente a funcionários, contratados e clientes reduzirá a latência nas interações entre navegadores da web e PoPs de CDN.

Considere a tecnologia de cache em dispositivos baseados em rede.

Aproveitar a tecnologia de cache integrado em dispositivos de rede na frente de aplicativos ajudará a impulsionar o desempenho do conteúdo estático necessário em páginas da web.

Avalie caches web de código aberto de baixo custo.

Se o armazenamento em cache for necessário, considere usar um cache da Web de código aberto de baixo custo e alto desempenho com SSD, como o Varnish .

Conclusão

Os requisitos de negócios e a mudança para a computação móvel e em nuvem colocam uma pressão cada vez maior sobre os grupos de TI para otimizar a experiência do usuário ao mesmo tempo em que entregam aplicativos essenciais. Atualmente, há três fatores que alteram a forma como os usuários vivenciam o conteúdo da web. A capacidade das CDNs se expandiu bastante, e a proximidade dos POPs às principais bases de usuários contribui para a redução da latência. Em segundo lugar, os protocolos da Internet foram atualizados para melhorar o desempenho geral do servidor web para o cliente. E em terceiro lugar, a relação entre o servidor da Internet e o cliente mudou, de modo que as transações entre eles não são tão unilaterais como antes, e os dados entregues são mais dinâmicos e específicos para o usuário. À luz dessas mudanças, as estratégias criadas há 5 a 7 anos para otimizar a entrega de aplicativos front-end para melhorar a experiência do usuário estão sendo rapidamente depreciadas pelas forças de mercado e pela evolução natural da tecnologia da web.  

A infraestrutura de aplicativos web corporativos deve evoluir com as mudanças do mercado ou ficará com desempenho e retorno sobre investimentos em TI em declínio. A chave para os departamentos de TI será garantir que a infraestrutura que proporciona a experiência do usuário (por exemplo, servidores web, balanceadores de carga, CDNs e SaaS) seja atualizada para HTTP/2, que foi projetado para melhorar o desempenho da web.


Publicado em 29 de agosto de 2017
  • Compartilhe no Facebook
  • Compartilhar para X
  • Compartilhe no Linkedin
  • Compartilhar por e-mail
  • Compartilhe via AddThis

Conecte-se com F5

F5 LABS

O que há de mais moderno em inteligência de ameaças a aplicativos.

DevCentral

A comunidade F5 para fóruns de discussão e artigos de especialistas.

Sala de redação da F5

Notícias, blogs F5 e muito mais.