Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/

Notas de producción

Con MongoDB Atlas como tu plataforma de datos, tu enfoque operativo puede alejarse de las tareas operativas y flujos de trabajo mundanos requeridos para compilar y mantener la infraestructura de la base de datos, permitiéndote concentrarte en ayudar a los ingenieros a agregar valor al negocio. En lugar de mantener el hardware y estar al día con los parches de software a nivel de sistema operativo, los ingenieros pueden dedicar su tiempo y energía a desarrollar modelos de datos que satisfagan las necesidades actuales y futuras de su empresa.

Este documento describe algunas de las mejores prácticas para establecer y mantener una implementación exitosa en producción de MongoDB utilizando clústeres de MongoDB Atlas.

Para más mejores prácticas de Atlas, consulta el Centro de Arquitectura de Atlas.

Tip

  • Para aprender sobre consideraciones de dimensionamiento, consulta Dimensionamiento de clústeres de Atlas y selección de nivel.

  • Para obtener más información sobre resiliencia, consulte Compile una aplicación resiliente con MongoDB Atlas.

  • Para obtener más información sobre Continuous Cloud Backup. ver Recupera un punto en el tiempo con las copias de seguridad continuas en la nube.

MongoDB administra y opera la infraestructura necesaria para proporcionar un servicio de base de datos MongoDB al cliente. Las responsabilidades de MongoDB incluyen lo siguiente:

  • Gestione los clústeres de bases de datos y la infraestructura subyacente, asegurando la disponibilidad, estabilidad y rendimiento de MongoDB, respaldado por un 99.995% Acuerdo de Nivel de Servicio (SLA) de disponibilidad para clústeres de tamaño M10 y más grande.

  • Asegura la salud de los nodos de cómputo subyacentes. Asegúrate de que están activos, que tienen conectividad de red y que cuentan con todos los parches recomendados a nivel de sistema operativo para mantener el Acuerdo de Nivel de Servicio (ANS) de tiempo de actividad.

  • Gestione la configuración de la base de datos MongoDB según las opciones de diseño específicas del cliente realizadas a través de la interfaz de usuario de Atlas o la API REST.

  • Aplique todas las actualizaciones de mantenimiento de MongoDB automáticamente para garantizar que se utilicen las últimas correcciones de errores del producto.

  • Administra el perfil de seguridad, incluidos el Control de Acceso Basado en Roles, adición de direcciones IP a una lista de acceso IP y emparejamiento para maximizar la seguridad del clúster según las indicaciones del cliente.

  • Proporcionar servicios de respaldo y restauración.

El cliente continúa desarrollando e implementando aplicaciones que acceden a MongoDB, sin tener que gestionar directamente los recursos subyacentes de la base de datos y/o la infraestructura.

Importante

Atlas no admite la migración de clústeres de un Proyecto a otro. En su lugar, realiza una migración en vivo.

MongoDB Atlas abstrae las operaciones de la base de datos para que usted pueda centrarse en decisiones de gestión de alto nivel y de alto valor. Puede gestionar el acceso a sus clústeres de Atlas con los roles de usuario de Atlas. Puede aplicar estos permisos solo a nivel de organización o de proyecto. Por lo tanto, debe planificar cuidadosamente la jerarquía de sus organizaciones y proyectos.

Tip

Si necesitas crear más proyectos que el límite de 250 organizaciones de Atlas, crea más organizaciones para almacenarlos. Para obtener más información, consulte Límites de organización y proyecto de Atlas.

Para crear una jerarquía bien diseñada de organizaciones y proyectos dentro de Atlas, divide tus clústeres en proyectos que tengan sentido para tus casos de uso. Esto permite la máxima eficiencia empresarial con una fricción operativa mínima.

Tip

Utiliza Facturación de varias organizaciones para vincular varias organizaciones de Atlas y recibir una sola factura por todas ellas. Para obtener más información, consulta Casos de uso de facturación en varias organizaciones.

A nivel de Organización, puedes implementar controles de seguridad y crear usuarios que funcionen en uno o más Proyectos. La facturación de Atlas se realiza a nivel de la organización.

Para controlar eficientemente el acceso y los privilegios de los usuarios, puedes agruparlos en equipos a nivel de la Organización.

Los proyectos ofrecen un aislamiento de seguridad y un límite de autorización, por lo que normalmente son asignados por el equipo de la aplicación y el entorno de la aplicación. Por ejemplo, dentro de dos equipos de aplicación puede haber seis proyectos: uno para cada equipo en los entornos de Desarrollo, Preproducción y Producción.

Puede crear usuarios y roles de Atlas a nivel de proyecto con acceso adecuado a los diferentes entornos de aplicaciones de producción y desarrollo.

  • Las personas usuarias con el rol de Project Read Only pueden acceder a la supervisión a nivel de proyecto y a los metadatos de la salud del sistema sin tener acceso a ningún dato de colección ni a operaciones administrativas.

  • Los usuarios con el rol pueden escalar clústeres y realizar otras operaciones administrativas, pero no tienen acceso a nivel de Project Cluster Manager datos.

Importante

Funciones no disponibles en clústeres flexibles

Los clústeres flexibles no admiten la mayoría de las siguientes responsabilidades. Para obtener más información, consulte Limitaciones del clúster flexible.

Otras responsabilidades a nivel de proyecto incluyen:

Elegir la convención de nomenclatura correcta para sus clústeres Atlas es un buen primer paso para ejecutar un entorno de producción exitoso. Una vez que haya nombrado un clúster, no podrá cambiarlo, por lo que es importante hacerlo bien desde el principio. Las siguientes sugerencias pueden facilitar el análisis de registros y la diferenciación de clústeres.

  • Utilice nombres descriptivos y en minúsculas.

  • Evita caracteres especiales.

  • Junta palabras con guiones o guiones bajos. Evita los espacios en blanco entre palabras.

  • Emplear una convención que deje claro si un clúster es para producción, pruebas previas o propósitos de desarrollo.

  • No incluir información confidencial en tus nombres de clúster.

Algunos ejemplos de buenos nombres de clúster:

  • prod-aws-website

  • staging-gcp-internal

  • dev-azure-analytics

La alta disponibilidad y durabilidad del clúster dependen de la configuración de implementación geográfica del clúster. Los clústeres que se implementan dentro de una sola región se distribuyen entre zonas de disponibilidad dentro de esa región, por lo que pueden soportar interrupciones parciales del servicio de la región sin que se interrumpa la disponibilidad de lectura o guardado.

Puede optar por distribuir sus clústeres en dos o más regiones para una mayor resiliencia y aislamiento de cargas de trabajo.

El orden de las regiones determina el orden de prioridad para la ubicación del nodo primario. Por lo tanto, si deseas dirigir las operaciones de escritura en la base de datos a una región en particular cuando esa región esté disponible, debes listar esa región primero. La segunda región de la lista debe ser la segunda opción para donde deben dirigirse los guardados si la primera región no está disponible.

El siguiente ejemplo de Atlas en la IU de Crear un clúster muestra un clúster multiregional con nodos elegibles en tres regiones diferentes, organizados por prioridad de mayor a menor:

Captura de pantalla de nodos elegibles en tres regiones
haga clic para ampliar

Si el us-east-1 region queda indisponible, se elegirá un nuevo primario en la región us-west-1.

Nota

Los clústeres deben tener un número impar de nodos para garantizar la elegibilidad primaria. Para obtener más información, consulte Elecciones de conjuntos de réplicas.

Implementar un clúster en dos regiones garantiza que siempre se mantenga una copia de los datos en más de una región. Sin embargo, la pérdida de la región que contiene la mayoría de los nodos del clúster dejará la segunda región en un estado de solo lectura hasta que un administrador intervenga o la región original se vuelva disponible.

Implementar un clúster en tres o más regiones garantiza que el clúster pueda soportar una Interrupción del servicio completa a nivel de región y mantenga la disponibilidad de lectura y guardar, siempre que la capa de la aplicación sea tolerante a fallas.

Si mantener las operaciones de guardar en su región preferida en todo momento es una prioridad alta, se recomienda implementar el clúster de modo que al menos dos nodos elegibles se encuentren en al menos dos centros de datos dentro de su región preferida.

Para obtener el mejor rendimiento de la base de datos en una implementación global, los usuarios pueden configurar un clúster global que utiliza fragmentación según la ubicación para minimizar la latencia de lectura y escritura. Los usuarios con requisitos de almacenamiento geográfico también pueden garantizar que los datos se almacenen en una zona geográfica específica.

No proporciones información sensible como información de identificación personal (PII) o información de salud protegida (PHI) para los siguientes ítems:

Las responsabilidades a nivel de aplicación incluyen:

MongoDB Atlas ofrece dos métodos de escalado, vertical y horizontal.

El escalado vertical implica aumentar la capacidad de almacenamiento de un clúster, la potencia informática y/o Tasa de IOPS. El escalado vertical puede lograrse rápidamente y es útil para los periodos de uso máximo. El escalado vertical desde clústeres Free o Flex requiere unos minutos de inactividad. El escalado entre clústeres dedicados (M10 y superiores) se produce sin tiempo de inactividad.

Al hacer escalado vertical, se recomiendan los clústeres M30 y superiores para los entornos de producción. Puedes utilizar los siguientes niveles de clúster como entornos de producción para aplicaciones de bajo tráfico, pero se recomienda utilizar estos niveles para entornos de desarrollo:

  • {+Clústeres flexibles+}

  • M10 y M20 {+Clusters dedicados+}

El escalado horizontal implica implementar granularidad o agregar particiones en un clúster particionado existente. La escalado horizontal requiere una planificación y ejecución cuidadosas, y forma parte de una estrategia de crecimiento a largo plazo para los clústeres de M30+. También puedes reducir el número de particiones en un clúster particionado.

IMPORTANTE: Cuando remuevas una partición en 8.0, Atlas utiliza el comando moveCollection para mover toda colección no particionada en esa partición a una partición restante. Todas las colecciones no particionadas permanecen En linea durante este proceso.

  • Todas las colecciones particionadas permanecen en línea y disponibles durante el proceso de eliminación de particiones. Debes activar el balanceador para vaciar las colecciones particionadas de la partición eliminada.

  • Atlas mueve cualquier colección no particionada que no pueda vaciarse mediante el comando moveCollection utilizando el comando movePrimary. Para obtener más información sobre las limitaciones de moveCollection, consulta Restricciones. movePrimary es una operación sin conexión.

  • Para obtener más información sobre la remoción de particiones, consulta Remover particiones de un clúster.

La fragmentación vertical y horizontal se puede combinar en Atlas. Por ejemplo, un clúster fragmentado puede escalarse verticalmente durante un periodo de alta demanda, lo que aumenta la capacidad de almacenamiento y la potencia de procesamiento de cada uno de sus miembros.

De forma predeterminada, Atlas escala automáticamente y verticalmente el almacenamiento del clúster hasta el límite de tamaño de nivel de clúster configurado.

Puedes configurar Atlas para escalar automáticamente el nivel de clúster y la capacidad de almacenamiento del clúster en respuesta a un aumento en el uso del clúster, lo que permite una respuesta rápida y automatizada a la necesidad de una mayor potencia informática de almacenamiento.

Atlas realiza operaciones de mantenimiento periódicas para garantizar la seguridad, estabilidad y actualización de sus clústeres. De forma predeterminada, el mantenimiento se ejecuta automáticamente de forma continua para garantizar la disponibilidad continua. Sin embargo, puede configurar ventanas de mantenimiento para controlar mejor cuándo se realizan estas operaciones.

los períodos de mantenimiento son especialmente útiles para:

  • Alinear el mantenimiento entre los entornos: Retrase el mantenimiento una o dos semanas en algunos entornos para probar las actualizaciones en desarrollo o pruebas antes de que lleguen a producción.

  • Controla el tiempo y las notificaciones: programa el mantenimiento durante las horas valle y recibe notificaciones anticipadas para que puedas planificar en consecuencia.

  • Lotes de operaciones de mantenimiento: utilice la funcionalidad de auto-retraso para consolidar automáticamente varias operaciones de mantenimiento, reduciendo el número total de eventos de mantenimiento que experimentan sus clústeres.

Los periodos de mantenimiento se aplican a Clústers Dedicados (M10 y superiores) y se configuran a nivel de Proyecto. Para obtener más información sobre cómo configurar los periodos de mantenimiento y utilizar funcionalidades como el auto-diferimiento, consulta Configurar periodo de mantenimiento.

Puedes implementar la multi-inquilino en Atlas para que una sola instancia de una aplicación sirva a múltiples inquilinos. Tus decisiones de diseño iniciales para una arquitectura multi-inquilino pueden tener efectos imprevistos con el tiempo a medida que los requisitos evolucionen o cambien las expectativas de escalado. Para obtener más información, consulta Compilar una arquitectura multi-inquilino.

Como parte del ciclo de vida de los datos, si necesitas trasladar datos fríos a un nivel de almacenamiento diferente, puedes configurar una regla de Archivo en línea de Atlas para trasladar datos en función de una fecha o criterios personalizados. Una vez que Atlas almacena tus datos de acceso poco frecuente, tienes una vista unificada de tus datos de Atlas y del fichero en linea a través de una instancia federada de base de datos de solo lectura.

Puedes utilizar Atlas Data Federation para consultar datos in situ en diversas infraestructuras o para mover datos entre varios sistemas. Puedes utilizar el pipeline de agregación en datos de múltiples fuentes para extraer perspectivas de tus datos o transformarlos para otros fines. Por ejemplo, puedes usar $out a S3 y $out a Atlas para mover datos entre diferentes niveles de almacenamiento. También puedes utilizar $out a S3 para transformar fácilmente datos de tu clúster Atlas en JSON, BSON, CSV, TSV, Avro, Parquet y ORC, además de almacenarlos en AWS S3 para alimentar sistemas posteriores que requieran acceso.

Habilitar la auditoría para todos los usuarios de base de datos, incluidos los usuarios de servicios de aplicaciones, podría afectar gravemente el rendimiento del clúster. Si necesitas auditar las acciones de un usuario temporal de la base de datos, puedes crear un rol personalizado orientado a la auditoría, crear un usuario temporal con privilegios elevados y conceder a ese usuario el rol personalizado para auditar sus acciones.

Para auditar las acciones de un usuario temporal de la base de datos:

1

Crea un rol personalizado dirigido a auditar.

2

Para auditar las operaciones CRUD para el rol que creó, habilite la auditoría de base de datos.

3

Para auditar sus acciones, crea un usuario temporal.

Asigne al usuario el rol personalizado que creó para la auditoría. Al crear el usuario, seleccione la opción Save as temporary user y, a continuación, el periodo de existencia del usuario. Transcurrido este periodo, Atlas lo eliminará.

4

Agrega una entrada temporal a la lista de acceso IP para limitar el acceso de los usuarios temporales a los clústeres de Atlas.

Al crear la entrada de la lista de acceso IP para el usuario temporal, seleccione la opción Save as temporary access list y, a continuación, indique el periodo de tiempo que desea que exista. Transcurrido este periodo, Atlas la elimina.

5

Para auditar las acciones del usuario temporal de la base de datos, descarga los registros.

Para obtener más información sobre las integraciones de supervisión y registro disponibles en Atlas, consulta Supervisa Tus Clústeres.

Atlas ofrece las siguientes herramientas integradas para ayudarte a gestionar el volumen de datos de tu clúster:

Además de estas herramientas, consulte la guía de dimensionamiento de clústeres para aprender a ajustar el tamaño de su clúster. También puede pausar un clúster para ahorrar costos apagándolo temporalmente y conservando los datos hasta por 30 días.

Hay disponibles diferentes niveles de soporte, incluidas opciones para clientes en desarrollo y para clientes empresariales.

Las posibles áreas de soporte incluyen:

  • Problemas y preocupaciones con los clústeres de MongoDB en gestión.

  • Consultas relacionadas con el desempeño.

  • Consulta del lado de la aplicación y controlador.

Volver

Solucionar problemas