Home Artigos técnicos Por que os aplicativos Edge são a chave para simplificar a computação de borda
Applications

Por que os aplicativos Edge são a chave para simplificar a computação de borda

About The Author

Outline

A necessidade de equilibrar a potência computacional com a latência tornou a computação de borda um tópico importante, alimentado em parte pelo surgimento do 5G Edge, que promete latência ultra baixa. A latência de 10 ms do 5G Edge <é fundamental para permitir a realidade virtual, a Internet das Coisas (IoT) e veículos autônomos. Sem computação de borda, essas funcionalidades seriam seriamente limitadas.

Enquanto o 5G Edge está avançando rapidamente, as redes de entrega de conteúdo (CDN) habilitaram casos de uso de computação de borda por muitos anos, oferecendo uma enorme capacidade de rede e apenas milissegundos de latência para praticamente todos os dispositivos conetados e usuários da internet do planeta. Os CDNs são bem estabelecidos e provaram ser altamente eficazes na entrega de grandes fluxos de conteúdo em escala. A Verizon Media, agora Edgio, Platform, por exemplo, oferece mais de 250 Tbps de capacidade de saída e está profundamente enraada com mais de 7 000 redes de última milha, fornecendo escala global, desempenho e segurança.

Isso coloca o CDN Edge no lugar do driver como uma maneira altamente econômica de mover aplicativos e cargas de trabalho da nuvem e mais perto dos usuários finais. Longas viagens de ida e volta aos servidores principais podem resultar em experiências de usuário lentas e, finalmente, limita o tipo de aplicativos desenvolvidos. Enviar o processamento de aplicativos para o CDN Edge abre novas oportunidades para adicionar funcionalidade e criar melhores experiências para o usuário.

O aumento das aplicações de borda

Mas qual é a melhor maneira de desenvolver aplicativos na borda? Apesar do zumbido implacável, a computação de borda ainda está muito nos estágios iniciais do desenvolvimento. Como tal, o futuro da computação de borda “mainstream” provavelmente será muito diferente do que parece hoje. Uma mudança significativa que esperamos é o surgimento do que estamos chamando de “aplicações Edge”. Essas funções são altamente otimizadas, totalmente testadas e pré-integradas, integradas ao CDN, que podem ser ativadas de forma rápida e fácil. Estes funcionam em conjunto com a nossa capacidade Functions Edge, que permite aos programadores escrever e executar o seu código no CDN Edge, proporcionando aos clientes um amplo espetro de possíveis capacidades de computação.

As aplicações do Edgio são construídas para resolver casos de uso comuns, tais como:

  • Redirecionamentos dinâmicos
  • Otimização de imagem
  • O lado da extremidade inclui (ESI)
  • Priorização do visitante

Os aplicativos Edgio reduzem a barreira à computação de borda, oferecendo aos clientes acesso a ferramentas de computação de borda sem a necessidade de desenvolver e suportar código.

Embora os aplicativos de computação de borda específicos possam variar consideravelmente em termos de funcionalidade geral ou indústria de destino, muitos requisitos subjacentes são quase idênticos de aplicativo para aplicativo. Essas semelhanças abrangem protocolos e fluxos de trabalho padronizados. Os aplicativos Edgio aproveitam esse fato para ajudar a simplificar a implantação e acelerar a adoção de recursos de computação de borda.

Como mostrado à esquerda da figura abaixo, os clientes CDN podem interagir com nossos aplicativos por meio de uma configuração simples. Eles usam nossa API de mecanismo de regras para habilitar ou desabilitar um aplicativo específico. O lado direito da figura abaixo mostra como os aplicativos são criados e atualizados por meio de nosso pipeline de CI/CD. Após o desenvolvimento inicial, novos recursos e funções são continuamente adicionados através de um loop de feedback robusto. Neste modelo, podemos ver como todos em toda a rede usam o aplicativo. Podemos usar essa entrada para corrigir bugs, adicionar recursos importantes e resolver problemas de segurança. Os clientes desistem de algum controle, mas ganham um modelo de implantação simplificado e não estão sobrecarregados com a construção e manutenção de pipelines CI/CD para cada função. Isto é particularmente valioso para funções não altamente diferenciadas, mas necessárias em vários casos de uso.

Figura 1. O modelo original de desenvolvimento de aplicativos Verizon Media Edge.

Isso contrasta com o modelo Functions Edge, mostrado abaixo, onde cada cliente é responsável pelo seu desenvolvimento. À medida que novas funções são desenvolvidas, elas são implantadas no CDN Edge usando a API Functions. Enquanto isso fornece mais controle, ele muda a carga de desenvolvimento para o usuário. Cabe a cada desenvolvedor/organização acompanhar relatórios de bugs, reunir solicitações de recursos e implantar novas versões e patches para sua função de borda específica. As organizações que precisam de funções personalizadas ou one-off que não são comuns a vários clientes ou são altamente especializadas devem usar o Functions Edge para desenvolver a funcionalidade de que precisam. Mas para casos de uso comuns de computação de borda, os aplicativos Edgio podem trazer esses aplicativos internos e oferecê-los como serviços gerenciados.

Figura 2. Modelo de desenvolvimento de funções.

Exemplo de aplicações Edgio: Otimização de imagem

O processo que usamos para determinar quais aplicativos de borda desenvolver começa com a entrada de nossos clientes. Várias solicitações de clientes para o mesmo recurso são um bom preditor de sua popularidade e valor para uma ampla seção de organizações. Um exemplo que aparece frequentemente é otimização de imagem, um aplicativo que pode redimensionar e otimizar imagens em nome de clientes CDN para seus clientes (usuários da Internet).

A otimização de imagem tornou-se uma aplicação importante para reduzir os tempos de carregamento de páginas web que contêm imagens. Em vez de armazenar versões de imagem no aplicativo ou no armazenamento de origem, um aplicativo de borda de otimização de imagem integra-se ao processamento de solicitações do CDN para transformar imagens à medida que elas são servidas, eliminando o custo do armazenamento e melhorando os tempos de carregamento do cliente. Os clientes usam o mecanismo de regras da plataforma de mídia da Verizon para fornecer critérios de correspondência, como extensão de URL (por exemplo, jpg), host ou caminho de URL para acessar um aplicativo de borda de otimização de imagem.

No início, um otimizador de imagem pode parecer um esforço de desenvolvimento simples, mas à medida que você escava abaixo da superfície, você descobrirá uma complexidade considerável. Um servidor de otimização de imagem de borda deve lidar com redimensionamento básico de imagem e várias outras opções projetadas para ajudar com a formatação dinâmica de imagem. Os recursos suportados em um aplicativo de otimização de imagem de borda devem incluir idealmente um amplo conjunto de funções, tais como:

  • Redimensionamento básico de largura e altura
  • Conversões de formato
  • Redução da qualidade
  • Manuseamento DPR (relação de píxeis do dispositivo)
  • Dimensionamento automático através de uma base de dados de dispositivos
  • Aparar e acolchoar
  • Ajustar a imagem a uma região ou dentro da tela com cor de fundo opcional
  • Imagens em rotação e desfocagem
  • Quanciar tamanhos de imagem linearmente ou logarítmicamente para reduzir variações em cache
  • Decapagem automática de metadados

O aplicativo de otimização de imagem deve lidar com dicas de clientes para páginas responsivas, se ativado por meio do mecanismo de regras e otimizado para armazenamento em cache de várias camadas. O aplicativo também deve aproveitar a funcionalidade de cache CDN, como um escudo de origem, que armazena em cache o conteúdo para minimizar as solicitações ao servidor de origem. Como mostrado na imagem abaixo, os resultados da transformação podem ser armazenados em cache em um pop de escudo e, em seguida, servidos e armazenados em cache em pop de borda para reduzir a latência e o número de invocações do aplicativo.

Figura 3. Um fluxo de solicitação otimizado minimiza solicitações para o servidor de origem.

As solicitações de otimização de imagem são projetadas para aproveitar o cache do CDN. As solicitações de entrada roteam para o nó de cache adequado usando hash consistente para otimizar a localização do cache. O primeiro nó de cache CDN que recebe uma solicitação aplica lógica em duas fases. Na primeira fase, o nó de cache computa a chave de cache e procura-a no cache. Se o arquivo não estiver presente no cache, então ele puxaria a imagem base no caso de otimização de imagem. A imagem base retornada na resposta seria então otimizada em tempo real à medida que ela é armazenada em cache e enviada de volta ao cliente.

Essa funcionalidade é um desafio para os desenvolvedores otimizarem totalmente, conforme descrito aqui, ao criar suas funções de borda, oferecendo um argumento convincente para o motivo pelo qual esperamos que os aplicativos de borda desempenhem um papel tão importante na computação de borda no futuro.

Conclusão

O advento do 5G trouxe o aumento da computação de borda e o reconhecimento de que empurrar cargas de processamento para a borda pode reduzir a latência em comparação com a nuvem, melhorar a experiência do cliente e abrir novas categorias de aplicativos. Com sua latência de menos de 10ms, o 5G Edge é uma obrigação para a realidade virtual ou veículos autônomos. Para a maioria dos outros aplicativos, os CDNs são mais estabelecidos do que o 5G e são apenas alguns milissegundos mais lentos para todos os usuários e dispositivos do planeta do que o 5G Edge. À medida que empresas e desenvolvedores de software empurram mais cargas de trabalho de computação para a borda, a CDN está assumindo um significado adicional além de sua função tradicional de entrega de conteúdo. Isso abre novos aplicativos e serviços que seriam impraticáveis apenas na nuvem devido à latência envolvida com a computação em nuvem.

Uma maneira de diminuir as barreiras para a adoção da computação de borda é com as aplicações Edgio. Essa abordagem permite que as organizações acessem um aplicativo específico, como otimização de imagem, por meio de configuração de regras simples em vez de um esforço de desenvolvimento em larga escala. Os aplicativos Edgio se beneficiam de um ciclo de feedback rico à medida que cada vez mais organizações em todo o mundo aproveitam o serviço, o que acreditamos que desempenhará um papel importante na adoção de computação de ponta.

Seja uma melhoria incremental na experiência do cliente ou a introdução de aplicativos inovadores, uma coisa é clara: Trazer mais funcionalidade de computação para a borda mudará fundamentalmente como os aplicativos são desenvolvidos e implantados para melhor.