Skip to content

Commit 588f2cc

Browse files
authored
Adds changes from Ian Ward's review (#41)
1 parent 6c37114 commit 588f2cc

File tree

1 file changed

+57
-25
lines changed

1 file changed

+57
-25
lines changed

source/automation.txt

Lines changed: 57 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,29 @@ Automation
1717
.. contents:: On this page
1818
:local:
1919
:backlinks: none
20-
:depth: 1
20+
:depth: 2
2121
:class: onecol
2222

2323
|service-fullname| provides an easy way to host and manage your data in
2424
the cloud. It includes tools that automate the deployment, scaling, and
2525
maintenance of your {+service+} {+clusters+} to streamline operations,
2626
reduce manual interventions, and ensure consistent, policy-compliant
2727
deployments. These tools offer you the flexibility to work with
28-
|service| through direct scripting, a Kubernetes-native workflow, or
29-
using Infrastructure as Code (IaC) resources.
28+
|service| through direct scripting (such as scripts that call the
29+
{+atlas-admin-api+}), a Kubernetes-native workflow, or
30+
using Infrastructure as Code (IaC) tools like Terraform.
3031

31-
{+service+} Features for Automation
32-
-----------------------------------
32+
{+service+} Features and Recommendations for Automation
33+
-------------------------------------------------------
34+
35+
Features
36+
~~~~~~~~
3337

3438
You can automate the management, provisioning, and configuration of
3539
|service| building blocks like database users and roles, |service|
3640
{+clusters+}, projects and organizations. Additionally, you can automate
3741
setting up and managing of additional {+clusters+} resources, including
38-
enabling auto-scaling and disk scaling, creating and updating
42+
enabling auto-scaling compute and storage, creating and updating
3943
multi-cloud {+clusters+}, monitoring {+cluster+} performance and health,
4044
automating backups and restores, defining backup policies, and many more.
4145

@@ -46,17 +50,18 @@ deploy and manage |service| at scale with repeatable, accurate, and
4650
scalable processes.
4751

4852
{+atlas-admin-api+}
49-
~~~~~~~~~~~~~~~~~~~~~~~~
53+
`````````````````````````````
5054

5155
The {+atlas-admin-api+} provides a |rest|\ful interface that allows you
5256
to leverage your preferred client such as cURL or Postman to
5357
directly interact with |api| endpoints that correspond to |service|
54-
resources.
58+
resources. They can also be directly called in your favorite
59+
programming language or bash script.
5560

5661
To learn more, see :ref:`atlas-admin-api-access`.
5762

5863
GoSDK Client
59-
~~~~~~~~~~~~
64+
````````````
6065

6166
The {+service+} Go SDK client simplifies interaction with the
6267
{+atlas-admin-api+} by providing pre-built functions and full |api|
@@ -66,65 +71,92 @@ applications quickly and easily.
6671

6772
To learn more, see :ref:`Atlas Go SDK <atlas-admin-sdk>`.
6873

74+
.. _arch-center-iac:
75+
6976
Infrastructure as Code (IaC) Integrations
70-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
77+
`````````````````````````````````````````
7178

7279
The integrations with the following :abbr:`IaC (Infrastructure as Code)`
7380
tools automate the deployment of |service| resources.
7481

7582
HashiCorp Terraform MongoDB Atlas Provider
76-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
83+
##########################################
7784

7885
Provisions |service| resources across cloud providers (|aws|, |azure|,
7986
|gcp|) in the workflow of your choice. It allows you to integrate
8087
|service| into your continuous delivery workflows with the official
81-
plugin that is verified and tested by HashiCorp.
88+
plugin.
8289

8390
Alternatively, you can use the :abbr:`CDKTF (Cloud Development Kit for
8491
Terraform)` to deploy |service| in preferred languages such as
8592
JavaScript, TypeScript, Python, Java, C#, and Go.
8693

87-
To learn more, see :ref:`getting-started-terraform` and
88-
|service-terraform|. You can also use the Terraform examples in the
94+
To learn more, see :ref:`getting-started-terraform` and the
95+
`MongoDB Atlas Provider Terraform docs <https://registry.terraform.io/providers/mongodb/mongodbatlas/latest/docs>`__. You can also use the Terraform examples in the
8996
{+atlas-arch-center+} such as the :ref:`Org, Project, and
9097
Cluster<arch-center-hierarchy>` examples to get started.
9198

9299
CloudFormation Resources
93-
~~~~~~~~~~~~~~~~~~~~~~~~
100+
########################
94101

95102
Resources to manage |service| include:
96103

97104
- :github:`JSON and YAML templates
98-
<mongodb/mongodbatlas-cloudformation-resources>` allow you to leverage
105+
<mongodb/mongodbatlas-cloudformation-resources/tree/master/examples>` allow you to leverage
99106
multiple different types of |service| resources in the |aws|
100107
CloudFormation Public Registry.
101-
- `AWS Partner Solutions <https://aws.amazon.com/solutions/>`__ enable
102-
you to set up an |service| environment in |aws| by using a pre-defined
103-
CloudFormation template that creates an |service| project with a
104-
standard, single-region, ``M10`` {+cluster+}.
105-
- `AWS Cloud Development Kit (CDK) <https://constructs.dev/search?q=&keywords=MongoDB&offset=0>`__
108+
- `AWS Cloud Development Kit (CDK) <https://constructs.dev/search?q=&keywords=MongoDB&offset=0&tags=mongodb-published>`__
106109
defines infrastructure using familiar programming languages such as
107110
JavaScript, TypeScript, Python, Java, C#, and Go.
108111

109112
To learn more, see `Deploy MongoDB Atlas with AWS CloudFormation <https://www.mongodb.com/developer/products/atlas/deploy-mongodb-atlas-aws-cloudformation/>`__.
110113

111114
{+atlas-cli+}
112-
~~~~~~~~~~~~~
115+
`````````````
113116

114117
Enables you to create, manage, and automate tasks related to |service|
115118
resources from a unified command line tool.
116119

117-
To learn more, see :ref:`atlas-cli-ephemeral-cluster` and :ref:`Quick
118-
Start <atlas-cli-quick-start>`. You can also use the {+atlas-cli+}
120+
To learn more, see the following resources:
121+
122+
- :ref:`Atlas CLI <atlascli>`
123+
- :ref:`Quick Start <atlas-cli-quick-start>`
124+
- :ref:`atlas-cli-ephemeral-cluster`
125+
126+
You can also use the {+atlas-cli+}
119127
examples in the {+atlas-arch-center+} such as the :ref:`Org, Project,
120128
and Cluster<arch-center-hierarchy>` examples to get started.
121129

122130
|ak8so|
123-
~~~~~~~~~~~~~~~~~~~~~~~~~~~
131+
`````````````````````````
124132

125133
Allows you to deploy and manage |service| resources using you existing
126134
Kubernetes tools. The Operator enables management of |service| through
127135
custom resources applied into Kubernetes, which the Operator uses to
128136
configure |service|.
129137

130138
To learn more, see :ref:`ak8so-quick-start-ref`.
139+
140+
Recommendations
141+
~~~~~~~~~~~~~~~
142+
143+
If you already have an existing tool integrated into your deployment
144+
workflow that you use today, we recommend that you use that tool for
145+
automation. For example, if your developers and operations team are
146+
used to building custom resource definitions for Kubernetes for
147+
deployment, use the |ak8so| and Kubernetes for automation in
148+
{+service+}.
149+
150+
If you don't already have an existing tool integrated into your development workflow, we recommend an :ref:`IaC tool <arch-center-iac>`
151+
because they provide more robust options for infrastructure provisioning and state management.
152+
If you instead call the {+atlas-admin-api+} directly or use the GoSDK, which wraps the {+atlas-admin-api+}, you might need to recreate your
153+
infrastructure provisioning each time to match your needs across
154+
environments.
155+
156+
You can also use a combination of multiple tools. For example, use IaC
157+
tool for provisioning and state management, and leverage the {+atlas-admin-api+}, GoSDK, and {+atlas-cli+} for quick administrative
158+
tasks that are ephemeral in nature. The {+atlas-cli+} is great for
159+
local development as well as integration into a suite of tests as part
160+
of your CI/CD pipeline for application development because it improves
161+
response times and reduces costs.
162+

0 commit comments

Comments
 (0)