Scaling Fly for All

Update 15/May/2020: The contents of this article have been superceded by a new scaling system on Fly. We’ve refined the scaling models and commands to make things simpler to use. To read about these changes see the article on the updated scale system

Dj Walker-Morgan
5 min readbeginner
--
View Original

Overview

The article discusses the introduction of scaling controls for all Fly users, allowing them to manage the number of application instances and the size of virtual machines across global regions. It highlights the new capabilities of the Fly platform, including autopilot scaling and the use of the 'flyctl scale' command for managing application deployment.

What You'll Learn

1

How to control the scaling of your Fly applications across different regions

2

Why managing instance sizes is crucial for application performance

3

When to use the 'flyctl scale' command for optimal resource allocation

Prerequisites & Requirements

  • Basic understanding of cloud application deployment
  • Familiarity with the Fly platform and 'flyctl' command-line tool

Key Questions Answered

What are the new scaling controls available for Fly users?
Fly now offers scaling controls that allow users to manage the number of application instances and the size of virtual machines across various global regions. Users can utilize the 'flyctl scale' command to customize their scaling settings effectively.
How does autopilot scaling work in Fly?
Autopilot scaling automatically adds new instances when an existing instance reaches its connection limit, typically between 20-25 connections. It also determines the optimal location for the new instance based on user-defined settings.
What command is used to set scaling regions in Fly?
The command 'flyctl scale regions' is used to view and set the regions where your application runs and to specify the minimum number of instances you want in each region.
What VM sizes are available for Fly applications?
Fly applications can be deployed using various VM sizes, including micro-1x (0.12 vCPUs, 128 MB memory) and micro-2x (0.25 vCPUs, 512 MB memory), among others. Each size is designed to meet different performance needs.

Technologies & Tools

Cloud Platform
Fly
Used for deploying and scaling applications globally.
Command-line Tool
Flyctl
Used for managing Fly applications, including scaling and deployment.

Key Actionable Insights

1
Utilize the 'flyctl scale' command to manage your application's scaling effectively.
This command allows you to customize the number of instances and their locations, ensuring optimal performance and resource allocation based on your application's needs.
2
Regularly monitor your application's connection limits to leverage autopilot scaling.
By being aware of connection thresholds, you can ensure that your application scales seamlessly without downtime, maintaining a good user experience.
3
Experiment with different VM sizes to find the best fit for your application's performance requirements.
Choosing the right VM size can significantly impact your application's efficiency and cost-effectiveness, so it's important to evaluate your needs regularly.

Common Pitfalls

1
Failing to monitor connection limits can lead to application downtime.
When instances reach their connection limits without proper scaling, users may experience service interruptions. Regular monitoring and proactive scaling can help avoid this issue.

Related Concepts

Cloud Application Scaling
Vm Sizing
Autopilot Scaling
Fly Platform Features