Estamos animados em apresentar o Couchbase Edge Server, uma plataforma de dados leve e local, projetada para potencializar seus aplicativos de computação de ponta. Com recursos como armazenamento de dados local, 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 ponta.
Couchbase é líder há muito tempo 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 o App Services/Sync Gateway para sincronização de dados contínua (conhecidos coletivamente como Couchbase Mobile). Agora, estamos expandindo a gama de casos de uso de ponta que podem ser implantados com nossa solução móvel existente, para atender às demandas exclusivas de certos aplicativos de ponta, 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, feita sob medida para aplicativos de ponta.
Feito sob medida para a borda
Ao desenvolver o Edge Server, não reduzimos simplesmente o Couchbase Server e o Sync Gateway para se ajustarem a um fator de forma menor. Em vez disso, o Edge Server foi criado especificamente para ambientes de ponta.
Construído no comprovado mecanismo Couchbase Lite Core — o mesmo mecanismo que alimenta o banco de dados incorporado Couchbase Lite usado em milhões de aplicativos móveis, de desktop e de hardware incorporado personalizado para casos de uso offline-first críticos para os negócios — o Couchbase Edge Server está pronto para atender às suas necessidades de produção hoje.
Veja como o Edge Server se encaixa no restante da pilha móvel.
Requisitos de aplicação de computação de ponta
O Edge Server oferece as vantagens tradicionais de computação de ponta, como acesso a dados locais de baixa latência, otimização de largura de banda, continuidade de negócios e privacidade de dados aprimorada. Esses benefícios agora são acessíveis mesmo em ambientes com recursos altamente limitados:
Implantável em ambientes com recursos altamente limitados
Há implantações de ponta com recursos de armazenamento e computação severamente 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 pedidos de refeições (IFE) no encosto do assento do voo que atende centenas de passageiros de companhias aéreas. Este sistema deve operar de forma confiável em tempo real, mesmo a 37.000 pés 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 Sync Gateway, que exige significativamente mais capacidade de armazenamento e computação, simplesmente não é viável em tais cenários. O Edge Server aborda esse desafio com seu design leve, permitindo a implantação em hardware com requisitos mínimos de recursos, tão baixos quanto 1 GB de RAM.
Solução leve e econômica em escala
As implantações de ponta podem ser dimensionadas para centenas ou até milhares de locais, geralmente exigindo apenas uma solução de banco de dados de ponta leve para atender a um punhado de clientes locais em cada local. A implantação de uma plataforma de dados distribuída de “classe empresarial” e uma solução de sincronização projetada para acesso de dados locais de alto volume, desempenho e escala em cada local de ponta costuma ser um exagero e pode ser proibitivamente cara.
Por exemplo, considere uma grande rede de varejo com milhares de locais, cada um executando alguns sistemas PoS locais que precisam operar em modo desconectado. Esses cenários são adequados para uma solução de banco de dados de ponta simples 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 a dados e sincronização de dados offline primeiro
Alguns aplicativos de ponta exigem acesso direto aos dados por meio de clientes HTTP prontos para uso, enquanto outros exigem sincronização de dados offline-first em tempo real com clientes de ponta. Por exemplo, considere um aplicativo de check-in de evento em que os participantes escaneiam 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 no horário. O servidor de ponta 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 nos servidores do local para manter a consistência, o que é habilitado por meio de um protocolo robusto de sincronização de dados baseado em websocket. Este protocolo tem alimentado de forma confiável as implantações críticas do Couchbase Mobile para os negócios por mais de uma década.
Arquitetura
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 gerenciar replicações, acessível exclusivamente a usuários com a função “admin”.
API de acesso a dados REST
Uma interface RESTful que permite que qualquer cliente HTTP, incluindo aplicativos de navegador,:
-
- Execute operações CRUD em documentos.
- Execute consultas SQL++.
- Assine e receba atualizações em tempo real sobre alterações em documentos
Sincronização de dados downstream com clientes Edge
Os aplicativos Couchbase Lite executados em clientes de ponta móveis e de desktop podem sincronizar dados com um servidor de ponta local usando um protocolo de replicação baseado em WebSocket.
Sincronização de dados upstream com servidor Couchbase remoto
Quando a conectividade com a Internet estiver disponível, o Edge Server poderá sincronizar dados com um App Services remoto usando um protocolo de replicação baseado em WebSocket.
Sincronização do servidor Edge
Os Edge Servers podem sincronizar dados diretamente entre si por meio de web sockets. Isso é útil quando há vários Edge Servers que precisam ser mantidos em sincronia no edge ou quando é possível configurar o Edge Server em uma configuração primária-backup.
Segurança
O Edge Server foi projetado com uma abordagem “segura por padrão”, incorporando os seguintes recursos:
-
- Todo acesso a dados de clientes de ponta 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 desabilitadas por padrão e devem ser explicitamente habilitadas.
- Para sua conveniência, o Edge Server fornece um modo CLI para gerar certificados auto-assinados anônimos para uso com o servidor. Esses certificados garantem a comunicação criptografada por TLS, mesmo se a validação de identidade do servidor for ignorada.
- O Edge Server também oferece suporte a um modo CLI para gerar senhas Bcrypt, permitindo a configuração de usuários de clientes de ponta 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.
Suportabilidade
Além disso, o servidor Edge oferece suporte ao 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 implantaçã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
Ler/escrever dados ou ouvir alterações de dados do Edge Server por meio de uma interface RESTful de qualquer cliente HTTP.
Topologia 2
Instale clientes de ponta em uma configuração mista, com clientes HTTP acessando dados por meio da API REST e clientes Couchbase Lite oferecendo suporte à sincronização de dados offline primeiro.
Topologia 3
Instale vários Edge Servers na borda, cada um atendendo a um subconjunto de clientes locais e configure os edge servers para sincronizar dados entre si para permitir consistência eventual de dados em todos os clientes locais.
Essa topologia também pode ser aproveitada para implantar Edge Servers em uma configuração primária-secundária para Alta Disponibilidade (HA).
Recursos e Próximos Passos
Aqui estão links para alguns recursos úteis para você começar
-
- Baixe e experimente o servidor edge gratuitamente hoje mesmo. Atualize para a licença Enterprise quando estiver pronto para implementar seu aplicativo em produção,
- Disponível em DockerHub para implantações em contêineres
- Edge Server and Use Cases
- Documentation
- Vídeo explicativo sobre o Edge Server
- Sample App
Agradecimentos
Agradecimentos especiais a Jens Alfke for his significant contributions to the product and to Mark Gamble por suas contribuições para esta postagem.