What are flights?
When using Seaplane Managed Global Compute (MGC) there are two key terms you need to know: flights and formations. This document dives into the technical details of flights. You can learn more about formations here.
Flights vs Formations
Before we dive into the specific details of flights, it's important to understand the difference between a flight and a formation.
A flight consists of a single container image. Under the hood, Seaplane can spin up many container instances and spread them around the globe or within the regions you specify (more on that later).
A formation consists of one or more flights. Formations can be thought of as your high-level application or service. Formations include the load balancer and entry-point (resource URL) to your service. This is the entry point for all public and private traffic.
Like we said before, flights are only the container image definition. It's important to note that flights cannot be deployed by themselves, they must be part of a formation. Only formations can be deployed, because only formations define routing and load balancing to container instances of the referenced flight(s).
Think of it like air traffic control (because we love plane metaphors around here): a plane can't take off willy nilly from your nearest regional airport. It needs to have a planned route, approved by air traffic control, to ensure it winds up in the right place without interrupting all the other planes in the air.
If all that sounds a bit too theoretical, let's look at a real-world example. Imagine you're setting up an ecommerce website. Like many modern web applications, your website will be made up of a few different components; a front-facing webserver, a backend database, and maybe a backend metrics platform. If you were to make a diagram showing how they all connect, it would look something like this:
In this example, both the web server and the metrics platform are flights. However, the database is not, as flights are always stateless. If you're interested in a global database to use in conjunction with MGC, take a look at our beta products and request early access here.
Depending on your formation configuration and user load, you may have multiple container instances spread all over the world backing a single flight. Put simply, more user load = more container instances backing your flight. In this way, each flight within Seaplane is essentially its own CDN-like cluster optimized for your end user traffic.
Most of the configuration, such as provider restrictions, regions restrictions, and specific routing settings, are handled by the formation. The only configuration specifications you can set at the flight-level is the architecture. If no architecture is provided, Seaplane will auto-detect the architecture using the image definition.