Architectural Overview
Vizier supports deploying user applications with a three-tier architecture: a front end, a back end, and a database. In practice, that means Vizier provisions AWS resources to support each tier, and connects them to each other. Vizier stores some minimal configuration details in the user’s project directory, deploying infrastructure based on that configuration and Vizier’s custom architectural templates.
Once a user’s application is deployed, automated redeployment is accomplished via GitHub Actions. Vizier creates a custom workflow in the user’s project directory. Triggered by any git push to the main branch, that workflow modifies the existing AWS resources to reflect the latest changes.
AWS Services
Section titled “AWS Services”The following table contains some of the AWS services Vizier uses to deploy a full stack application:
| Resource | Description |
|---|---|
| Elastic Container Service (ECS) | Runs Docker containers |
| S3 Buckets | Stores files |
| CloudFront | Content Delivery Network (CDN) caches static assets and routes requests |
| Relational Database Service (RDS) | Managed database with automatic backups, upgrades, monitoring, and failover |
| Elastic Container Registry (ECR) | Stores Docker images for use by ECS |
| CloudFormation | Forms a “stack” of resources, connecting them to form a full deployment |