Supported Service Types on AWS
Flightcontrol provides a better developer experience for you to deploy and manage your services on Amazon Web Services (AWS).
We deploy several different types of AWS services for you:
- Web Servers
- Private Web Servers
- Background Worker Servers
- Scheduler
- Lambda Function
- Databases
- Static Websites
- Redis
If you want to use AWS Services that are not supported - you can configure these in your own AWS account. For instance, you may have an existing ElasticSearch cluster that you want to use with your Flightcontrol services. You could set the URL to the ElasticSearch cluster in your flightcontrol.json
config file or in the Flightcontrol dashboard, and everything will work as expected, running in the same AWS acccount.
The type
you see next to each service is the corresponding Flightcontrol type
, relevant for setting up the flightcontrol.json
config file. For more about configuring Flightcontrol see the Using Code or Using the Dashboard pages.
Web Server
type: web
The most common type that you’ll use for most apps and APIs including Next.js, Rails, FastAPI, Express, etc.
Architecture
- Runs as a container via AWS ECS using Fargate or EC2
- Load balancer with public IP address
- CloudFront CDN in front of the load balancer
Features
- Custom domains
- Automatic HTTPS certificates
- Autoscaling, zero downtime deploys, self-healing
For production use, we recommend running a minimum of two instances for high availability. We also recommend using an instance size with at least 1 vCPU and 2+ GB of memory. Otherwise, you may see performance issues. This does depend on your application and workload, so you may need to experiment with different instance sizes.
Private Web Server
type: web-private
For internal services that cannot be accessed from the internet.
Architecture
- Runs as a container via AWS ECS using Fargate or EC2
- Load balancer with private IP address
- Cannot be accessed from outside the environment’s VPC
Features
- Automatic HTTPS certificates
- Autoscaling, zero downtime deploys, self-healing
Background Worker Server
type: worker
For background jobs using frameworks like Sidekiq, BullJS, or Inngest
Architecture
- Runs as a container via AWS ECS using Fargate or EC2
- Does not expose an HTTP endpoint
Features
- Autoscaling, zero downtime deploys, self-healing
Job Scheduler (Cron)
type: scheduler
For running jobs in isolated containers. Can run via a cron schedule, started via API, or started via the Flightcontrol dashboard
Architecture
- Runs as a temporary container via AWS ECS using Fargate or EC2
- Each job execution runs as an isolated container. It shuts down once the start command exits.
- Does not expose an HTTP endpoint
Features
- Configure schedules in cron-like format or to run on demand (manually)
- Unlimited concurrency
- Unlimited duration
- Cheaper, more performant replacement for Lambda jobs
Lambda Function
type: lambda-function
Architecture
- Single Lambda with function url support
- No API gateway
Features
- Can expose function URL, to be triggered by an external party
- Supports both
zip
andcontainer
lambda functions - Supports all native Lambda runtimes
Static Websites
type: static
For serving a static frontend website like a Vite React app or Redwood.js frontend
Architecture
- S3 for static files
- CloudFront CDN to serve those static files
Features
- Blazing fast load times globally
- Supports both Single Page Apps and Multi Page Apps
Database
type: rds
Architecture
- RDS instance
- Single or dual availability zones
Features
- Supports Postgres, Mysql, and MariaDB
- Automatically adds the
DATABASE_URL
connection string to other services - Daily backups enabled by default with 35 day backup retention
- Encryption at rest
- Automatically upgrade minor versions
Redis
type: elasticache
Architecture
- ElastiCache Redis cluster
- 2 availability zones for High Availability
- Private, cannot be accessed outside the environment’s VPC
Features
- Encryption at rest
- Automatically upgrade minor versions
- Automatically adds the
REDIS_URL
connection string to other services - Can customize eviction policy