Introduction
As I was updating our listing of Fly.io, it was impossible to ignore that Fly switched up its pricing model in October 2024. By adopting a Pay As You Go approach, Fly.io is moving closer to a serverless-like model, though some services have moved to (optional) subscriptions. More on that later in this article.
PaaS versus Serverless
Platform as a Service (PaaS) and Serverless are typically seen as different approaches to cloud application development, but as the industry evolves, the lines are getting blurred. Serverless is often reduced to just Functions as a Service (FaaS), but it’s much more than that. AWS Serverless Hero Ben Kehoe defines Serverless as a spectrum — a perspective we share at srvrlss.io. In our vision, Serverless is becoming the paradigm for modern cloud-native development, in contrast to traditional monolithic architectures.
While there is still some debate about whether, or to what degree, PaaS can be classified as Serverless, the Pay As You Go model fits the mold of Serverless. This model allows for automatic scaling and more granular billing based on actual resource usage — key traits of Serverless computing. This concept is key to our focus at srvrlss.io, and you can expect more insights on this topic in a future post!
For now, let’s take a look at what Fly.io’s previous model was like and what you can expect moving forward.
Legacy Plans
Fly.io previously offered mixed billing plans that combined a flat subscription fee with additional charges for resources where features and support levels were tied to specific tiers. This included a one-time $5 trial credit for new users, and a free allowance for all plans that included:
Up to 3 shared-cpu-1 x 256 MB VMs
3 GB persistent volume storage
160 GB outbound data transfer
Beyond the free allowance, you were billed for what you used each month.
Legacy Pricing Tiers
The following legacy plans were available:
Hobby: $5/month
Launch: $29/month
Scale: $199/month
Enterprise: bespoke pricing
Current Status of Legacy Plans
It’s all too common for companies to impose new policies on existing users, sometimes even breaching prior agreements. Fortunately, Fly.io is still honoring its legacy plans (and free allowances) for users who signed up before October 7, 2024. However, if these users switch to the new Pay As You Go model, the old plans will no longer be available.
Fly.io Pay As You Go
The legacy plans could get complicated, so Fly chose for a more Serverless-like, usage-based pricing model. You’ll now only pay for what you actually use, avoiding any unnecessary overhead. Billing is done monthly per organization and applies to all new customers (organizations) — also those created by existing users.
For more details, refer to Fly.io’s billing resource.
Automatic Scaling
In true Severless fashion, Fly.io offers an autostop/autostart feature that allows your application to scale down during low traffic periods. Here’s how it works:
Monitoring: Fly Proxy runs a process every few minutes to determine if there’s excess capacity and manages machine states accordingly.
Autostop: When demand decreases, Fly Machines can automatically stop or suspend based on incoming requests. Stopped and suspended Machines are billed based on their root file system usage per second by $0.15 per GB per month.
Autostart: When demand increases, additional machines can be automatically provisioned to handle the load. The Fly Proxy monitors traffic and starts machines as needed, ensuring that your application can meet peak demand without running excess machines.
Minimum Machines Running: You can specify a minimum number of machines to keep running in your primary region, ensuring that your application remains responsive even during low traffic.
Key Pricing Components
- VM Pricing: Charged based on CPU/RAM presets, with additional charges for extra RAM. Started Machines are billed per second that they’re running.
- Storage Costs: Options include Block Storage, Object Storage and Managed PostgreSQL.
- Network Prices: Charges apply for Anycast IP addresses, Managed SSL Certificates, and Data transfer.
Regional Pricing Differences
Starting in July 2024, Fly.io began rolling out regional pricing in phases. Initial prices remain unchanged for the first month but will increase by 25% of the difference between the base price and regional price each month, reaching full regional pricing in November 2024. This applies to Fly Machines as well as outbound data transfers (egress to the internet or private networks between regions).
Pricing Comparison: Cheapest vs. Most Expensive Regions
The cost of running a Fly Machine VM is determined by its CPU/RAM preset, with an additional charge of approximately $5 per GB of extra RAM for every 30 days.
The following comparison between the cheapest and most expensive regions highlights the lowest-cost presets and a selection of common additional RAM configurations:
Fly.io Offers New Subscriptions?
Yes, Fly.io now offers a few services that can be viewed as a form of subscriptions.
Redis Pricing
In addtion to a Pay As You Go plan for Upstash Redis, Fly offers three subscription tiers with varying levels of storage and request capacities. Each plan is tailored for specific usage needs, with options for single and multiple regions.
Reservation Discounts
You’ll receive a 40% discount when you reserve a block of compute time for either performance machines or shared machines in a specific region. Reservations apply to any number of machines of the specified CPU class within your organization’s apps.
Add-ons for Support and Compliance
Unlike the legacy plans, which tied support levels to specific tiers, Fly.io now provides basic Community support for all customers. Enhanced support and compliance reports can be purchased separately as packages in the Support section of your dashboard.
Pricing Calculator
While Fly.io aimed to simplify its pricing structure, determining your costs can still be tricky. Fortunately, you can get an indication of what to expect with the Fly.io Pricing Calculator.
Conclusion
With Fly.io’s new Pay As You Go pricing model, it’s crucial to weigh both the benefits and drawbacks.
Pros
Cost Efficiency: You only pay for what you use, which can lead to significant savings, especially for applications with fluctuating traffic.
Automatic Scaling: The ability to automatically scale your resources up or down based on demand means you won’t pay for unused capacity during low traffic periods.
Simplified Billing: The new model eliminates the complexity of mixed billing, making it easier to predict costs month to month.
Cons
Potential for Increased Costs: If your application experiences consistent high traffic, costs can add up quickly compared to flat-rate plans.
Learning Curve: Adjusting to a usage-based model may require some time and effort to monitor and optimize your resource consumption effectively.
No Free Trials and Allowances: New users can no longer explore Fly.io’s through free allowances or trials, making it very hard to find out if the platform is right for them before fully committing.
In Summary
Fly.io’s new pricing model can offer flexibility and efficiency. But, while the Pay As You Go approach is appealing for its cost-saving potential, it may not be the best choice for everyone — especially in cases of increasingly high traffic, where you might find expenses rising unexpectedly.
I do want to comment again on Fly.io’s commitment to honoring legacy plans for users who signed up before the changes. This respect for existing users shows a level of integrity that’s becoming increasingly rare in the industry. However, should you choose to switch to the new model, be prepared to actively manage your usage to avoid unwelcome surprises in your bill.
Hopefully, shedding some light on these nuances of how Fly.io’s changes might impact you will help you make informed decisions for your next projects.