La primera decisión arquitectónica que se toma al planificar una implementación Enterprise Advanced es dónde se ejecuta MongoDB: en máquinas virtuales, servidores físicos o en Kubernetes.
Esta página explica por qué esta decisión es importante, cuándo cada plataforma es la adecuada y resume las principales diferencias entre ellas. No incluye información sobre la instalación. Una vez que haya elegido una plataforma, la documentación de Ops Manager y MongoDB Controllers for Kubernetes (MCK) le guiará a través del proceso de instalación y configuración.
Por qué la elección importa
Las máquinas virtuales, los servidores físicos y Kubernetes son plataformas totalmente compatibles con las implementaciones avanzadas de Enterprise, pero presentan diferencias importantes. La plataforma que elija determinará el nivel de automatización que ofrece MongoDB, las funciones que podrá utilizar y la facilidad con la que podrá cambiarla posteriormente.
Elige tu plataforma
Kubernetes
En este enfoque, MCK, el operador de MongoDB para Kubernetes, gestiona tanto la infraestructura como la configuración de MongoDB de forma declarativa. Esto significa que uno o varios archivos de configuración definen una implementación de MongoDB, y la automatización de MongoDB permite gestionar la infraestructura y la configuración de MongoDB.
Cómo funciona:
Usted declara el despliegue que desea. MCK se encarga de desplegar y administrar los recursos de Kubernetes que utiliza MongoDB, como StatefulSets, pods, almacenamiento y redes. MCK se coordina con Ops Manager y configura el despliegue.
Ops Manager sigue siendo necesario para la automatización, las copias de seguridad y la monitorización. MCK y Ops Manager trabajan conjuntamente. MCK automatiza la infraestructura y Ops Manager proporciona los servicios necesarios para ejecutar MongoDB como servicio. No son alternativas.
Ventajas e inconvenientes:
Las implementaciones, el escalado, los cambios de fragmentación y las actualizaciones se convierten en cambios de configuración declarativos en lugar de requerir la coordinación interna de la infraestructura y las operaciones de Ops Manager.
Las implementaciones y actualizaciones no requieren la instalación ni la reinstalación de archivos binarios en todos los hosts.
Implementaciones multirregionales: los miembros de un conjunto de réplicas o clúster fragmentado pueden abarcar varios clústeres de Kubernetes en diferentes ubicaciones, lo que garantiza la resiliencia y la alta disponibilidad en todos los clústeres de Kubernetes y regiones geográficas. Si un clúster o sitio falla, los miembros se pueden recrear en otro mediante la creación automatizada de nuevos nodos de MongoDB en otros clústeres de Kubernetes.
Requerido para los nodos de Búsqueda Avanzada Empresarial. Si la Búsqueda está incluida en el alcance, Kubernetes debe formar parte del despliegue al menos para los nodos de Búsqueda, pero no necesariamente para los nodos de base de datos.
Kubernetes es la única plataforma donde MongoDB puede ofrecer automatización a nivel de infraestructura. Por ejemplo, el aprovisionamiento automático de balanceo de carga para nodos de búsqueda.
Al igual que con las máquinas virtuales, usted sigue siendo responsable de la infraestructura subyacente, su arquitectura y su configuración. Esto incluye el aprovisionamiento de almacenamiento con estado para sus clústeres de Kubernetes y el soporte de los equipos internos pertinentes que gestionan y mantienen la infraestructura de Kubernetes. Según sus requisitos para ejecutar MongoDB, esto puede extenderse a aspectos como la conectividad entre clústeres de Kubernetes si desea implementar instancias individuales de MongoDB en varias ubicaciones y, por lo tanto, en varios clústeres de Kubernetes.
Cuando es la elección correcta:
Organizaciones que buscan ejecutar "MongoDB como servicio" con una mínima sobrecarga operativa.
Nuevas implementaciones avanzadas para empresas.
Equipos que desean una interfaz unificada para la gestión de infraestructura y bases de datos, y acceso completo a las funciones avanzadas de Enterprise, incluida la búsqueda.
Máquinas virtuales o servidores físicos
En este proceso, la gestión del ciclo de vida de la infraestructura para sus implementaciones de MongoDB es su responsabilidad. El agente de MongoDB se ejecuta en cada host y le permite configurar MongoDB a través de Ops Manager.
Cómo funciona:
Usted mismo se encarga del aprovisionamiento de las máquinas virtuales o servidores físicos. MongoDB no gestiona la infraestructura a nivel de máquina virtual. Puede utilizar herramientas de automatización o existentes para aprovisionar las máquinas virtuales o servidores.
Se instala el agente de MongoDB en cada host y se configura para que apunte a Ops Manager.
Ops Manager se encarga de la configuración, la copia de seguridad y la supervisión de las implementaciones que se ejecutan en esos hosts.
Ventajas e inconvenientes:
Ejecutarlo en máquinas virtuales le permite reutilizar cualquier herramienta de aprovisionamiento de infraestructura con la que ya esté familiarizado para crear hosts para MongoDB.
Sin embargo, esto significa que cualquier operación que implique cambios tanto en la infraestructura como en la configuración de MongoDB es una operación de dos pasos, incluyendo el despliegue y el escalado. Se aprovisiona o redimensiona la infraestructura, como agregar máquinas virtuales o aumentar la RAM y la CPU, y se realiza el cambio de configuración correspondiente en Ops Manager. Dos sistemas controlan diferentes partes del mismo despliegue, infraestructura y configuración, y es necesario mantenerlos sincronizados. Mantener la sincronización de ambos sistemas es responsabilidad del usuario, y se debe automatizar y mantener dicha sincronización si es necesario.
MongoDB no puede recuperar la infraestructura por usted. Por ejemplo, si un sitio deja de funcionar, recrear el conjunto de réplicas o los miembros del shard en otra ubicación implica aprovisionar nuevos hosts, configurar el agente y volver a conectarlos al clúster.
Cuando es la elección correcta:
Implementación de entornos de máquinas virtuales con herramientas de infraestructura y automatización de máquinas virtuales ya existentes.
Organizaciones donde la adopción de Kubernetes no es posible.
La implementación basada en máquinas virtuales es totalmente compatible, y muchos clientes de Enterprise Advanced ya la utilizan. No se trata de una solución obsoleta ni en desuso, y MongoDB sigue invirtiendo para reducir la sobrecarga y la complejidad del autoalojamiento de MongoDB, independientemente de la plataforma subyacente.
Nota
La función de búsqueda requiere Kubernetes, incluso si la base de datos se ejecuta en máquinas virtuales. Si añade la función de búsqueda posteriormente, deberá introducir un entorno Kubernetes para la capa de búsqueda. No es necesario migrar la base de datos ni el gestor de operaciones.
Recapitulación
Las máquinas virtuales, los servidores físicos y Kubernetes son plataformas totalmente compatibles para ejecutar MongoDB. Kubernetes ofrece el máximo nivel de automatización, incluyendo el aprovisionamiento de infraestructura y la gestión del ciclo de vida de los clústeres, y es la única plataforma compatible con la búsqueda. Usted sigue siendo responsable de proporcionar y gestionar los clústeres de Kubernetes subyacentes y cualquier almacenamiento con estado.
Si Kubernetes no entra dentro de los planes de su organización, la implementación basada en máquinas virtuales con Ops Manager es totalmente compatible. Las principales ventajas de Enterprise Advanced, que incluyen copias de seguridad, monitorización, orquestación y soporte, siguen estando disponibles.