O que é uma rede de serviços?

 

Uma rede de serviços refere-se à maneira como o código de software de aplicativos hospedados na nuvem é aplicado em diferentes níveis do servidor da Web em camadas integradas. Em vez de funcionar em um tempo de execução isolado na camada superior de uma configuração de pilha de servidores da Web, o código de aplicativo hospedado na nuvem pode ser criado com APIs que facilitam chamadas para outros serviços controlados por software disponíveis no nível do sistema operacional, do servidor da Web, da rede ou do data center. Uma rede de serviços aumenta a funcionalidade potencial de aplicativos de software, ampliando os níveis de comunicação interoperável entre elementos de infraestrutura em produção.

 

Uma rede de serviços une milhares de microsserviços em VMs em um data center de nuvem elástico por meio de comunicação automatizada entre canais e entre aplicativos em execução. A funcionalidade de comunicação de serviço a serviço dedicada é exigida pelos aplicativos de orquestração em nuvem, balanceamento de carga, detecção de recursos, roteamento SDN, comunicação API, sincronização de banco de dados e aplicativos de otimização de script em todos os níveis de operações do data center. Uma rede de serviços pode ser usada para gerar técnicas de análise de dados e métricas de tráfego aprimoradas para arquitetura de rede multicamadas, em milhões de servidores de suporte de multilocatários por vez.

Rede de serviços

A rede de serviços funciona em conjunto com SDN para lidar com funções críticas, como virtualização e automação de redes.

Saiba como 

Benefícios da rede de serviços

  • Maior interoperabilidade: uma rede de serviços amplia a funcionalidade dos recursos de roteamento SDN para ambientes integrados de microsserviços, suportando códigos de aplicativos da Web, móveis e SaaS.
  • Detecção aprimorada de microsserviços: uma rede de serviços aprimora a configuração e o gerenciamento de rede por meio de recursos melhores de detecção de microsserviços.
  • Monitoramento e técnicas de análise detalhados em tempo real da atividade de rede: uma rede de serviços pode acessar processos de back-end e hardware de servidor da Web para monitoramento e técnicas de análise em tempo real mais detalhados da atividade de rede.
  • Automação poderosa de scripts da Web e móveis: os desenvolvedores podem criar scripts da funcionalidade de rede de serviços por meio de arquivos YAML ou utilitários como Vagrant, Jenkins, Puppet, Chef etc. para criar uma automação poderosa de scripts da Web e móveis em escala. Esse tipo de arquitetura é necessário para dar suporte a aplicativos SaaS complexos em produção na empresa. Uma rede de serviços fornece coordenação para milhares ou milhões de contêineres em execução simultaneamente na nuvem.

 

Como uma rede de serviços funciona?

Uma rede de serviços funciona por meio de aplicativos de detecção e roteamento instalados em cada instância ou nó da VM, em uma rede elástica de servidor da Web para registrar microsserviços em execução por endereço IP. Um registro central é usado para a configuração, gerenciamento e administração de todos os microsserviços em execução simultânea em uma rede. A rede de serviços pode ser referenciada por aplicativos paralelos que operam nas várias camadas de um servidor da Web, data center ou aplicativo para estender a funcionalidade interoperável por meio de técnicas de análise de dados e monitoramento de rede. Isso gera o aumento da automação do data center no nível de roteamento IP, definições de SDN, configurações de firewall, filtros, regras e balanceamento de carga na nuvem

 

As conexões de API podem fazer referência à rede de serviços para obter definições de onde detectar aplicativos em execução e recursos de microsserviço para transferências de dados ou atividade de processamento necessária. As plataformas elásticas de servidor da Web que são dimensionadas automaticamente com o Kubernetes usam o Istio como o utilitário central de gerenciamento de registro e configuração para a detecção de microsserviços. Plataformas elásticas de servidor da Web, como AWS EC2 e Kubernetes, utilizam a rede de serviços para gerenciar várias cópias de aplicativos em nuvem, com tempos de execução simultâneos, sincronizando as alterações no banco de dados mestre e armazenando as informações. Uma rede de serviços permite que a camada de aplicativo se comunique com os recursos da rede do servidor da Web, da Internet e do data center por meio de APIs ou vice-versa, dependendo dos requisitos do microsserviço ou da base de códigos.

 

Arquitetura da rede de serviços

Uma rede de serviços é baseada em uma camada de abstração instalada em VMs ou contêineres em um data center em nuvem. O código é instalado em cada VM ou nó que se comunica com uma instância de software de administração central executando a orquestração do data center. Soluções de rede de serviços como VMware NSX e Istio contam com o Envoy para criar o caminho de dados no nível do nó. O Envoy gerencia as informações relacionadas aos microsserviços em execução, endereços IP licenciados, criptografia HTTPS, formatos de banco de dados ativos etc. para cada VM ou nó. Com o NSX, isso inclui a integração distribuída do firewall no nível do hypervisor. Nas redes de nuvem elástica, as informações do caminho de dados para cada VM ou nó são usadas para balanceamento de carga. As conexões de API dependem da arquitetura da rede de serviços para requisitos de roteamento entre aplicativos. A telemetria no nível 7 da rede de serviços inclui DNS, HTTP/S, SMTP, POP3, FTP etc.

 

Implementação da rede de serviços

A implementação da rede de serviços inclui balanceamento de carga e detecção de serviços nos recursos SDN, endereço IP, microsserviço e API de um aplicativo da Web/móvel. A rede de serviços gerencia a comunicação, sincronização e criptografia para conexões no back-end do servidor da Web por meio de hardware em uma arquitetura elástica de servidor da Web. Nos aplicativos em nuvem, o script, o banco de dados e os arquivos estáticos da Web geralmente são separados em diferentes hardwares e agrupados na página final do navegador. O roteamento SDN entre hardware, scripts, banco de dados e arquivos se torna ainda mais complexo com APIs de terceiros no código. Quando tudo isso precisa ser agrupado em recursos para cada carregamento de página, a rede de serviços integra, sincroniza e padroniza a operação nas VMs em estruturas elásticas de servidor da Web. A rede de serviços foi criada para atender a uma necessidade que nenhum outro software atende no data center. Ela também inclui técnicas de análise de dados e métricas de usuário referentes a conexões de tráfego da Web.

 

Rede de serviços de código aberto

Atualmente, o Istio é o projeto de rede de serviços de código aberto mais avançado, com o Envoy sendo usado para os recursos centrais relacionados ao gerenciamento do caminho de dados nos nós. O Istio foi desenvolvido originalmente como parte da Cloud Native Computing Foundation (CNCF) funcionando nas plataformas VMware NSX Service Mesh e Enterprise PKS. O PKS é a distribuição Kubernetes da VMware que orquestra servidores da Web em nuvem por meio de contêineres. O PKS está disponível como um pacote auto-hospedado para requisitos de nuvem pública e privada ou como um produto de Contêiner como serviço (CaaS) totalmente gerenciado. O Istio é usado para comunicação de microsserviço no Kubernetes com recursos complexos de roteamento de endereços IP e criptografia para orquestração elástica de servidores da Web em data centers corporativos em escala. Linkerd, Conduit, Aspen e Consul são outros projetos importantes de código aberto que estão sendo desenvolvidos como componentes de estruturas da rede de serviços.

 

Rede de serviços elástica

É necessária uma rede de serviços elástica para sincronizar arquivos de banco de dados e site em uma estrutura de hospedagem em nuvem, como AWS EC2 ou Kubernetes. A rede de serviços controla o roteamento entre VMs no servidor da Web para requisitos de API e SDN no suporte a aplicativos de software. Quando a rede de serviços também é usada para detecção e balanceamento de carga em redes elásticas de servidores da Web, os administradores podem automatizar a alocação de recursos do data center para atender aos requisitos de tráfego do usuário na produção. Os servidores da Web podem ser configurados para iniciar ou interromper automaticamente quando não forem mais necessários. Isso gera um uso mais eficiente dos recursos de hardware na nuvem. A capacidade de incorporar recursos de monitoramento e técnicas de análise em tempo real em uma rede de serviços no nível da VM ou nó fornece aos desenvolvedores de software, programadores e editores da Web a capacidade de criar novos recursos para aplicativos usando microsserviços.

 

Por que a arquitetura de microsserviços precisa de uma rede de serviços

Uma nuvem pública pode conter milhões de microsserviços em execução simultânea em contêineres ou máquinas virtuais que oferecem suporte a diferentes aplicativos e bancos de dados em paralelo, por meio de tempos de execução isolados. Os ambientes multilocatários baseados na virtualização exigem um método melhor para detectar e registrar microsserviços, para que a funcionalidade exclusiva de cada um possa ser integrada por aplicativos ou compartilhada com outros dispositivos usando APIs. Muitos formatos de microsserviço não são projetados especificamente para plataformas elásticas de servidor da Web e precisam de uma rede de serviços para gerenciar a operação em contêineres. Uma rede de serviços fornece a funcionalidade refinada de roteamento e criptografia sobre SDN, que permite que diferentes APIs se comuniquem entre os processos de código em execução nos servidores da Web, nos endpoints e em outros dispositivos.

Produtos, soluções e recursos relacionados ao VMware NSX Service Mesh

NSX Data Center

O VMware NSX® Data Center oferece rede e segurança virtualizadas inteiramente em software.

VMware NSX Service Mesh

O VMware NSX Service Mesh permite visibilidade e controle consistentes entre serviços, dados e usuários.

VMware Enterprise PKS

O VMware Enterprise PKS permite implantar, executar e gerenciar o Kubernetes para produção.