Estamos entusiasmados em apresentar Servidor de borda do Couchbase-nossa plataforma de dados leve, local-first, projetada para potencializar seus aplicativos de computação de borda. Com recursos como armazenamento local de dados, sincronização de dados offline-first upstream e downstream e acesso contínuo a dados RESTful, o Couchbase Edge Server oferece aplicativos eficientes, confiáveis e de baixa latência na borda.
Há muito tempo, o Couchbase é líder no fornecimento de soluções robustas de sincronização de dados offline-first, com seu banco de dados Couchbase Lite incorporado para aplicativos móveis e de desktop, juntamente com Serviços de aplicativos/Gateway de sincronização para sincronização contínua de dados (conhecidos coletivamente como Couchbase Mobile). Agora estamos expandindo a variedade de casos de uso de borda que podem ser implantados com nossa solução móvel existente, para atender às demandas exclusivas de determinados aplicativos de borda, que podem ser implantados em escala em ambientes com recursos limitados.
O lançamento do Couchbase Edge Server preenche essas lacunas, estabelecendo o Couchbase como a plataforma de banco de dados mais abrangente e adaptada para aplicativos de borda.
Criado especificamente para a borda
Ao desenvolver o Edge Server, não reduzimos simplesmente a escala do Couchbase Server e do Sync Gateway para que se ajustassem a um formato menor. Em vez disso, o Edge Server foi criado especificamente para ambientes de borda.
Criado com base no mecanismo comprovado do Couchbase Lite Core - o mesmo mecanismo que alimenta o banco de dados incorporado do Couchbase Lite usado em milhões de aplicativos móveis, de desktop e de hardware incorporado personalizado para casos de uso off-line first críticos para os negócios - o Couchbase Edge Server está pronto para atender às suas necessidades de produção hoje mesmo.
Veja como o Edge Server se encaixa no restante da pilha móvel.
Requisitos de aplicativos de computação de borda
O Edge Server oferece as vantagens tradicionais da topologia de computação de borda, como acesso a dados locais de baixa latência, otimização da largura de banda, continuidade dos negócios e maior privacidade dos dados. Esses benefícios agora estão acessíveis mesmo em ambientes com recursos altamente limitados:
Pode ser implantado em ambientes com recursos altamente limitados
Há implementações de borda com recursos de armazenamento e computação extremamente limitados para executar um banco de dados local totalmente distribuído e uma solução de sincronização. Por exemplo, considere um sistema de entretenimento e pedido de refeições no encosto do assento do avião (IFE) que atende a centenas de passageiros de uma companhia aérea. Esse sistema deve operar de forma confiável em tempo real, mesmo a 37.000 pés de altitude, sem conectividade com a Internet, usando apenas um computador de placa única com 1 GB de RAM. A implantação de um Couchbase Server e de um Sync Gateway, que exige muito mais capacidade de armazenamento e computação, simplesmente não é viável nesses cenários. O Edge Server resolve esse desafio com seu design leve, permitindo a implantação em hardware com requisitos mínimos de recursos, como 1 GB de RAM.
Solução leve e econômica em escala
As implementações de borda podem ser dimensionadas para centenas ou até milhares de locais, geralmente exigindo apenas uma solução leve de banco de dados de borda para atender a alguns clientes locais em cada local. A implementação de uma plataforma de dados distribuída de "classe empresarial" e de uma solução de sincronização projetada para acesso a dados locais de alto volume, desempenho e dimensionamento em cada local de borda geralmente é um exagero e pode ter um custo proibitivo.
Por exemplo, considere uma grande cadeia de varejo com milhares de locais, cada um deles executando alguns sistemas locais de ponto de venda (PoS) que precisam operar em modo desconectado. Esses cenários são adequados para uma solução simples de banco de dados de borda, como o Edge Server, que oferece suporte eficaz a esses tipos de casos de uso localizados sem a complexidade e o custo de uma plataforma de banco de dados em grande escala.
Acesso flexível aos dados e sincronização de dados off-line em primeiro lugar
Alguns aplicativos de borda exigem acesso direto aos dados por meio de clientes HTTP prontos para uso, enquanto outros exigem sincronização de dados off-line em tempo real com clientes de borda. Por exemplo, considere um aplicativo de check-in de eventos em que os participantes digitalizam ingressos digitais em seus dispositivos móveis nas entradas do local. O processo de check-in em cada portão deve ser extremamente rápido para garantir que dezenas de milhares de participantes possam entrar no evento a tempo.
O Edge Server oferece soluções flexíveis para esses cenários, suportando padrões simples de acesso a dados por meio de uma interface RESTful. Além disso, os eventos de escaneamento precisam ser sincronizados entre os servidores do local para manter a consistência por meio de um protocolo robusto de sincronização de dados baseado em WebSocket. Esse protocolo tem alimentado de forma confiável as implementações críticas de negócios do Couchbase Mobile por mais de uma década.
Arquitetura do servidor de borda
O diagrama abaixo mostra os elementos fundamentais do Couchbase Edge Server:
Administração
-
-
-
- Durante a inicialização, o Edge Server é configurado usando um arquivo de configuração formatado em JSON. Além disso, o servidor fornece uma interface RESTful para o gerenciamento de replicações, acessível exclusivamente a usuários com a senha administrador função.
-
-
API de acesso a dados REST
Uma interface RESTful que permite que qualquer cliente HTTP, incluindo aplicativos de navegador, possa:
-
-
-
- Realizar operações CRUD em documentos
- Executar consultas SQL++
- Assine e receba atualizações em tempo real sobre alterações nos documentos
-
-
Sincronização de dados downstream com clientes de borda
-
-
-
- Os aplicativos Couchbase Lite executados em clientes de borda móveis e de desktop podem sincronizar dados com um Edge Server local usando um protocolo de replicação baseado em WebSocket.
-
-
Sincronização de dados upstream com o Couchbase Server remoto
-
-
-
- Quando a conectividade com a Internet está disponível, o Edge Server pode sincronizar dados com um App Services remoto usando um protocolo de replicação baseado em WebSocket.
-
-
Sincronização do servidor de borda
-
-
-
- Os Edge Servers podem sincronizar dados diretamente entre si por meio de soquetes da Web. Isso é útil quando há vários Edge Servers que precisam ser mantidos em sincronia na borda ou quando é possível configurar o Edge Server em uma configuração de backup primário.
-
-
Segurança
O Edge Server foi projetado com um seguro por padrão incorporando os seguintes recursos:
-
-
-
- Todo acesso a dados de clientes de borda requer autenticação, seja por meio de autenticação básica com credenciais de nome de usuário/senha ou autenticação baseada em certificado usando mTLS.
- Todas as comunicações são criptografadas usando TLS.
- A sincronização de dados e a execução de consultas são desativadas por padrão e devem ser ativadas explicitamente.
- Por conveniência, o Edge Server fornece um modo CLI para gerar certificados anônimos autoassinados para uso com o servidor. Esses certificados garantem a comunicação criptografada por TLS, mesmo que a validação da identidade do servidor seja ignorada.
- O Edge Server também suporta um modo CLI para gerar senhas Bcrypt, permitindo a configuração de usuários do cliente de borda que são autenticados para acessar e sincronizar dados.
-
-
Banco de dados pré-construído
-
-
-
- O Edge Server pode ser configurado para criar um banco de dados local que sincroniza dados de uma instância remota do App Services ou carrega dados de um banco de dados local existente.
-
-
Capacidade de suporte
-
-
-
- Além disso, o Edge Server suporta o registro operacional para facilitar a depuração e a solução de problemas, bem como o recurso de registro de auditoria.
-
-
Topologias de implantação de borda
O Edge Server suporta a implementação em várias topologias na borda, permitindo uma ampla gama de casos de uso. Em cada um dos casos, o Edge Server pode, opcionalmente, sincronizar dados com o Capella App Service/servidor remoto na nuvem.
Topologia 1
Leia/grave dados ou ouça as alterações de dados do Edge Server por meio de uma interface RESTful de qualquer cliente HTTP:
Topologia 2
Implante clientes de borda em uma configuração mista, com clientes HTTP que acessam dados por meio da API REST e clientes Couchbase Lite que oferecem suporte à sincronização de dados off-line primeiro:
Topologia 3
Implante vários Edge Servers na borda, cada um atendendo a um subconjunto de clientes locais. Configure os Edge Servers para sincronizar os dados entre si, garantindo a consistência eventual em todos os clientes locais.
Essa topologia também pode ser aproveitada para implementar servidores Edge em uma configuração primária-secundária para alta disponibilidade (HA):
Recursos e próximas etapas
Assista ao nosso vídeo de visão geral e veja mais recursos abaixo:
Aqui estão links para alguns recursos úteis para você começar:
-
- Baixar e experimente o Edge Server gratuitamente hoje mesmo. Faça o upgrade para Licença corporativa quando você estiver pronto para implantar seu aplicativo em produção
- Acesso em DockerHub para implementações em contêineres
- Explorador Servidor de borda e seus casos de uso
- Leia o desenvolvedor Documentação
- Assista ao Vídeo explicativo do Couchbase Edge Server
- Instale o Aplicativo de amostra
Agradecimentos
Agradecimentos especiais a Jens Alfke por suas contribuições significativas para o produto e para a Mark Gamble por suas contribuições para esta postagem.