Back to Blog

SpotFleet on Convox (ECS)

SpotFleet on Convox (ECS)

At Convox, our commitment to harnessing the latest in cloud technology drives our continuous evolution, ensuring that our customers access the most efficient and advanced solutions. With this mindset, we’re enhancing our v2 (ECS) racks with the ability to utilize SpotFleet. This addition is a leap from our current AWS Spot Instance bid feature, offering a new level of flexibility and cost-effectiveness in resource management. By adopting SpotFleet, we provide a solution that adapts seamlessly to the dynamic needs of our AWS users, further cementing our role as innovators in cloud resource management.

Spot Instances Overview

For our customers, the existing AWS Spot Instance bid feature has been game-changing, offering considerable cost savings and enhanced flexibility. Unlike traditional fixed-price models, AWS spot instances enable users to capitalize on the varying market prices for unused capacity. By setting a maximum bid price, they often receive instances at the current spot price, which is typically much lower than standard on-demand rates. This dynamic pricing model has made spot instances an exceptionally cost-effective choice for resource management.

Elevating Resource Management with SpotFleet

The integration of SpotFleet support represents a significant enhancement. SpotFleet not only maintains the cost benefits of spot instances but also introduces greater sophistication and automation in resource allocation and cost management. This upgrade offers customers a more powerful tool, optimizing cloud resources with advanced efficiency and adapting adeptly to evolving needs in the AWS ecosystem.

SpotFleet Feature: Single Subnet/AZ Limitation

It’s important to note that our newly released SpotFleet feature currently operates within a single subnet and Availability Zone (AZ). This brings specific considerations, such as potential impacts on fault tolerance and latency due to the geographical and infrastructural limitations of a single AZ. We are diligently working towards enabling full multi-AZ support to provide even greater resilience and flexibility.

For racks configured with High Availability (HighAvailability=true), while the overall rack architecture utilizes multiple subnets/AZs to ensure redundancy, the SpotFleet placement is currently constrained to the subnet defined as Subnet0CIDR in the rack parameters. This means that even in HA setups, the SpotFleet will deploy resources within this single designated subnet and AZ. We recognize the importance of expanding this capability and are actively working toward enabling full multi-AZ support.

Practical Usage and General Use Case Examples

The introduction of SpotFleet into Convox’s v2 (ECS) racks opens a world of versatile configurations, tailored to meet a wide range of operational needs. Whether dealing with fluctuating workloads or resource-intensive applications, this feature brings a level of scalability and customization that can enhance cloud resource management.


Example 1: Cost-Effective Scaling

Automatically scale your resources in the most cost-effective manner, especially beneficial for variable workloads.

Example Parameters:

  • SpotFleetAllowedInstanceTypes: For variable workloads, choose a mix of instance types that offer both performance and cost-efficiency. For example, combining m5.large for baseline performance with c5.2xlarge for compute-intensive peaks can be effective.
  • SpotFleetAllocationStrategy: The lowestPrice strategy is often suitable here, focusing on cost savings. For workloads requiring a specific performance level, consider capacityOptimized to ensure the availability of high-performance instances.
  • SpotFleetMaxPrice: Set a ceiling that aligns with your budget while considering typical spot prices for your selected instance types.
  • SpotFleetMinOnDemandCount: The default of 1 (or 2 for HA configurations) offers a baseline of stability. Consider increasing this number during high-demand periods to ensure continuous operation.

Example 2: Resource-Intensive Applications

Efficiently run applications with specific memory or CPU requirements by tailoring your SpotFleet configurations.

Example Parameters:

  • SpotFleetAllowedInstanceTypes: Select instance types that cater to high memory and CPU demands. Types like c5.4xlarge could be ideal for their balance of compute and memory resources.
  • SpotFleetTargetType: For memory-intensive applications, setting this to memory-mib ensures prioritization of memory allocation. For CPU-intensive tasks, vcpu is the appropriate choice.
  • SpotFleetMinMemoryMiB and SpotFleetMinVcpuCount: Adjust these values to match the performance thresholds of your applications. For example, a high-traffic web server might require setting SpotFleetMinMemoryMiB to 16000 (16 GB) and SpotFleetMinVcpuCount to 8 to ensure robust handling of simultaneous requests and data processing.
  • SpotFleetAllocationStrategy: The capacityOptimized strategy would be beneficial here, focusing on acquiring instances that sustain high performance required by dynamic and resource-intensive applications.

SpotFleet Configuration Parameters

To fully leverage the capabilities of SpotFleet, we’ve introduced several control parameters designed to fine-tune your resource management:

  • SpotFleetAllowedInstanceTypes: This parameter allows the specification of permissible instance types using a comma-separated list. For example, you can list types like m5.8xlarge, r5.large, or use patterns like c5. to allow a range of instances.
  • SpotFleetAllocationStrategy: This setting dictates how instances are selected:
    • lowestPrice: Prioritizes cost by selecting the least expensive instances.
    • diversified: Spreads instances across different types and availability zones, reducing the risk of simultaneous loss.
    • capacityOptimized: Focuses on selecting instances based on available capacity, suitable for performance-critical applications.
  • SpotFleetMaxPrice: Set the maximum price per instance, balancing instance availability and cost.
  • SpotFleetMinMemoryMiB and SpotFleetMinVcpuCount: Separate these parameters to ensure fine control over memory and CPU allocation.
  • SpotFleetMinOnDemandCount: Sets the minimum number of on-demand instances for rack API and rack service placement. The default is 2 (or 1 if HighAvailability=false).
  • SpotFleetTargetType: Controls how the capacity of the Spot Fleet is measured and scaled, with options:
    • memory-mib: Prioritizes memory allocation.
    • units: Considers a balanced combination of resources.
    • vcpu: Focuses on CPU capacity.

Conclusion

With the introduction of SpotFleet support for Convox v2 (ECS) racks, we’re offering more than just a new feature — we’re providing a gateway to more sophisticated, flexible, and cost-effective cloud resource management. Explore this new capability to experience enhanced efficiency and optimization for your racks.

Let your team focus on what matters.