Operador autônomo do Couchbase

Zonas de comprimento de onda para computação de borda com o Couchbase

Durante décadas, a "última milha" tem sido uma das partes mais fracas da infraestrutura da Internet. Hoje, as operadoras móveis estão prontas para mudar isso, fornecendo conectividade confiável e rápida com latência semelhante à de uma LAN para aplicativos móveis. A introdução de Comprimento de onda AWS permite que os desenvolvedores acessem as redes 5G modernas e aproximem a infraestrutura de aplicativos de seus clientes, implantando-a diretamente nos data centers das operadoras de telefonia móvel. 

As zonas de comprimento de onda são uma nova tecnologia que nós da Couchbase ficamos entusiasmados em explorar durante nossa preparação para o AWS re:Invent 2021. Para mostrar suas possibilidades e como nossa arquitetura sem mestre facilita a computação de borda, apresentamos um aplicativo de leilão de demonstração que permite aos usuários da Verizon em Las Vegas comparar as latências de solicitação entre o clássico us-west-2 região do AWS e a zona de borda do Wavelength de Las Vegas. Esta postagem do blog analisa como você pode usar o poder do Couchbase Sync Gateway para começar a lidar com seus dados na borda. 

Configuração do servidor bastion

As instâncias do Wavelength têm endereços IP atribuídos pela operadora de telefonia móvel e acessíveis somente a partir da rede da operadora e da sua VPC. Isso impossibilita a conexão com essas instâncias de fora da rede da operadora.

Portanto, para administrar as instâncias do Wavelength, um engenheiro de desenvolvimento deve estar conectado diretamente à rede da operadora ou usar soluções alternativas como servidores bastionque, nos casos mais simples, pode ser apenas uma instância em seu AWS VPC implantada em uma zona de disponibilidade regular.

Vamos primeiro criar uma chave privada do AWS EC2 que usaremos para acessar o servidor jump:

Crie o par de chaves, faça o download e armazene-o em um local seguro. Você não poderá acessá-lo posteriormente.

Agora, podemos implementar uma instância do Amazon Linux que se tornará nosso host de salto ssh. Não se esqueça de atribuir um endereço IP público a ela, configurar seu grupo de segurança para permitir conexões ssh de entrada e saída e especificar o par de chaves ao iniciar a instância: 

Verifique se é possível acessar o bastion node do seu computador:

  1. Se você ainda não o tiver, inicie um ssh-agent executando: eval $(ssh-agent -s)
  2. Adicione a chave baixada a ele executando: ssh-add
  3. Conecte-se à instância: ssh

Para fazer login nas instâncias que criaremos posteriormente na zona Wavelength, use o comando -J do comando ssh: ssh -J .

Configuração da zona de comprimento de onda

Neste exemplo, usaremos a Las Vegas Verizon (usw2-wl1-las-wlz1) como nossa zona de borda. Para implantar instâncias nela e supondo que uma VPC em us-west-2 foi criada anteriormente, precisamos primeiro criar uma região:

  1. Gateway de operadora para conectar nossas instâncias de borda à Internet e à rede da operadora 
  2. Sub-rede na qual implementaremos nossas instâncias
  3. Tabela de roteamento que direciona o tráfego da Internet de e para a sub-rede por meio do gateway da operadora

A AWS permite que façamos tudo isso em uma única etapa ao usar seu Criar gateway de operadora mostrada abaixo. Ela também se encarrega de criar uma tabela de roteamento que encaminhará o tráfego entre as instâncias na sub-rede e a infraestrutura da operadora:

Configuração do cluster do Couchbase

Depois que a sub-rede for criada, podemos prosseguir com a criação de instâncias do EC2 para nossos futuros clusters. Há várias maneiras de implementar o Couchbase, e aqui estão duas delas:

O mais fácil é criar um cluster do Kubernetes e usar nosso operador autônomo para implantar e gerenciar o cluster do Couchbase. Observe que os clusters EKS e os grupos de dimensionamento automático exigem 2 sub-redes em regiões diferentes. Embora existam várias zonas de disponibilidade do Wavelength, todas essas zonas estão localizadas em cidades diferentes. Se você quiser garantir que seu cluster esteja localizado em Las Vegas, será necessário criar o cluster manualmente. Consulte Documentação do Couchbase Autonomous Operator para obter instruções de instalação.

Uma maneira alternativa é instalar o Couchbase diretamente nas instâncias do EC2 e configurá-lo manualmente. Essa é a abordagem que adotamos em nosso re:Invent apresentação. As instruções sobre a instalação do Couchbase podem ser obtidas em nossa documentação.

Observe que apenas um conjunto limitado de tipos de instância do EC2 é compatível com a infraestrutura do Wavelength. Para esta apresentação, escolhemos t3.xlarge como nós do Couchbase e do Sync Gateway. 

Recomenda-se usar chaves SSH diferentes para servidores diferentes ou, pelo menos, para clusters diferentes. Para usar o host bastion, você precisará adicionar cada chave SSH criada ao agente SSH executando: ssh-add .

Configuração do Sync Gateway

O procedimento de configuração do Sync Gateway está amplamente documentado na seção Documentação do Couchbase aqui. A criptografia TLS é compatível com o gateway desde o início. Para configurá-la, forneça caminhos para o certificado e sua chave privada por meio de SSLCert e SSLKey isso alterará as portas usadas pelo serviço de gateway para portas SSL.Como alternativa, um proxy reverso, como o NGINX, pode ser usado para adicionar a criptografia de segurança da camada de transporte, como fizemos na apresentação. Aqui está uma configuração do NGINX que você pode usar para fazer proxy das conexões do Sync Gateway:

Embora a maior parte dessa configuração represente uma solução comum para proxy de soquetes da Web, as três últimas linhas configuram tempos limite de rede que são mais adequados para aplicativos móveis nos quais a estabilidade da conexão com a Internet pode ser afetada a qualquer momento.

Outra instrução importante é tamanho_max_do_corpo_do_cliente que aumenta o limite da quantidade de informações que os dispositivos móveis podem enviar em uma única conexão websocket.

Conclusão

O Couchbase é naturalmente o banco de dados preferido para implementações de borda. Fora da caixa, ele oferece a oportunidade de escolher entre um conjunto de serviços dos quais qualquer aplicativo pode se beneficiar:

  • Couchbase Lite, um banco de dados incorporado que fornece sincronização fácil de documentos com clusters do Couchbase
  • Replicação do Sync Gateway ou XDCR entre diferentes locais de borda ou nuvem 
  • Armazenamento robusto de valores-chave na memória e no disco com base no protocolo Memcached amplamente suportado
  • Camada de cache incorporada
  • Recursos de pesquisa de texto completo
  • Armazenamento avançado de documentos com a incrível linguagem N1QL 
  • Serviço de eventos para programação reativa e enriquecimento de dados
  • Serviço de análise que permite extrair insights de seus dados sem afetar o desempenho de seu aplicativo

Juntamente com a latência ultrabaixa das zonas de borda do Wavelength, esses recursos fornecem uma plataforma poderosa para qualquer aplicativo móvel e estamos entusiasmados com as soluções que podem ser criadas com ela.

Recursos

Para fazer o acompanhamento, examine alguns dos links para os recursos mencionados nesta postagem do blog:

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Dima Chechetkin

Advogado desenvolvedor sênior na Couchbase

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.