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
- run web services in containers via ECS+Fargate or ECS+EC2
- auto https
- custom domains
- automatic CloudFront CDN
- autoscaling, zero downtime deploys, self-healing
- preview environments
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
- run web services in containers via ECS+Fargate or ECS+EC2
- auto https endpoint that is only available within your VPC
- autoscaling, zero downtime deploys, self-healing
- preview environments
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.
Background Worker Server
type: worker
- run private servers in containers via ECS+Fargate or ECS+EC2
- doesn’t expose an HTTP endpoint
- autoscaling, zero downtime deploys, self-healing
Runs a long running process that fetches data from another service
Scheduler or Cron Jobs
type: scheduler
- run jobs or commands in private servers containers via ECS+Fargate or ECS+EC2
- doesn’t expose an HTTP endpoint
- jobs and executions run in standalone servers with complete isolation from each other and from production servers
- configure schedules in cron-like format or to run on demand (manually)
Runs jobs or commands on scheduler or manually in a production-like environment while using resources isolated from your production servers protecting them from any demanding processing
Lambda Function
type: lambda-function
- deploys a single lambda function
- can expose function URL, to be triggered by an external party
- supports both
zip
andcontainer
lambda functions - supports all current lambda runtimes
Database
type: rds
- database: postgres, mysql, or maria
- automatically adds the
DATABASE_URL
connection string to other services - Daily backups enabled by default with 35 day backup retention
Static Websites
type: static
- easily host a static site, like a create-react-app or Redwood.js frontend
- high performance, powered by CloudFront Content Delivery Network (CDN)
Redis
type: elasticache
- configure a Redis cache using AWS Elasticache
- spins up a Redis cluster with two nodes for high availability