MongoDB Atlas proporciona herramientas que permiten la gestión programática de la implementación, escalado y mantenimiento de sus clústeres de Atlas.
Atlas proporciona la flexibilidad de implementar Infrastructure as Code (IaC) utilizando tanto la programación imperativa como la declarativa. Por ejemplo, los desarrolladores pueden escribir scripts imperativos que llamen a funciones de nuestro Atlas Go SDK cliente, o gestionar recursos de Atlas utilizando herramientas declarativas IaC como el Atlas Kubernetes Operator, Terraform, AWS CloudFormation, o el AWS CDK.
Las herramientas de IaC de Atlas son especialmente útiles a escala empresarial. Recomendamos que nuestros clientes de empresas utilicen las herramientas de IaC para obtener los siguientes beneficios:
Coherencia: Las herramientas IaC permiten la repetibilidad en todos los entornos, lo que garantiza que las implementaciones generen resultados coherentes.
Escalabilidad: Las herramientas de IaC permiten escalado automático para ajustar automáticamente la capacidad de nivel o almacenamiento de clústeres en respuesta al uso en tiempo real.
Reducción de errores humanos: Las herramientas de IaC automatizan las tareas operativas, reduciendo las intervenciones manuales que generan errores humanos comunes.
Desarrollo más rápido: Las herramientas de IaC agilizan las operaciones para promover un desarrollo más eficiente.
Gestión de cambios mejorada: las herramientas de IaC admiten revisiones y estandarización de la infraestructura, lo que permite mejores prácticas de gestión de cambios y cumplimiento.
Funcionalidades para Atlas Automation
Puedes automatizar la configuración, el aprovisionamiento y la gestión de los componentes de Atlas, como usuarios y roles de base de datos, clústeres de Atlas, proyectos y organizaciones. También puedes automatizar varias tareas de configuración y gestión de los recursos del clúster, incluyendo la habilitación del escalado automático de cómputo y almacenamiento, la creación y actualización de clústeres multi-nube, la supervisión del desempeño y el estado del clúster, la automatización de copias de seguridad y restauraciones, la definición de políticas de copia de seguridad, y más.
Puedes alinear la elección de herramientas con tu flujo de trabajo preferido para asegurar una integración sin interrupciones de MongoDB Atlas en tus procesos existentes. Las siguientes herramientas de MongoDB Atlas permiten implementar y gestionar Atlas fácilmente a gran escala con procesos repetibles, precisos y escalables.
API de Administración de Atlas
La API de Administración de Atlas proporciona una interfaz RESTful que permite aprovechar al cliente de preferencia, como cURL o Postman, para interactuar directamente con los puntos finales de la API que corresponden a los recursos de Atlas. También se pueden llamar directamente en el lenguaje de programación favorito o en un script bash.
Para aprender más, Comienza con la API de administración de Atlas.
Atlas CLI
Te permite crear, gestionar y automatizar tareas relacionadas con los recursos de Atlas de forma manual o programática desde una herramienta unificada de línea de comandos.
Para aprender más, consulta los siguientes recursos:
También puedes utilizar los ejemplos de Atlas CLI en el Atlas Architecture Center, como los ejemplos Org, Proyecto y clúster, para comenzar.
Proveedor de HashiCorp Terraform MongoDB Atlas
Provisiona recursos de Atlas a través de proveedores de nube (AWS, Azure, GCP) en el flujo de trabajo de tu elección. Permite integrar Atlas en los flujos de trabajo de entrega continua con el plugin oficial.
Alternativamente, puedes usar el CDKTF para implementar Atlas en los lenguajes preferidos como JavaScript, TypeScript, Python, Java, C# y Go.
Para obtener más información, consulta Primeros pasos con Terraform y el proveedor MongoDB Atlas y la docs de Terraform del proveedor MongoDB Atlas. También puede usar los ejemplos de Terraform en el Atlas Architecture Center, como los ejemplos de Organización, Proyecto y Clúster, para empezar.
Tip
Para ejemplos de Terraform que aplican nuestras recomendaciones en todos los pilares, consulta uno de los siguientes ejemplos en GitHub:
Atlas Go SDK Cliente
El cliente Atlas Go SDK simplifica la interacción con la Administración API de Atlas proporcionando funciones preconstruidas y una cobertura completa de los puntos finales API. El SDK proporciona herramientas, librerías y documentación específicas para cada plataforma y para el lenguaje GoLang, que ayudan a compilar aplicaciones de forma rápida y sencilla.
Para obtener más información, consulta Atlas Go SDK.
Consulta todos los ejemplos de Atlas Architecture Center Go SDK en un único proyecto en el repositorio de Atlas Architecture Go SDK en GitHub.
Recursos de CloudFormation
Los recursos para administrar Atlas incluyen:
Plantillas JSON y YAML permiten aprovechar varios tipos diferentes de recursos de Atlas en el AWS CloudFormation Public Registry.
AWS Cloud Development Kit (CDK) define la infraestructura usando lenguajes de programación familiares como JavaScript, TypeScript, Python, Java, C# y Go.
Operador de Atlas Kubernetes
Permite implementar y gestionar recursos de Atlas utilizando tus herramientas existentes de Kubernetes. El operador permite la gestión de Atlas a través de recursos personalizados aplicados en Kubernetes, que el Operador utiliza para configurar Atlas.
Para obtener más información, consulta Inicio rápido.
Recomendaciones para la automatización de Atlas
Las siguientes recomendaciones se aplican a todos los paradigmas de implementación.
Si ya tienes una herramienta existente integrada en tu flujo de trabajo de implementación que utilizas actualmente, te recomendamos que utilices esa herramienta para la automatización. Por ejemplo, si tus desarrolladores y el equipo de operaciones ya están implementando en Kubernetes, aplica las configuraciones de Atlas a través de las mismas herramientas y pipelines y utiliza el Atlas Kubernetes Operator para automatizar la actualización de Atlas.
Si aún no tienes una herramienta existente integrada en tu flujo de trabajo de desarrollo, recomendamos una herramienta de IaC porque proporcionan opciones más robustas para el provisionamineto de infraestructura y la gestión de estado.
También puedes utilizar una combinación de varias herramientas. Por ejemplo, utiliza herramientas IaC para la provisionamineto y gestión del estado, y aprovecha la API de administración de Atlas, el Atlas Go SDK y el Atlas CLI para tareas administrativas rápidas de carácter efímero. La CLI de Atlas es excelente tanto para el desarrollo local como para la integración en un conjunto de pruebas como parte de tu pipeline CI/CD para el desarrollo de aplicaciones, ya que mejora los tiempos de respuesta y reduce los costos.