ConceptsService Types

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:

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 and container 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