Deep dive demo
Welcome to our deep dive demo, where you can explore Fly.io more thoroughly, but in a time-boxed way. In one hour or less: get a fully-functioning app running in the first few minutes, and then have enough time left over to understand what you just did, explore how the pieces fit together, and even integrate AI functionality that makes use of GPUs.
Goals of the deep dive
It’s really just one goal:
Help you find out if Fly.io is the right place for you.
If you came from our Speedrun or Getting started pages, maybe you want to go beyond hello world
and explore the platform so you can feel confident that you’re choosing a provider that can support you now, and scale with you later on as you grow.
Maybe you’re concerned about lock in. You want to use services from other places and even eject entirely and go elsewhere if things don’t work out.
Perhaps it is a simple as you feel it is easier to tune and evolve a working system than it is to debug why your application doesn’t launch on an unfamiliar platform.
If you don’t get a good feeling within an hour, you’re out of here. If you do get a good feeling, then stick around and try launching the app that you brought here to launch.
Beyond hello fly
A real-world application has, at a minimum, the following components:
- An HTML form and a database; typically a relational database.
- The ability to handle media files or documents, generally using S3.
- A multi-user and realtime component, where changes made by one person in one location are reflected instantly in the browser of another person.
To get a fully-functional app running smoothly, you need a whole bunch of things; things like Anycast routing, load balancers, DNS certificates, WebSockets, an internal private network, a relational database, an object store, and an in-memory database. And the knowledge to connect them all together.
Connecting complex compoents together generally takes an unpredictable amount of time due to surprises. Usually, set up for a complete app typically takes a minimum of an afternoon’s worth of work, even if you’re familiar with a cloud platform. We will be up and running in minutes.
Fly.io minimizes surprises by taking a lot of work off your plate with our Public Network Services, Fly Proxy routing, out-of-the-box Private Networking, and preconfigured databases. While we can’t promise no surprises, we can show you how we’ll partner with you to handle some of the dev ops complexities of working in a public cloud.
So what is this deep dive demo app?
The deep dive demo uses industry standard components that you can run on your laptop, a VPS, AWS EC2, Google Compute Engine, or Azure.
Web Dictaphone – Fly.io edition
The deep dive demo is based on MDN’s Web Dictaphone. You can play with a live demo hosted on GitHub. The Web Dictaphone app is about as basic of an HTML form as you can get, and it has the added bonus of providing the ability to generate as many media files as you want using only your voice.
The basic Web Dictaphone is client side only, requiring a web server that can deploy static assets (HTML, CSS, JS, images), like nginx, Apache HTTPd, or Caddy. Storing the data in databases for our deep dive demo requires a server that can handle HTTP GET, POST, PUT, and DELETE requests. The choice of server varies depending on the language or framework.
The demo includes the following components:
- A PostgreSQL relational database to store the names of the audio clips
- A Tigris bucket to store the audio files
- Upstash for Redis and WebSockets to handle the connections for the realtime requirement
Available runtimes
Our deep dive demo comes in five flavors (so far):
Next: Launch the demo