[Fresh Produce] Dedicated Hosts

We just released dedicated hosts. In short, it’s in the name - you can buy an entire physical server where only you can run Machines.

How it works on Fly.io

Buying a Fly dedicated host works similarly to buying a physical server, and similarly to managed web hosting of yesteryear. There is a one-time initial cost, and a monthly fee for hosting and maintenance. We maintain the Fly stack on the server, and give you access through our regular API endpoints / flyctl.

A group of dedicated hosts is called a “host dedication”. Each host dedication has an UUID host_dedication_id identifier that can be used to create resources on that group of hosts.

It is possible to create a host dedication with only a subset of your hosts, or to use the same host dedication between multiple Fly organisations (prod/staging), or a combination of both. How you want to organise your dedicated hosts is up to you.

Dedicated hosts are in the same regions as our regular hosts. If you try to create resources in a region where the chosen host dedication doesn’t have hosts, our API will return an error message.

Both the Create Machine and Create Volume API endpoints accept a host_dedication_id parameter. Resources on dedicated hosts will have the host_dedication_id in the returned json.

If you are managing your machines via fly deploy, you can set the host_dedication_id key in fly.toml, and flyctl will make sure all your machines are on dedicated hosts. (This does not work yet for fly scale : fly scale command ignores host_dedication_id ).

if you’re using manual API calls, it’s up to you to ensure the host_dedication_id is correct.

Get your own dedicated hosts!

Since it’s a beta feature that requires a setup fee, it’s not self serve yet. Email sales@fly.io and we’ll get you started in no time!

Also, being a beta feature, it’s not covered by Premium Support yet. If you have any questions about it, give us your ideas and opinions here! We’ll be especially attentive here, because it’ll help us build the best dedicated host experience for everyone.

8 Likes

Sounds good, but is there any support available if the host server breaks down? Or do we have to pay for the insurance ourselves? In other words, do we need to buy extra servers and make good use of them by opening the machines to team members as playgrounds in peacetime?

*To avoid vague terms such as “server” or “machine” here, define host machine as “server” and fly machine as “machine”.

Good question! Dedicated hosts are “your host” and we want people to be thinking about HA deployments regardless of if you’re on dedicated hardware with no other neighbors or if you’re running on Fly Machines in our general server pools.

If a server breaks down (which they do, but not often) we’ll take steps to fully recover the server quickly like we do with other servers. If we run into something awful like a faulty motherboard or things like that, we’ll work with you on what options we have. Usually we can get new parts pretty fast, or move disks, etc over to a standby host to bring things back online without having to work with backups, but that’s case by case. With dedicated hosts you’re already on a plan that includes direct support and we want you to be involved.

1 Like

Just to clarify, when you say “buy an entire physical server” does that mean the customer has ownership rights to the physical server? Or is it still just renting the entire physical server?

If the customer has ownership rights, what’s the point? What’s the use case? What happens if the customer no longer wishes to be a fly.io customer?

The whole point of cloud from the customers perspective is that they don’t have to buy physical servers, they simply rent server capacity as needed. It’s your job as a cloud provider to meet the capacity demands.

If you’re wanting to offer the ability for a customer to use the entire physical server for themselves then this would be better served by a reservation subscription (e.g. Some x amount of dollars per month for minimum 12 months per baremetal server reserved).

We’re thinking about this as a way to take an entire server and dedicate that to your org. Customers have asked us about this for a variety of reasons. Fly.io owns the server and deals with all of that. And we’ll manage everything. It’ll be your own slice of Fly.io where only the apps with that dedication key will run. Fly.io has regions, regions have servers, servers run your workloads. Now you can pay for whole servers and all the CPUs, memory, disk, and network in them if you’d like.

Reservations are pretty cool too. We might offer something eventually that looks like reservations because people ask about it a lot. They can help us reason about allocations and capacity planning and stuff like that. But they’re also kind of a pain because you have to think: how many of a certain instance type do I need now and will I need more in the future or will Fly.io offer new instances or will my project pivot and need something different… and then commit to paying for them for something crazy like a year.

For now, this is a way to buy a fixed chunk of capacity if that makes sense for your project.

3 Likes

Thanks for the clarification.

This sounds pretty much like AWS Dedicated Hosts. It was just some of the wording in the initial post made it a little unclear. I see the use cases and why some businesses would want this.

On the reservations side, I agree that it does come with some pains, which is why maybe something like the AWS Savings Plans might be more appealing. Simply the customer agrees to a minimum per month spend on compute resources for 1 - 3 years and in exchange they get a discount on compute resources. This would be something we’d opt into as we know we have a certain level of compute spend that we’ll always use no matter what.

Something cool which is definitely a wishlist kind of thing would be a fly.io equivalent to Azure Stack, being able to run the fly.io stack on customer hardware in customer locations.