Temos o prazer de anunciar o Versão GA do Couchbase Lite 3.0 e Sync Gateway 3.0 plataformas para soluções de computação móvel e de borda

Essa versão principal faz grandes avanços na área de computação de borda expandindo nosso suporte à plataforma de dispositivos de borda com a introdução da API C para o Couchbase Lite. A nova API C facilita o uso do Couchbase Lite em uma ampla gama de plataformas incorporadas.

Além disso, melhorias significativas na arquitetura simplificam a configuração e a administração da plataforma. Modularizamos a configuração do Sync Gateway, tornando-o "sensível ao cluster" e agora fornecemos um ponto de extremidade seguro da API RESTful para simplificar a administração do tempo de execução. Isso, além de várias atualizações relacionadas à segurança. E tudo isso é apenas a ponta do iceberg.

Esta postagem apresenta os recursos significativos da versão beta 3.0. Para saber mais sobre outras correções de bugs e pequenos aprimoramentos, consulte a seção Gateway de sincronização e Couchbase Lite notas de versão específicas da plataforma.

Mergulhe nas versões beta

Veja como você pode começar a avaliar os novos recursos do Couchbase Lite e do Sync Gateway 3.0 beta:

A versão beta do Couchbase Lite 3.0

Suporte à API C

Há alguns anos, lançamos uma API em C para o Couchbase Lite como um projeto de laboratório de engenharia. Ficamos impressionados com o nível de interesse e com a variedade de casos de uso.

Hoje, temos o prazer de anunciar que agora ofereceremos suporte oficial à API C para Couchbase Lite. No processo de produção da API C, incluímos suporte para recursos de nível empresarial, como criptografia de banco de dados, paridade de recursos com outras plataformas Couchbase Lite, limpamos a API, otimizamos a implementação subjacente e muito mais.

Proposta de valor

    • C é a língua franca das linguagens de programação. Por isso, é fácil criar associações de linguagens sobre a API C, o que significa que os desenvolvedores agora podem criar aplicativos em dispositivos de borda usando uma ampla variedade de linguagens de programação, como Python, JavaScript, Ferrugem, Iretc.
    • A API C é compatível com plataformas móveis e de desktop. Os desenvolvedores podem usar Interface de função estrangeira (FFI) para criar associações para linguagens de plataforma cruzada, como Dart. Para aplicativos multiplataforma com estruturas como FlutuaçãoCom o IoT, os desenvolvedores podem criar aplicativos de IoT em C que são executados em plataformas incorporadas com um espaço relativamente pequeno de memória e recursos de computação em comparação com um desktop padrão ou um dispositivo móvel inteligente.

Saiba mais: Documentação.

Criptografia em nível de campo do lado do cliente em clientes C do Couchbase Lite

A nova API C também oferece suporte à criptografia no lado do cliente e em nível de campo, um recurso que será introduzido em outras plataformas Couchbase Lite no futuro.

Usando o novo recurso de criptografia no lado do cliente, os clientes do Couchbase Lite C podem criptografar campos em documentos antes de replicar os dados através do fio para Servidor Couchbase. Somente os clientes com acesso às chaves de criptografia corretas podem descriptografar e ler os dados protegidos. A criptografia no lado do cliente é compatível com a Formato de criptografia em nível de campo do Couchbase Server SDK.

Proposta de valor

    • Permitir a transferência segura de dados confidenciais para servidores de back-end, garantindo que os dados confidenciais nunca sejam vazados para agentes que não tenham credenciais ou privilégios para acessar os dados.
    • Aplicativos Couchbase Lite para criptografar/descriptografar campos confidenciais em documentos usando qualquer estrutura de criptografia de sua escolha.

Saiba mais: Documentação.

A linguagem de consulta SQL++ para dispositivos móveis

No Couchbase Lite 2.0, introduzimos a interface QueryBuilder que permitia que você consultasse o banco de dados do Couchbase Lite usando uma API fluente com semântica semelhante à do SQL. Na versão 3.0, estamos expandindo a API de consulta para oferecer suporte a SQL++-strings de consulta formatadas (anteriormente conhecidas como N1QL).

O SQL++ for Mobile é uma implementação do Couchbase de uma linguagem de consulta SQL-for-JSON emergente. Os desenvolvedores agora podem enviar consultas baseadas em strings em um formato de sintaxe familiar semelhante ao SQL. Isso é um acréscimo à API QueryBuilder que continua a ser suportada.

Proposta de valor

    • Embora existam alguns diferenças entre as implementações do Couchbase Lite e do Server SQL++De modo geral, os desenvolvedores de aplicativos podem reutilizar as mesmas consultas no Couchbase Server e no Couchbase Lite, reduzindo assim o esforço necessário para desenvolver, testar e otimizar suas consultas.
    • Uma parte significativa do esforço no desenvolvimento de plug-ins de ponte para tecnologias híbridas ou de plataforma cruzada, como Ionic e React Native, é a ponte da API QueryBuilder. Uma única API baseada em string simplifica muito esse esforço. Consulte os exemplos abaixo que demonstram como é fácil fazer a ponte entre APIs de consulta de JavaScript para o idioma nativo.
    • Obviamente, uma API baseada em string é a única opção viável com a API C. Com a introdução do suporte à API C, esse aprimoramento foi inevitável, pois nos esforçamos para ter paridade de recursos em todas as plataformas do Couchbase Lite.

Leia mais: Documentação.

Suporte a Kotlin no Android

Reconhecemos que Kotlin está crescendo em popularidade como a linguagem preferida para o desenvolvimento de aplicativos Android.

Antes da versão beta 3.0, os desenvolvedores de aplicativos Android aproveitavam o fato de que O Kotlin é totalmente interoperável com o Java e, portanto, poderia usar o Android Java SDK para o Couchbase Lite em aplicativos Kotlin.

A nova versão do Couchbase Lite para Android oferece uma API idiomática totalmente suportada e pronta para uso para Kotlin que permite a integração perfeita com aplicativos Android desenvolvidos em Kotlin sem a necessidade de extensões personalizadas.

Proposta de valor

    • Os desenvolvedores têm pedido por isso e nós ouvimos! Os desenvolvedores de Kotlin agora podem adotar padrões comuns de Kotlin em seu aplicativo móvel para Android.

Leia mais: Documentação.

Eliminação automática de dados do dispositivo na revogação do acesso ao canal

Canais são o mecanismo fundamental para a aplicação do controle de acesso usando o Sync Gateway. Eles garantem que somente os usuários com acesso a um canal específico possam acessar documentos nesse canal.

Quando um usuário perde o acesso a um canal e, consequentemente, perde o acesso aos documentos no canal, os clientes do Couchbase Lite eliminam automaticamente todos os documentos locais no dispositivo que pertencem ao canal revogado. Esse é o caso, desde que o usuário não tenha acesso ao documento por meio de outro canal. Isso é importante para a aplicação de políticas de governança e retenção de dados. Os usuários podem optar por não usar esse recurso.

Proposta de valor

    • Os aprimoramentos da tecnologia de sincronização simplificam a implementação de fluxos de trabalho complexos relacionados à aplicação de políticas de governança e retenção de dados. Veja a seguir um exemplo desse fluxo de trabalho:
      • Um associado de vendas, "Bob", responsável pela "Region_East", recebe temporariamente acesso a um canal da "Region_West". Os canais incluem documentos de leads específicos da região.
      • Quando um novo associado é contratado para a região oeste, o acesso de Bob ao canal "region_west" é revogado.
      • Todos os documentos sincronizados anteriormente devem ser removidos do dispositivo de Bob.

Leia mais: Documentação.

Versão beta do Sync Gateway 3.0

Configuração modular persistente e centralizada

Nesta versão, estamos introduzindo aprimoramentos arquitetônicos essenciais que simplificam a configuração e o gerenciamento do Sync Gateway pelos administradores.

Estamos nos afastando de o arquivo de configuração JSON monolítico para uma abordagem mais modular e "com reconhecimento de cluster" para configurar os nós do Sync Gateway em um cluster. Agora, os usuários só precisam especificar a configuração de inicialização básica que inicializa um nó do Sync Gateway e o conecta a um cluster do Couchbase Server.

Posteriormente, os usuários podem configurar os bancos de dados do Sync Gateway em todo o cluster, as políticas de controle de acesso, as replicações entre os Sync Gateways etc. por meio do Ponto de extremidade REST do administrador. As atualizações de configuração podem ser feitas de forma modular por meio do mesmo endpoint REST.

A natureza de "reconhecimento de cluster" da configuração implica que as alterações feitas em um nó do Sync Gateway são automaticamente propagadas para todos ou para um subconjunto definido pelo usuário de nós do Sync Gateway no cluster. Por padrão, todos os nós de um cluster herdam a configuração, mas os usuários podem definir o escopo para um subconjunto de nós. As alterações de configuração feitas por meio do ponto de extremidade REST são mantidas e sobrevivem às reinicializações.

Proposta de valor

    • As alterações de configuração do banco de dados ad hoc feitas por meio da API REST são mantidas nos buckets de servidor correspondentes e não são perdidas durante as reinicializações do Sync Gateway, sejam elas falhas ou reinicializações deliberadas.
    • A capacidade de atualizar centralmente a configuração do banco de dados em grandes clusters simplifica a capacidade de gerenciamento e administração. As alterações no banco de dados feitas em um nó são aplicadas automaticamente a todos os nós de um cluster ou podem ser aplicadas a um subconjunto de nós.
    • A capacidade de administrar com segurança o cluster do Sync Gateway usando o ponto de extremidade admin REST permite o controle programático e simplifica a administração remota em implementações na nuvem sem depender de opções como o tunelamento SSH.
    • A manutenção de um arquivo monolítico é difícil, especialmente se a configuração for complexa. Vários bancos de dados do Sync Gateway podem ser definidos em um único arquivo de configuração. Isso pode ter consequências indesejáveis em aplicativos com vários locatários, em que as alterações no banco de dados feitas para um locatário exigiriam a reinicialização do nó, afetando todos os locatários.

Para simplificar o processo de migração, as configurações JSON existentes serão migrado automaticamente no upgrade. Embora os usuários sejam incentivados a usar a nova abordagem baseada em configuração persistente, eles podem continuar com a configuração herdada do Sync Gateway definindo o sinalizador disable_persistent_config. Então, quando os usuários estiverem prontos, eles poderão migrar para a nova abordagem.

Saiba mais: Documentação.

Administração remota segura

Um grande aprimoramento nesta versão que acompanha a introdução do a administração centralizada de configuração persistente é a administração segura de um cluster por meio da API REST de administração do Sync Gateway.

Novidade na versão beta 3.0, a API de administração impõe autenticação e controle de acesso baseado em funções por padrão. O usuário da API de administração deve ser configurado no Couchbase Server como um usuário RBAC com o Funções do Sync Gateway. Consequentemente, somente usuários autorizados têm permissão para acessar o ponto de extremidade de administração do Sync Gateway.

Proposta de valor

    • Com o suporte à autenticação, a API de administração pode ser acessada com segurança por clientes externos sem a necessidade de mecanismos de controle de acesso baseados em infraestrutura de rede (como túnel SSH ou regras de firewall). A administração remota é particularmente importante em implementações de nuvem distribuída. Os aplicativos de servidor de back-end, como servidores de identidade, exigem acesso programático à API REST de administração para configurar os usuários do Sync Gateway.
    • As restrições de acesso em nível de usuário oferecem mais flexibilidade do que os firewalls em nível de rede.
    • Aplicativos diferentes têm finalidades diferentes e usuários diferentes. Com esse aprimoramento, somente os usuários com uma função específica do Sync Gateway poderão administrar o Sync Gateway por meio do ponto de extremidade REST do administrador. As versões futuras do Couchbase Server incluirão suporte para funções mais refinadas do Sync Gateway, que permitirão um controle mais granular sobre a funcionalidade de administração. Fique atento!

Leia mais: Documentação.

Criptografia TLS ativada por padrão

A partir da versão 3.0, o TLS será ativado por padrão no Sync Gateway para comunicação com o Couchbase Server, garantindo que toda a comunicação do lado do servidor seja criptografada por padrão. Isso implica que o Couchbase Server acessa usando esquemas não TLS, como couchbase:// ou http:// não será permitido por padrão.

Embora seja altamente recomendável ter sempre a criptografia TLS ativada, reconhecemos que os usuários podem querer desativá-la para ambientes de desenvolvimento e teste. Portanto, os usuários têm a opção de desativar esse recurso.

Proposta de valor

    • Com esse novo comportamento padrão, estamos aplicando e incentivando as práticas recomendadas de segurança.

Leia mais: Documentação.

Atributos estendidos definidos pelo usuário (XAttrs) para metadados de controle de acesso

Antes da versão 3.0, as informações de concessão de acesso ao Sync Gateway, como canais e funções teve que ser incorporado ao corpo do documento. É comum especificar a lista de canais aos quais um documento pertence como uma propriedade dedicada dentro do documento.

Com essa versão beta, os usuários têm a opção de especificar concessões de acesso em Atributos estendidos definidos pelo usuário (XATTRs) fora do corpo do documento. O XAttr do documento pode ser acessado de dentro de a função de sincronização e pode ser usado para tomar decisões dinâmicas de roteamento de dados e concessão de acesso, como de costume.

Proposta de valor

    • A separação dos metadados de concessão de acesso do corpo do documento é lógica e oferece vários benefícios, inclusive:
      • A incorporação de metadados de concessão de acesso no corpo do documento implica que as alterações nas concessões de acesso associadas a um documento resultarão em uma atualização correspondente no corpo do documento. A atualização do documento, por sua vez, aciona uma replicação do documento para os clientes. As alterações de concessão de acesso são irrelevantes para os clientes, resultando em ruído. Mais importante ainda, se a lista de canais for grande, as replicações de documentos poderão resultar em um uso significativo da largura de banda.
      • A incorporação de concessões de acesso a canais no corpo do documento torna essas informações acessíveis a todos os usuários que estão sincronizando esse documento. Isso pode gerar alguns problemas de privacidade. Por exemplo, se os nomes de canais corresponderem a IDs de usuários, um usuário que replica um documento terá conhecimento de outros usuários que têm acesso ao documento.
      • O modelo de dados dos documentos existentes não precisa ser modificado para reequipar os dados de concessão de acesso com uma propriedade dedicada. Portanto, os processos e aplicativos existentes não precisam ser modificados para usar o Sync Gateway para sincronização de dados.

Obviamente, reconhecemos que há casos em que a melhor opção é derivar o canal ou as informações de concessão de acesso com base no conteúdo do corpo do documento. Portanto, essa opção continua a ser suportada.

Leia mais: Documentação.

Eliminação automática na revogação de acesso a canais na replicação de gateway entre sincronizações

Os clusters do Sync Gateway podem replicar dados entre si usando a tecnologia de replicação inter-Sync Gateway. Durante a replicação, se um usuário perder o acesso a um canal e, consequentemente, perder o acesso aos documentos no canal de replicação, o Sync Gateway no cluster em que a replicação é iniciada pode ser configurado para limpar automaticamente os documentos no canal revogado. Esse é um recurso opcional.

Proposta de valor

    • Os aprimoramentos da tecnologia de sincronização simplificam a implementação de fluxos de trabalho complexos relacionados à aplicação de políticas de governança e retenção de dados. Aqui está um exemplo de um fluxo de trabalho:
      • Um navio de cruzeiro está sincronizando dados específicos da viagem a partir dos sistemas de back-end na nuvem. Os canais incluem documentos específicos da viagem.
      • Após a conclusão da viagem, o acesso do navio ao canal de viagem é revogado.
      • Todos os documentos relacionados à viagem no navio devem ser eliminados.

Leia mais: Documentação.

Conclusão

Mas isso não é tudo. Há uma série de outros aprimoramentos que são discutidos nas notas de versão. Aqui estão os links diretos para alguns recursos úteis. Você pode saber mais em nosso Couchbase Lite e Sync Gateway O que há de novo páginas.

Se tiver dúvidas ou comentários, deixe um comentário abaixo ou entre em contato comigo pelo Twitter ou enviar-me um e-mail.

 

Autor

Postado por Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos

Priya Rajagopal é diretora sênior de gerenciamento de produtos da Couchbase, responsável pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente há mais de 20 anos em vários cargos técnicos e de liderança de produtos, com mais de 10 anos de foco em tecnologias móveis. Como delegada de padrões de IPTV da TISPAN, ela foi uma das principais colaboradoras das especificações de padrões de IPTV. Ela tem 22 patentes nas áreas de rede e segurança de plataforma.

Deixar uma resposta