BLOG

Por que a Nuvem Pública está Adotando FPGAs e Você Também Deveria

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 06 de março de 2017

Caso você não tenha visto o anúncio em meio à onda de anúncios e lançamentos voltados para o consumidor durante a temporada de festas de fim de ano de 2016, a Amazon causou um grande rebuliço quando anunciou que estava adotando o hardware. Como Deepak Singh, gerente geral da divisão de contêineres e HPC da AWS, observou: “Há uma certa escala em que hardware e infraestrutura especializados fazem muito sentido e, para aqueles que precisam de infraestrutura especial, achamos que os FPGAs são um caminho claro a seguir.”

Singh apresenta uma série de “casos de uso” onde tal “infraestrutura especial” é particularmente útil, incluindo segurança e aprendizado de máquina, ao mesmo tempo em que faz um aceno de cabeça para o uso mais difundido de hardware especializado hoje, o da aceleração gráfica.

O uso de FPGAs e hardware especial — muitas vezes chamado de desenvolvido especificamente ou personalizado — não é novidade nem mesmo no data center. As vantagens de integrar determinadas funções são bem compreendidas. Um switch de rede é, em essência, uma peça de hardware desenvolvida especificamente para esse fim. Ele faz um conjunto de coisas, e as faz em alta velocidade e em grande escala. O uso de FPGAs também não é incomum em data centers. Muitos dispositivos de segurança – particularmente aqueles dedicados à proteção DDoS – empregam FPGAs configurados especificamente para executar de forma muito rápida e na escala necessária a inspeção do tráfego de entrada necessário para detectar e rejeitar ataques DDoS de entrada.

Existem mercados inteiros que fornecem chips e placas projetados para lidar com a complexidade associada ao processamento criptográfico necessário para SSL e TLS, ambos usados para proteger aplicativos da web e APIs, permitir acesso remoto e proteger conexões com a nuvem. À medida que as ameaças evoluem e as soluções de segurança se ajustam para enfrentá-las, a necessidade desse processamento criptográfico direcionado via hardware se tornou inestimável para garantir a velocidade e a escala necessárias para permanecer competitivo e, ao mesmo tempo, proteger dados confidenciais de consumidores e corporativos.

risco operacional

O ponto comum entre o uso tradicional de hardware e FPGAs com o da nuvem pública é a escala, ou seja, a capacidade. Mas também há consequências de desempenho e custo (das boas) que tornam o uso de hardware atraente para provedores de nuvem pública. O uso de FGPAs ( particularmente aqueles que são reconfiguráveis pelos usuários) e hardware na verdade tem três benefícios distintos (mas relacionados) que os tornam uma boa escolha para nuvem pública e devem ser motivos para considerar o mesmo para suas iniciativas de nuvem privada (ou data center tradicional).

1. Velocidade. A capacidade do hardware de executar uma função mais rapidamente e com menos recursos é indiscutível. Uma função com fio pode ser executada sem a latência interna necessária para carregar e executar o código necessário para replicar a função no software. Hardware desenvolvido especialmente pode executar funções matemáticas altamente complexas necessárias para criptografia e descriptografia mais rápido do que aquele entregador do Jimmy John's. Não estou brincando.

Para empresas e nuvens privadas, isso significa aplicativos mais rápidos para os clientes, o que melhora as taxas gerais de engajamento (e, espera-se, de conversão), levando a maior satisfação e, internamente, produtividade. A velocidade ajuda a abordar um dos três principais componentes do risco operacional : o desempenho.

2. Escala. A escala, como observado por Singh, é um dos principais impulsionadores da pesquisa e adoção de FPGA e hardware desenvolvido especificamente. Isso é possível, em parte, pela velocidade. Considere um servidor semelhante a uma mesa com um número limitado de cadeiras (capacidade). Quanto mais rápido alguém puder se sentar e comer, mais pessoas poderão ser alimentadas. A mesma relação existe entre a capacidade de conexão (que determina quantos usuários podem ser atendidos por um único recurso) e a velocidade com que as transações são executadas. Ajudar na escala é o que a indústria chama de “offload”. Offload é uma maneira simples de descrever a transferência da carga de processamento de CPUs de uso geral para hardware desenvolvido especificamente para esse fim, o que deixa recursos computacionais gerais disponíveis para processar outras funções, aumentando assim a velocidade geral e, consequentemente, a capacidade.

Para empresas e nuvens privadas, isso significa fazer mais com menos, o que permite que a TI cresça de forma menos disruptiva junto com os negócios e reduza a complexidade das redes necessárias para dar suporte a esse crescimento.  A escala ajuda a evitar um dos três principais componentes do risco operacional: disponibilidade.

3. Custo. Ao melhorar a velocidade e a escala, o custo por transação (e, portanto, por usuário) é reduzido.  Reduzir custos significa um retorno mais rápido sobre o investimento, mas, mais importante, reduz o custo por cliente (e, inversamente, melhora a receita por usuário). Os provedores de serviços sabem que isso afeta indicadores-chave de desempenho, como ARPU (Receita Anual por Usuário). Um provedor de nuvem, que também depende do volume (escala) para gerar lucro, sabe que aumentar o ARPU é uma parte importante do negócio.

Para empresas e nuvem privada, isso significa melhores margens em vendas digitais voltadas ao cliente e uma ótima pontuação na análise de custo-benefício quando comparada ao aumento da produtividade de aplicativos internos.

Nem é preciso dizer que o uso de FPGAs e soluções específicas para atender à necessidade de segurança também torna os aplicativos mais seguros. Que aborda o terceiro componente do risco operacional: a segurança. A vantagem do hardware é que ele faz isso sem sacrificar a velocidade (ele pode realmente tornar os aplicativos mais rápidos) ou a escala. Ao construir sua própria infraestrutura de nuvem privada, considere hardware desenvolvido especificamente e plataformas habilitadas para FPGA como um caminho para um ambiente mais robusto.