Astro supports several approaches to managing Deployment resources, so you can provision the resources you need whether you are just starting out or you are deploying projects programmatically at scale.
Astronomer recommends the following approaches in these common scenarios:
For more detailed information about when to choose each option, see the sections below.
Astronomer recommends the Astro UI for managing resources if you do not need to deploy or modify project config programmatically. If you are a small team getting started or you are an individual dev creating projects on an ad hoc basis, the Astro UI will likely meet your needs when managing resources. In addition to all the options you need in order to create and customize resources, you will get guidance directly in the UI that will help ensure that your instance is right-sized for your use case.
On the Astro UI, you can:
For more details about configuring resources with the UI, see Deployment resources.
If you prefer to use a command-line tool, you can use the Astro CLI to manage all the resources configurable with the UI.
For the commands and settings available in the Astro CLI, see Command reference.
Astronomer recommends the Terraform Provider, Astro API, or Deployment files when you need to manage resources programmatically. Typically, teams manage resources as code as they start managing instances at scale. Benefits of managing resources as code include the ability to have your infrastructure configuration in your version control solution, which allows for tracking and rolling back changes as well as recreating resources easily if something goes wrong. Also, you can create and modify large numbers of Deployments quickly, making it easy to onboard new teams, reallocate resources, reassign Deployments, and more.
If you prefer to use Bash scripts to manage your infrastructure, you can use the Astro CLI as a wrapper on the API. You can use CLI commands to automate tasks such as creating and deleting Deployments, hibernating and waking Deployments, creating and updating Deployment pools, and creating and updating worker queues. You can also automate command execution in CI/CD pipelines using API tokens. Note: the Astro CLI requires Docker.
For an overview of the CLI, see Astro CLI.