Operador autônomo do Couchbase

Operador autônomo do Couchbase vs. Operador de Kubernetes do MongoDB Enterprise

Um Kubernetes Operator é uma extensão de software do Kubernetes que oferece suporte a recursos integrados para gerenciar seus aplicativos Kubernetes de forma automatizada e que segue os princípios do Kubernetes - especialmente o Loop de controle padrão.

Por que precisamos de um Operador de Kubernetes? Vamos lá Considere o exemplo do StatefulSets.

Os StatefulSets são ótimos para determinados casos de uso, mas não funcionam muito bem para executar softwares complexos, como bancos de dados, porque se concentram na criação e no gerenciamento de pods, e não no gerenciamento do software executado neles. Portanto, se você quisesse um cluster de quatro nós e implantasse Couchbase Usando o StatefulSets, você teria quatro pods do Couchbase não inicializados que não sabem uns dos outros. Caberia a você juntar os nós em um cluster, e isso significa tarefas operacionais adicionais.

Ao implantar Operador autônomo do Couchbase com um exclusivo personalizado Controlador do CouchbaseQuando um pod do Couchbase é implantado, o Kubernetes obtém conhecimento específico do Couchbase para que possa configurá-lo e uni-lo adequadamente a outros pods do Couchbase no cluster.

O provisionamento de cluster, a falha de nó, o dimensionamento ad-hoc e muitas outras tarefas de gerenciamento também exigem conhecimento específico do Couchbase no Kubernetes para serem automatizados adequadamente. Portanto, um operador do Kubernetes é a melhor maneira de tornar o banco de dados a principal escolha para o desenvolvimento nativo da nuvem no Kubernetes. No entanto, ao tentar descobrir qual banco de dados é realmente nativo da nuvem e mais adequado às metas da sua organização, você deve considerar vários fatores.

Neste artigo, comparo o Couchbase Autonomous Operator, uma parte essencial do Pilha nativa da nuvem do Couchbase contra o MongoDB Enterprise Kubernetes Operator sobre vários fatores que são fundamentais para tomar a decisão certa ao selecionar um banco de dados para desenvolvimentos nativos da nuvem.

Integrações nativas da nuvem

An architecture diagram of the Couchbase cloud-native stack

Figura 1: pilha nativa da nuvem do Couchbase

Conforme mostrado na Figura 1 acima, Operador autônomo do Couchbase tem integrações estreitas - e, em alguns casos, nativas - com ferramentas como o Prometheus Exporter, FluentBitHelm Chart, Service Broker, Operator Metering, Istio Service Mesh, CoreDNS, GlusterFS, Ceph, Portworx, CNI. Todos eles são totalmente certificados e compatíveis com o produto.

O MongoDB Enterprise Kubernetes Operator não oferece suporte nativo a todas essas integrações. O Service Broker e o Helm Chart são extensões do MongoDB Atlas, mas não do MongoDB Kubernetes Operator.

Arquitetura

An architecture diagram of Couchbase Autonomous Operator for Kubernetes

Figura 2: Arquitetura do operador autônomo do Couchbase para Kubernetes

O Couchbase Autonomous Operator é verdadeiramente nativo da nuvem e se baseia na estrutura padrão nativa da nuvem do Operator. Como um produto completo, todas as operações são executadas pelo Couchbase Autonomous Operator, seja provisionamento de banco de dados, backup/restauração, alertas/monitoramento ou integrações nativas com projetos de código aberto, como Prometheus ou API OSB.

O Couchbase Autonomous Operator fornece uma rede de segurança para os clientes que estão implantando no Kubernetes e simplifica a implantação do Couchbase com um controlador de admissão com controle de acesso baseado em função (RBAC).

An architecture diagram of MongoDB Enterprise Kubernetes Operator

Figura 3: Arquitetura do operador do MongoDB Enterprise Kubernetes. Fonte

O MongoDB Enterprise Kubernetes Operator é um invólucro em torno do MongoDB Ops Manager que em si é um invólucro em torno do banco de dados MongoDB. Por outro lado, o Couchbase Autonomous Operator não é um invólucro, mas um produto utilitário completo que amplia os recursos de automação do Couchbase no nuvem para oferecer implementações totalmente gerenciadas.

A arquitetura do MongoDB Enterprise Kubernetes Operator não é nativa da nuvem. Cada operação Day-2 não é realizada diretamente pelo MongoDB Kubernetes Operator, mas por meio do MongoDB Ops Manager, incluindo provisionamento, backup/restauração, alertas/monitoramento etc. O MongoDB Enterprise Kubernetes Operator também não tem um controlador de admissão.

Nível de maturidade do operador

Há cinco níveis de maturidade de qualquer operador de Kubernetes:

    • Instalação básica
    • Upgrades contínuos
    • Ciclo de vida completo
    • Insights profundos
    • Piloto automático

 

O Couchbase Autonomous Operator é certificado como um Operador Kubernetes de Nível 5 que atende aos critérios de cada nível até o Auto-piloto, o nível mais alto do Modelo de Maturidade da Capacidade do Operador. (Referência.)

O MongoDB Enterprise Kubernetes Operator não é um operador de nível 5. (Referência.)

Comparação de recursos: Operador autônomo do Couchbase vs. Operador de Kubernetes do MongoDB Enterprise

Categoria de recursos

Operador autônomo do Couchbase (CAO) 2.2 para Kubernetes

Operador de Kubernetes Empresarial MongoDB 1.10

Escala automática
O Couchbase Autonomous Operator oferece suporte ao dimensionamento automático de todos os serviços do Couchbase.

Esse recurso é único no setor de bancos de dados, pois Você pode dimensionar horizontalmente e de forma automática um único serviço ou um grupo de serviços com base em limites totalmente personalizados e definidos pelo usuário para qualquer estatística do Couchbase, de acordo com as necessidades específicas de seu ambiente.

O MongoDB Enterprise Kubernetes Operator não oferece suporte ao dimensionamento automático.

O MongoDB Atlas suporta apenas o dimensionamento automático vertical com estatísticas limitadas: utilização de memória e CPU.

Essa flexibilidade limitada pode custar muito caro durante os horários de pico se outras operações não forem configuradas (ou priorizadas) adequadamente durante o dimensionamento automático.

Hibernação do cluster
O Couchbase Autonomous Operator oferece suporte à hibernação do cluster com um IMEDIATO estratégia de desligamento.

Os documentos que não são liberados podem morrer, mas ao definir um DURABILIDADE é possível obter melhor controle sobre o comportamento do desligamento.

O MongoDB Enterprise Kubernetes Operator não oferece suporte à hibernação de cluster.

A hibernação do cluster é compatível apenas com o Atlas. A documentação do API DE PAUSA lista todas as propriedades de configuração do cluster que estão sendo pausadas, exceto a DURABILIDADE que é o parâmetro mais importante para que os clientes entendam o que acontece com as operações, consultas ou documentos em andamento. (Referência.)

Configuração e implantação (CI/CD)
O CAO oferece suporte a integrações nativas da nuvem com Helm Charts e API OSB.

O CAO pode ser implementado por meio do Couchbase Helm Chart e do Couchbase Service Broker.

O MongoDB Enterprise Operator não oferece suporte a integrações nativas com Helm Charts e API OSB.

Observação: o MongoDB pode oferecer suporte à API Helm ou OSB com outros produtos, como o Atlas ou o MongoDB Ops Manager, mas o MongoDB Enterprise Kubernetes Operator não.

Manutenção e upgrades
As atualizações de cluster do Kubernetes, as atualizações de CAO e as atualizações de cluster do Couchbase são compatíveis com o Couchbase Autonomous Operator.

O CAO oferece suporte a upgrades em massa, juntamente com os tradicionais upgrades contínuos, sem tempo de inatividade.

O Couchbase Autonomous Operator também oferece suporte a atualizações contínuas personalizadas, ou seja, você pode selecionar o número de pods ou uma porcentagem de pods em um cluster para atualizar, enquanto o restante dos pods continua a ser executado como está.

A documentação do MongoDB Enterprise Kubernetes Operator não menciona a atualização das instâncias do banco de dados MongoDB por meio do MongoDB Enterprise Kubernetes Operator.

O MongoDB Enterprise Kubernetes Operator não oferece suporte a upgrades em massa. De acordo com as etapas mencionadas aquiSe o Operador do Kubernetes do MongoDB Enterprise não for excluído, o Operador poderá sempre gerar um erro e exigir a exclusão do Operador, o que envolve tempo de inatividade. (Referência.)

Alta disponibilidade e recuperação de desastres
O Couchbase Autonomous Operator oferece suporte a alta disponibilidade (HA), afinidade de nós, failover automático, tolerância a falhas e XDCR. O MongoDB Enterprise Kubernetes Operator oferece suporte à tolerância a falhas e ao failover automático.

No entanto, ele depende internamente do MongoDB Ops Manager para operações de HA e XDCR, o que adiciona uma camada de serviço e pode afetar o desempenho em termos de taxa de transferência e latência.

Gerenciamento de segurança
O gerenciamento de segurança do Couchbase Autonomous Operator inclui suporte a RBAC, LDAP e TLS. O MongoDB Enterprise Kubernetes Operator fornece segurança e também inclui suporte a RBAC, LDAP e TLS por meio do MongoDB Ops Manager.
Gerenciamento de backup
O backup e a restauração são totalmente gerenciados pelo Couchbase Autonomous Operator de forma nativa.

Também há suporte para backup no AWS S3.

O backup/restauração não é gerenciado pelo MongoDB Enterprise Kubernetes Operator nativamente, mas pelo MongoDB Ops Manager.
Análise de observabilidade
O Couchbase Autonomous Operator tem integração nativa com o Prometheus, Grafana para monitoramento e alertas com FluentBit para encaminhamento centralizado de registros e registro de auditoria automatizado. Os alertas e o monitoramento são compatíveis com o MongoDB Ops Manager.

O MongoDB Enterprise Kubernetes Operator não tem uma integração empresarial nativa com o Prometheus ou o FluentBit

(Observação: a documentação do MongoDB Enterprise Kubernetes Operator não menciona essas integrações em nenhum lugar. Referência.)

Trabalho em rede
O Couchbase Autonomous Operator oferece suporte a integrações nativas da nuvem com CNI, CoreDNS e Istio Service Mesh. O MongoDB Enterprise Kubernetes Operator não tem essas integrações nativas.

A documentação do MongoDB Enterprise Kubernetes Operator não menciona nenhuma dessas integrações nativas da nuvem. (Referência.)

Armazenamento
O Couchbase Autonomous Operator oferece suporte a integrações de armazenamento nativo da nuvem para GlusterFS, Ceph e Portworx.

O Couchbase Autonomous Operator também oferece suporte à expansão on-line de volumes persistentes, bem como ao dimensionamento de volumes de backup on-line

Observação: a expansão de volume persistente on-line significa aumentar a escala de volumes persistentes sem precisar reiniciar os pods.

A documentação do MongoDB Enterprise Kubernetes Operator não menciona nenhuma dessas integrações nativas da nuvem. (Referência.)

O MongoDB Enterprise Kubernetes Operator não oferece suporte ao dimensionamento de armazenamento on-line. Ele também não oferece suporte ao dimensionamento de volume de backup on-line.

Conclusão

O MongoDB fornece a maioria de seus recursos avançados por meio do MongoDB Ops Manager ou do MongoDB Atlas, mas não oferece suporte a eles por meio do MongoDB Enterprise Kubernetes Operator. Essa camada adicional do Ops Manager aumenta o custo dos recursos, afeta o desempenho e acrescenta complexidades arquitetônicas desnecessárias.

Por outro lado, o Couchbase Autonomous Operator é um produto completo e oferece suporte a todos os serviços diretamente de uma forma verdadeiramente nativa da nuvem. O CAO é mais maduro do que qualquer outro operador Kubernetes no setor de banco de dados.

Referências

 

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

Autor

Postado por Roshani Sanghavi, gerente de produto, plataforma nativa da nuvem

Como gerente de produto do Couchbase Autonomous Operator, Roshani Sanghavi é responsável pela criação de soluções nativas da nuvem e integrações com parceiros relacionados. Ela tem mais de 8 anos de experiência no desenvolvimento e fornecimento de aplicativos nativos da nuvem, microsserviços em contêineres e sistemas distribuídos no espaço de nuvem, armazenamento e virtualização, usando várias plataformas/tecnologias, como AWS, GCP, VMware, Kubernetes e Docker, tendo trabalhado para a DellEMC, Cisco e IBM. Ela tem um MBA da Hult International Business School (São Francisco), com especialização em análise de negócios e ciência de dados, além de um diploma de graduação em engenharia de ciência da computação do Vishwakarma Institute of Technology (Índia) e um certificado de diploma em análise de negócios da Harvard Business School.

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.