BLOG

Provedores de serviços no limite: Estruturas de automação comuns e o fim dos compromissos de velocidade e segurança

Miniatura de Bart Salaets
Bart Salaets
Publicado em 10 de fevereiro de 2020

No passado não muito distante do reino dos provedores de serviços, havia uma linha clara na areia.

De um lado, as equipes de rede e segurança lideraram a evolução para uma arquitetura NFV , com forte foco na virtualização de funções de rede e segurança. As incursões no mundo da automação foram, na melhor das hipóteses, hesitantes.

Por outro lado, os desenvolvedores adotaram com entusiasmo plataformas de nuvem, metodologias DevOps e automação por meio de pipelines de CI/CD. A rápida implantação e entrega de aplicativos era, e ainda é, a palavra de ordem.

A borda é onde ambos se encontram, e os aplicativos podem conviver harmoniosamente com as funções de rede.

Graças à sua natureza distribuída e impulsionada pela implementação global gradual do 5G , a computação de ponta está finalmente começando a capacitar provedores de serviços a oferecer novas soluções e serviços que simultaneamente aumentam os fluxos de receita e reduzem os custos de transporte de rede.

Em vez de transmitir dados para a nuvem ou para um data warehouse central para análise, o processamento pode ocorrer na "borda" de uma rede, reduzindo a latência da rede, aumentando a largura de banda e proporcionando tempos de resposta significativamente mais rápidos.

Considere os carros autônomos.

Hospedar aplicativos, com todos os seus dados associados, em um local centralizado, como uma nuvem pública, pode gerar latência de ponta a ponta da ordem de dezenas de milissegundos. Isso é muito lento. Você obterá o mesmo resultado se o aplicativo permanecer centralizado e a função de rede for movida para a borda. No entanto, quando você move o aplicativo e a função de rede para a borda, é possível reduzir a latência para milissegundos. Agora estamos no negócio.

Redes de Distribuição de Conteúdo Virtualizadas (CDN) são outro exemplo convincente.

Até o momento, uma CDN de terceiros tendia a ser hospedada em um ponto de peering ou em um data center centralizado. Isso está mudando, com alguns provedores de serviços astutos criando suas próprias CDNs baseadas em computação de ponta para cobrir conteúdo de vídeo local e serviços de IPTV, tudo isso economizando em custos de trânsito e backhaul.

Existem diferentes modelos de negócios disponíveis para dar vida a esses tipos de casos de uso.

O cenário mais simples é um provedor de serviços permitindo acesso físico a um site de computação de ponta. Terceiros trazem seu próprio hardware e gerenciam tudo. O provedor de serviços é responsável pelo espaço, energia e conectividade, também conhecido como modelo de colocation.

Uma abordagem muito mais interessante é o provedor de serviços oferecer opções de Infraestrutura como Serviço (IaaS) ou Plataforma como Serviço (PaaS) a terceiros por meio de uma plataforma de computação de ponta compartilhada. Os provedores de serviços podem construí-los eles mesmos ou com parceiros especializados.

O poder da automação

A automação é o ingrediente secreto para fazer tudo funcionar.

No contexto da computação em nuvem, a automação é essencial para que os desenvolvedores publiquem novas versões de código com rapidez e agilidade.

No mundo da rede NFV, a automação é essencial para reduzir os custos operacionais de um provedor de serviços. Anteriormente, o provisionamento de rede e serviços eram tarefas manuais e demoradas. Hoje, embora os objetivos possam ser diferentes, as ferramentas e técnicas são as mesmas — ou compartilháveis — tanto para as equipes de rede quanto para as de desenvolvedores. Aplicações e funções de rede coexistem em um ambiente de computação de ponta.

Então, como os desenvolvedores podem automatizar a implantação de aplicativos e serviços de aplicativos associados na nuvem?

Para o propósito deste artigo, estamos nos concentrando na automação de serviços de aplicativos. Vale ressaltar que as etapas descritas abaixo podem ser facilmente integradas a ferramentas populares de configuração e gerenciamento de provisionamento, como Ansible ou Terraform, que são complementadas por ferramentas de pipeline de CI/CD, como Jenkins.

O primeiro passo é inicializar ou introduzir a máquina virtual para fornecer serviços de aplicativos na nuvem escolhida.

A próxima etapa é a integração, que implica na introdução de uma configuração básica com parâmetros de rede e autenticação (por exemplo, endereços IP, servidor DNS, etc.). Por fim, há a implantação real de serviços de aplicativos, como ADC ou políticas de segurança, usando Interfaces de Programação de Aplicativos (API) declarativas.

O último ponto é crítico.

APIs imperativas, que a maioria dos fornecedores tem, significam que você diz ao sistema o que fazer em cada momento. Firewalls são um bom exemplo. Você precisaria criar listas de endereços e alinhá-las com as regras do firewall. Eles são então agrupados em uma política, que é então atribuída a uma interface. Há etapas e requisitos distintos para que as chamadas da API REST sejam executadas em sequência, caso contrário, tudo falhará. Transformar tudo isso em uma ferramenta de automação é caro e leva tempo.

APIs declarativas são uma coisa diferente. Você pode dizer ao sistema o que quer, e ele descobrirá o caminho a seguir. Com uma declaração (no formato JSON ou YAML), você pode, por exemplo, definir todos os parâmetros do ADC e do serviço de segurança e fornecê-los ao sistema com uma única chamada de API REST. Nesse caso, o resultado é um sucesso (o serviço foi implantado) ou falha, mas o sistema geral permanece inalterado. Não há necessidade de inteligência no sistema de automação. A inteligência permanece nos sistemas que você está configurando, o que reduz drasticamente os custos de automação.

Exatamente as mesmas etapas podem ser seguidas para provisionar uma função de rede virtual em um ambiente NFV. Uma API declarativa simplifica significativamente a integração com ferramentas de orquestração NFV de ponta a ponta. O orquestrador não precisa saber as etapas individuais para configurar um serviço ou função de rede, ele simplesmente envia uma única declaração JSON com os parâmetros que o sistema precisa para configurar o serviço. Novamente, a inteligência sobre ‘como’ configurar o serviço permanece dentro do sistema que você está configurando.

Por meio de um alinhamento mais próximo entre as disciplinas de rede e desenvolvimento, agora podemos construir uma nuvem de telecomunicações distribuída com uma estrutura de automação comum para aplicativos e funções de rede. Ele é ágil e seguro em todas as camadas da pilha, desde o data center central até a extremidade mais distante, abrangendo até a nuvem pública.

Em todo o setor, esperamos que estruturas de automação comuns que permitam a implantação de aplicativos e seus serviços, bem como funções de rede, se tornem a norma nos próximos anos, principalmente à medida que a implementação do 5G continua em todo o mundo. A pressão está aumentando para que os provedores de serviços unifiquem os silos, sejam ágeis e comecem a viver mais no limite.

Você também pode clicar aqui para assistir a uma palestra de Bart Salaets sobre computação de ponta no recente SDN NFV World Congress.