Introduction

What is Fly?

Fly is an Application Delivery Network (ADN) that accelerates dynamic application delivery. We use a global network of servers to accept visitor traffic, run middleware on requests, then route them to backend applications. With a few clicks, your visitors will access your sites faster and more securely.

Setting up a site

Create a site within the Fly web interface by adding a hostname and selecting from one of many backend types. Next, point your DNS at Fly.

As you connect more backends, you can adjust where and how you will route your visitors. For example, you can:

If you're builing microservice or "serverless" applications, you can setup, discover, and load balance function-based back-ends like AWS Lambda and Google Cloud Functions. Fly will act as your intelligent load balancer and flexible API gateway.

A picture indicating Middleware

Once connected, you can apply useful Fly Middleware to your site in a few clicks. With Middleware, you can run logic on visitors' requests that enable you to:

Signup and your first 2,000,000 requests and 100GB every month are free: Get Started!

Where are your data centers?

We have data centers all over the world. The closer the edge node to the visitor, the faster your application will appear. Currently, we deliver applications from:

Nifty note: Our servers are secure physical servers with their own networking equipment. Fly does not use cloud-based servers for traffic delivery or routing.

How much does Fly cost?

Each month, your first 2,000,000 requests and 100GB of transfer are free.

After that, you'll be billed based on how many thousands of requests and GB of bandwidth that you consume:

Region Per 1000 Requests Bandwidth
North America $0.0035 $0.18
Europe $0.0045 $0.18
Asia Pacific $0.0045 $0.21
South America $0.0055 $0.25
Africa $0.0055 $0.25
Middleware and Rules Multiplier

Each request includes the execution of 2 middleware and 2 rules. Extra middleware/rules work as a request multiplier. If a request runs 4 middleware it is billed as two requests. If a request runs 3 rules and no middleware, it's billed as two requests.

Quick start

1. Sign up

First things first: create your account.

Signup is free, and so are your first 2,000,000 requests and 100GB of transfer every month.

2. Add a Site

We ask that you provide us with a hostname and, optionally, a name to represent that hostname. Each hostname needs at least one backend. We have many to choose from:

… And more!

3. Update your DNS

The last step is to point your domain to the Fly servers. We have a handy guide below to help you. We'll then be able to issue a valid SSL/TLS certificate for your domain using the Let's Encrypt API.

4. Fly

Congratulations! Your application is now connected to the Fly Application Delivery Network. You now have Let's Encrypt HTTPS, global load balancing, seamless routing, and access to our growing bounty of powerful middleware.

Wormhole (Optional): If you're looking for some added security and convenience, you have the option of installing the Fly agent, or the "wormhole", next to your application.

How to Configure Your DNS with Fly

DNS Verification

The first thing you will need is your own domain.

If you have access to your domain registrar or DNS provider, you're ready to proceed!

Optimal Configuration

Ideally, your DNS provider will support one of:

Providers that offer these services include:


Once you receive your Fly domain, for example: 2re0qxk8fz8pygk1.shw.io, you will need to make a record. Where you see cooldomain.com, that's where you'd enter your custom domain. :

ALIAS: If your provider offers ALIAS records, it will look similar to this:

Record Name Content
ALIAS cooldomain.com or @ 2re0qxk8fz8pygk1.shw.io

ANAME: If your provider offers ANAME records, it will look similar to this:

Record Name Content
ANAME cooldomain.com or @ 2re0qxk8fz8pygk1.shw.io

Flattened CNAME: If you use CloudFlare, NameCheap, or 123-Reg, you can setup a flattened CNAME record. If your provider does not offer CNAME flattening, you are unable to make a CNAME record for your domain.

Record Name Target
CNAME cooldomain.com or @ 2re0qxk8fz8pygk1.shw.io

Alternative Configuration

If your DNS provider does not offer ALIAS or ANAME records or CNAME flattening, you can use an an A record.

To do so, you must first get the IP of your Fly.io Hostname. You can do that by using ping within your terminal.

super@fly ~ $ ping 2re0qxk8fz8pygk1.shw.io
PING 2re0qxk8fz8pygk1.shw.io (206.51.242.1)...

Once you have the IP, use it within your A record:

Record Name Target
CNAME cooldomain.com or @ 206.51.242.1

Fly!

Once Fly can reach your domain, you will receive receive the green checkmark.

Your application and domain are now ready to Fly!

Verfied

Middleware

What are Middleware?

Fly Middleware allow you to implement powerful functions, features, and snippets at the click of a button. Depending on the Middleware, it could add data to the backend request headers, enable analytics or security features, change HTML body content, or send custom log or debug information at the end of each request.

What about Beta Middleware?

Powerful new Middleware will be showing up all the time. The newest will be marked with the Beta tag. These Middleware can be used free of charge until the tag is removed.

Middleware Library

We've got an ever-expanding list of both homemade and third-party Middleware.

You can explore the documentation for our Middleware Library by clicking here.

Can I write my own?

Almost! If you are interested in writing your own middleware, please email super@fly.io. Developers will soon be able to augment their application functionality with custom logic that runs close to users. Middleware can either be specific to a single app, or made available to all fly.io customers.

The Fly Agent: Wormhole

What is the Wormhole?

The Wormhole is a binary that sits beside your application. It can provide:

With Fly + Wormhole, you'll receive Let's Encrypt HTTPS from client-to-Fly and a fast, encrypted tunnel between Fly-and-App; it's true end-to-end encryption.

Learn More | Download | Open Source

API

Our API is now public! It's under heavy development, but the basics are there.

For more information, click here.

Support

We are here to help! We offer email based support. You can email us at support@fly.io.

If you need SLAs, guaranteed response times, or things of that nature, please contact us.

Guides

Looking for helpful guides to show you how to mount your backends, among other nifty things?

Check them out here.

If you're looking for our freshest, most up-to-date, and deepest content, we're alway churning out new stuff in the Fly Blog. Didn't find the help you needed? Email us at support@fly.io.