Fly Apps

All new apps now deploy to V2 of the Fly Apps platform, running on Fly Machines. Most docs focus on Apps V2, but we still include information specific to the legacy Fly Apps V1 where appropriate.

We'll be migrating all V1 apps in phases. Learn more about how and why we're getting off Nomad.

You can also migrate your V1 app yourself using our migration tool or manually.

On Fly.io, an App is an abstraction for a group of virtual machines running your code, along with the configuration, provisioned resources, and data we need to keep track of to run and route to your VMs.

Every customer VM on Fly.io lives in a Fly App. Anycast IPs, certificates, Fly Volumes, and custom domains belong to Apps as well.

The fly launch and fly deploy commands create and update an app's VMs as a unit with a single configuration and code base. To learn more about configuring and deploying a Fly App, see the Apps docs.

Machines can also be created and configured independently of other Machines in their app, using fly machine run or the fast Machines HTTP API.

At the moment, there are two types of Fly App.

Legacy Apps ("Fly Apps V1")

"Fly Apps V1" are our original Firecracker apps. Instances of V1 apps are orchestrated using Hashicorp Nomad. New organizations no longer deploy Fly Apps to the V1 version of the platform, but existing V1 apps are unchanged and can be managed in the same way you are accustomed to.

Apps V2

"Fly Apps V2" is the new version of the Fly Apps Platform, running on flyd instead of Nomad. The Firecracker VM building blocks of Fly Apps V2 are Machines.

Apps V2 doesn't behave identically to V1. You have more control over where your VMs run; the flip side is that flyd won't magically move a Machine from one host to another the way Nomad does. There's a lot more information about this in Carving the Scheduler Out of Our Orchestrator.

Machines within a single V2 app can also have different configurations and run different images, if you want. Machines deployed with fly deploy are managed as a group, though, and run from the same image and the same config.

Your organization can have V1 apps and V2 apps on the same private network, running different layers of your full-stack application.

Apps V2 is evolving rapidly.