~/blog/kubernetes $ cat comparing-mongodb-operators.md
title: Comparing Enterprise vs Community MongoDB K8S Operators
date:
categories: kubernetes
reading: 2 min

Recently I was evaluating MongoDB Kubernetes operators, as one possible way to migrate On-Prem MongoDB servers. I weren’t able to find any comparison, so I had to did it on my own.

Enterprise vs Community MongoDB K8s Operators

Criteriamongodb-kubernetes-operatormongodb-enterprise-kubernetes
URLmongodb-enterprise-kubernetes/mongodb-kubernetes-operator
Licensedevelopment, testing, and evaluation purposes onlyAPACHE
MaturityGeneral availability, Guthub 181 starsOpensource, Github 64 stars
DocumentationGithub + enterprise-grade documentation: k8s-operatorGithub, pretty sparse
TopologyStandalone
ReplicaSet
ShardedCluster
ReplicaSet
UpgradingYesYes
DowngradingYesYes
ScalingYesYes
TLS:YesYes
OptionsMany: replicaset optionsA few
RequestsYesNo
LimitsYesNo
PVCYesYes
PVC configurationYesNo, default 10G
Integration with
Ops Manager
YesNo
MonitoringYes, via OpsManagerNo
BackupsYes, via OpsManagerNo

Results

MongoDB Community Kubernetes Operator is still pretty young and not widely adopted. It supports only ReplicaSet with basic functional. At the moment it is not possible to configure Pod Template options and PVC options, like storageclass or size.

MongoDB Enterprise Kubernetes Operator is more mature, but still in general availability. It provides wide amount of options, allowing finely tune your database. Also it is integrated with OpsManager, providing nice webUI with graphs, managements options and built-in backups. On the downside, due to it’s license, it’s only allowed for development or testing. To use it it production, you have to buy it.

At the time of writing(2020-08-03) Community Operator doesn’t look mature for production use. Enterprise Operator looks good, but it requires purchase.

For us the decision was to use MongoDB Helm Chart with our own IaaC solution.

~/blog
$