Cascade is an open-source containerized application deployment solution with observability built in. Users can add their containerized applications and Cascade will generate the Terraform config files to deploy each application alongside a collector container onto AWS.
It's a containerized application deployment accelerator; it builds and deploys a cloud infrastructure for containers with a side collector for distributed tracing.
Cascade is a fullstack deployment tool that's:
- Easy to install: runs on Docker
- Easy to use: automates deployment process with a few clicks
- Open source: provides base Terraform templates to build upon
| Plan in 3 Steps | Deploy and View Progress |
|---|---|
![]() |
![]() |
Cascade was built for users who wish to:
- Deploy their containerized applications onto AWS ECS Fargate
- See logs and traces without manual effort
- Configures the minimum AWS infrastructure required to deploy a containerized app
- Reduces the need to navigate through the AWS management console
- Sets up logs and traces by default
- Instrument with
cascade-agent - Configure AWS CLI
- Run Docker daemon
- Define a container image file
Cascade depends on 3 parts:
cascade-agent: the instrumentation that generates traces, and sends it to AWS X-Raycascade-backend: the API server that creates a user-specific S3 bucket for container information, and generates Terraform config files for deploymentcascade-gui: the GUI where users can deploy their containerized application, access the generated Terraform config files, and view logs and traces
You can run Cascade with Docker by following these steps:
- Run the Docker daemon
- Clone this
cascade-composedirectory cdintocascade-composeand executedocker-compose up
git clone https://github.com/try-cascade/cascade-compose.git && cd cascade-compose && docker-compose upCascade will now be ready to plan and deploy your containerized application. You can access the GUI at port 3000.
Images
cascade-backend: handles Terraform config files and communication between Cascade and AWScascade-gui: the GUI that handles user interactions and displays a status dashboard
Container Communication
The default Docker network created by docker-compose enables containers to communicate between themselves using their container names.
AWS Credentials
docker-compose defines a volume for AWS credentials for cascade-backend. When the backend container is started, it uses the volume to allow Terraform to access your configured AWS Credentials.
In docker-compose.yml, the volume for AWS credentials is defined as ~/.aws, which is the default path on Linux and macOS. Users with a different path for .aws must respecify the host path accordingly.
SF Bay Area, CA
Austin, TX
Chicago, IL
Denver, CO


