Maestro is a framework that enables rapid iteration for serverless orchestration. The rise of serverless architectures and FaaS offerings such as AWS Lambda has revolutionized how companies are developing modern apps. The need for an orchestration layer over these architectures has brought about services such as AWS Step Functions. However, deploying apps that use Step Functions can be tedious and error-prone. Maestro prioritizes speed and developer productivity by automating this process so that the developer’s focus stays on developing their application's business logic.
To use, you must have the AWS CLI installed and set up.
- Install the npm package globally (
sudo npm -g install maestro
) - Configure your AWS account number and region with (
maestro config
) - Run
maestro get-templates
to get the default project templates provided by Maestro - Create a new project with
maestro new
- Hack away on your
definition.asl.json
state machine definition file and the lambdas in thelambdas/
directory - Run
maestro deploy
in the top level directory of your Maestro project to deploy it to AWS - To tear down state machine and associated resources, run
maestro teardown
- This prompts you for confirmation. If you prefer to run it without a confirmation, provide a
-f
or--force
flag - This doesn't automatically tear down the roles that were created upon deployment. To do that, provide a
--roles
flag with a comma-separated-list of role names to tear down (for example,--roles=roleName1,roleName2
OR--roles roleName1,roleName2
)
- This prompts you for confirmation. If you prefer to run it without a confirmation, provide a
- Read the man pages and get up to speed! (
man maestro
) i. Alternatively, take advantage of our helpfulmaestro help
command! (e.g.maestro help deploy
ormaestro deploy --help
)
Command | Description |
---|---|
maestro new
|
This command creates a new Maestro project with the given project
name. When
If the user simply presses |
maestro deploy
|
This command must be executed at the root of your Maestro project.
It will deploy both the state machine as defined in
Typical deployment time is a lightning-fast 3 seconds. |
maestro teardown
|
Executing this command with your working directory being the root of some Maestro project will tear down the associated resources from AWS, which are as follows:
|
maestro help
|
Display help information about Maestro or a Maestro command. |
maestro config
|
The |
maestro get-templates
|
Fetches the Maestro default templates from git and installs them on the user’s local machine. |
- Node.js 12.x or greater
- npm packages (installed during
npm install
):minimist
aws-sdk
zip
command line utility- AWS CLI
git
version control system