MongoDB Atlas 提供的工具可实现 Atlas 集群部署、扩展和维护的程序化管理。
Atlas 支持通过命令式或声明式编程来灵活实现 Infrastructure as Code (IaC)。例如,开发人员可以编写命令式脚本来调用我们的 Atlas Go SDK 客户端中的函数,或者使用 Atlas Kubernetes Operator、Terraform、AWS CloudFormation 和 AWS CDK 等声明式 IaC 工具来管理 Atlas 资源。
Atlas 的 IaC 工具在企业扩展方面尤其实用。我们建议企业客户使用 IaC 工具以获得以下益处:
一致性:IaC 工具支持跨环境的可重复性,从而确保部署产生一致的结果。
可扩展性:基础架构即代码 工具启用自动伸缩,根据实时使用情况自动调整集群的层级或存储容量。
减少人为错误:IaC 工具可自动化运营开销,减少了产生常见人为错误的人工干预。
提升开发速度:IaC 工具可简化操作,促进更高效的开发。
改进变更管理:IaC 工具支持基础架构审查和标准化,从而实现更卓越的变更管理实践和合规性。
Atlas 自动化的功能
您可以自动执行 Atlas 构建块(如数据库用户和角色)以及 Atlas 集群、项目和组织的配置、预配和管理。您还可以自动执行集群资源的各种配置和管理任务,包括启用自动扩展计算和存储、创建和更新多云集群、监控集群性能和运行状况、自动执行备份和恢复和定义备份策略等。
您可以根据自己偏好的工作流程来选择工具,确保将MongoDB Atlas无缝集成到现有流程中。借助以下MongoDB Atlas工具,您可以通过可重复、准确且可扩展的流程轻松扩展部署和管理Atlas 。
Atlas Administration API
Atlas Administration API 提供一个 RESTful 接口,让您可以使用自己喜好的客户端(如 cURL 或 Postman)直接与 Atlas 资源的 API 端点交互。您还可以在自己熟悉的编程语言或 bash 脚本中直接调用它们。
要学习;了解更多信息,请参阅Atlas Management API入门。
Atlas CLI
通过统一的命令行工具,您可以手动或以编程方式创建、管理和自动执行与 Atlas 资源相关的任务。
要了解详情,请参阅以下资源:
HashiCorp Terraform MongoDB Atlas Provider
在您选择的工作流程中提供跨云提供商 (AWS、Azure、GCP) 的 Atlas 资源。通过官方插件,您可以将 Atlas 集成到持续交付工作流程中。
或者,您可以使用 CDKTF,以 JavaScript、TypeScript、Python、Java、C# 和 Go 等首选语言部署 Atlas。
要学习;了解更多信息,请参阅 Terraform 和MongoDB Atlas提供程序入门 和 MongoDB Atlas提供程序 Terraform Docs。您还可以使用Atlas架构中心的 Terraform 示例(例如组织、项目和集群示例)来开始使用。
提示
有关在所有支柱上实施我们建议的 Terraform 示例,请参阅Github中的以下示例之一:
Atlas Go SDK 客户端
Atlas Go SDK 客户端可通过提供预构建功能和完整的 API 终结点覆盖简化与 Atlas 管理 API 的交互。SDK 提供平台特定和 GoLang 语言特定的工具、库和文档,以帮助快速轻松地构建应用程序。
如需了解更多信息,请参阅 Atlas Go SDK。
请参阅Atlas Architecture Center Go SDK GitHub 存储库中单个项目中的所有Atlas Architecture Center Go SDK 示例。
CloudFormation 资源
用于管理Atlas 的资源包括:
JSON和 YAML 模板允许您利用Amazon Web Services CloudFormation 公共注册表中的多种不同类型的Atlas资源。
Amazon Web Services Cloud Development Kit (CDK) 使用熟悉的编程语言(例如JavaScript、 Typescript、 Python、 Java、 C#和Go)定义基础架构。
Atlas Kubernetes Operator
允许您使用现有的 Kubernetes 工具部署和管理 Atlas 资源。Operator 通过 Kubernetes 中的自定义资源来管理 Atlas,它利用这些资源对 Atlas 进行配置。
要学习;了解更多信息,请参阅快速入门。
Atlas 自动化的建议
以下建议适用于所有部署范式。
如果您已经在部署工作流程中集成了现有工具,建议您使用该工具进行自动化。例如,如果您的开发人员和运维团队已经部署到 Kubernetes,可以通过相同的工具和管道应用 Atlas 配置,并使用 Atlas Kubernetes Operator 自动更新 Atlas。
如果您还没有将现有工具集成到开发工作流程中,我们建议您使用 IaC 工具,因为它们提供更强大的基础架构预配和状态管理选项。
您还可以组合使用多种工具。例如,您可以使用 IaC 工具进行预配和状态管理,并利用 Atlas Administration API、Atlas Go SDK 和 Atlas CLI 来完成临时性的快速管理任务。Atlas CLI 非常适合本地开发,并且可以集成到应用程序开发的 CI/CD 管道中的测试套件中,因为它可以提高响应速度并降低成本。