Prerequisites: This guide assumes you have the Suga CLI installed. If you
need to install it, see the Installation Guide for
platform-specific instructions.
Sign In to Suga
Sign in to the Suga platform:Sign In to Suga
If you don’t have a Suga account yet you can request access at addsuga.com
During early access authentication is required to access all Suga platform features. In the future, certain features may be made available without signing in.
Create Your Project
Create a new project from a template:Create New Project
You’re welcome to use frameworks or tools beyond what’s listed in the Templates, consider them a starting point or example.
Design Your Application
Now, let’s start by looking at Suga’s visual project editor, to get familiar with what Suga can do:Open Visual Editor

The editor automatically updates your
suga.yaml file as you make changes.go-standard template has defined in the suga.yaml:
suga.yaml
- target: AWS deployment configuration
- services: Your
appservice with local dev script and Docker container setup - buckets: A
filesbucket that your app can read from and write to - entrypoints: An HTTP endpoint that routes traffic to your app
Local development
When you’re ready to edit the code, start by installing the application’s dependencies. Projects can also optionally use a cloud resource client generated by Suga (for accessing resources like Buckets).Navigate to Project
- Node.js
- Python
- Go
Install Dependencies (node)
Your project structure will include
suga.yaml for configuration, service code, and language-specific dependencies.suga dev command to start the local development server:
Start Development Server
Write to Storage
Read from Storage
Services automatically restart when you update your code, providing instant feedback during development.
.suga temporary directory, which is added to your project by the dev command.
For example, the objects written to the files bucket will be available in .suga/buckets/files/. This makes seeding your local bucket with files for testing easier, as well as viewing any files created at runtime by your application code.
Deploy to the Cloud
Configure your deployment target in the visual editor or set it insuga.yaml:
suga.yaml
The template has been set up to use AWS. You can also use
suga/gcp@1 for GCP. These targets are officially supported.Build Application
Configuring cloud provider credentials
In order for Terraform to be able to complete the deployment, it will need credentials to access your chosen cloud provider. There are many ways to achieve this, we’ll start with a basic option here, but feel free to use your preferred method.- AWS
- GCP
Configure AWS
Deploy with Terraform
Navigate to the output location of the generated Terraform Stack:Navigate to Stack
Initialize Terraform
target you selected before building the stack, certain additional steps may be required to fully configure the Terraform stack, before it can be deployed.
For the platforms provided by Suga out-of-the-box, we try to keep this step to a minimum. Here are the steps for AWS and GCP:
- suga/aws
- suga/gcp
Suga’s AWS platform generates Terraform that uses the standard AWS Terraform Provider. At minimum, you’ll need to configure the provider to deploy to your preferred AWS region.In the Terraform output directory for your stack (e.g.
./terraform/stacks/my-first-app), create a new file called provider.tf. In the file, add the provider configuration (region at minimum):provider.tf
Files like
provider.tf and terraform.tfvars will not be overwritten or removed the next time you run suga build, so this step should only be required for the first deployment.It’s worth reviewing the Terraform plan carefully before applying to understand what resources will be created in your cloud account.
Preview Changes
Deploy Application
suga build to update the Terraform with the latest changes and redeploy as needed.
Remember to run
terraform destroy if you no longer want your application to be deployed, to avoid unexpected cloud costs.Next Steps
Now that you know how to use Suga to develop and deploy cloud applications, consider some of these docs to continue learning about Suga:Need help? Contact support@addsuga.com or
check our GitHub.