Skip to content

try-cascade/cascade-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 

Repository files navigation

Cascade logo

Open-source containerized application deployment with observability

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

Version

Brief Overview

Plan in 3 Steps Deploy and View Progress
welcome gif deploying gif

Table of Contents

Who it's for

Cascade was built for users who wish to:

  • Deploy their containerized applications onto AWS ECS Fargate
  • See logs and traces without manual effort

What Cascade does

  • 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

Prerequisites

How Cascade works

Cascade depends on 3 parts:

  1. cascade-agent: the instrumentation that generates traces, and sends it to AWS X-Ray
  2. cascade-backend: the API server that creates a user-specific S3 bucket for container information, and generates Terraform config files for deployment
  3. cascade-gui: the GUI where users can deploy their containerized application, access the generated Terraform config files, and view logs and traces

Cascade Compose

You can run Cascade with Docker by following these steps:

  1. Run the Docker daemon
  2. Clone this cascade-compose directory
  3. cd into cascade-compose and execute docker-compose up
git clone https://github.com/try-cascade/cascade-compose.git && cd cascade-compose && docker-compose up

Cascade 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 AWS
  • cascade-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.

Team

SF Bay Area, CA

Austin, TX

Chicago, IL

Denver, CO