Toolspublished

Salesforce Uses SageMaker Placement Controls to Meet 2-AZ Agentforce Standard, Keep 8x Savings

The configuration separates model-level resilience from an endpoint’s infrastructure footprint, but balanced placement still depends on GPU capacity in each target Availability Zone.

By 3 min read
Salesforce Uses SageMaker Placement Controls to Meet 2-AZ Agentforce Standard, Keep 8x Savings

Listen to this story

The audio brief

About 1:36
0:001:36
Read transcript
Salesforce has configured its production Agentforce models to span two Availability Zones in SageMaker, while keeping the shared-GPU design that cut infrastructure costs eightfold. The important change is model-level placement control. Before this, SageMaker could distribute new deployment copies across instances without balancing the copies of one particular model across zones. So an endpoint might cover two zones, while a single model’s copies remained concentrated in just one. That creates a real failure risk: an instance outage can remove several copies at once, and a zone outage can take the model offline entirely. AWS added SchedulingConfig to SageMaker Inference Components so teams can control both layers. Availability-zone balance sets how evenly copies are distributed between zones, while MaxImbalance defines the allowed difference. Inside each zone, Salesforce chose SPREAD, which puts copies on more instances for fault isolation, rather than BINPACK, which favors denser GPU utilization. AWS says two copies on two instances can target one copy per zone when MaxImbalance is zero, and recommends at least that configuration for two-zone resilience. But the placement policy is permissive, not absolute. If a target zone lacks GPU capacity, SageMaker can accept a skewed layout instead of failing deployment. Salesforce pre-provisioned capacity in each zone, and AWS recommends reservations where supply is constrained. The key operational question is whether that balance persists: teams need to monitor AZ skew, copy counts, and rebalancing through SageMaker AI Insights and CloudWatch.

Story brief

3 key points

Salesforce configured AWS SageMaker Inference Components to keep each production Agentforce model distributed across two Availability Zones while preserving a shared-GPU design that delivered an eightfold infrastructure-cost reduction. The key change is per-model placement control: SchedulingConfig can balance copies across zones and use SPREAD to isolate them across instances. High availability remains conditional,...

  1. 01

    SchedulingConfig adds per-model controls for Availability Zone balance and copy placement across instances.

  2. 02

    Salesforce selected SPREAD, favoring fault isolation over packing copies onto fewer GPUs.

  3. 03

    AWS recommends at least two copies and two instances for a two-zone deployment; MaxImbalance zero targets one copy per zone.

Salesforce has used new placement controls in SageMaker Inference Components to make its production Agentforce models support two Availability Zones, a requirement that an endpoint spanning multiple zones did not previously guarantee. The company says it retained the shared-GPU approach that cut its infrastructure costs eightfold.

AWS introduced SchedulingConfig in the CreateInferenceComponent API to control where copies of an inference component—a deployed model unit—are placed across instances and Availability Zones. Salesforce used the feature because SageMaker’s previous default placement handled each deployment operation independently. That could leave copies of a particular model concentrated in one zone even when the endpoint itself covered more than one.

That distinction creates two failure modes. If several copies share an instance, one instance failure can remove them together. If a model’s copies sit in only one Availability Zone, an outage in that zone can make that model unavailable. Salesforce requires every production model to support two zones, according to AWS’s account of the deployment.

The configuration has two layers. AvailabilityZoneBalance aims to distribute copies evenly across zones, while MaxImbalance sets the tolerated difference in copy counts between them. Within each zone, SPREAD puts copies on as many instances as possible for fault isolation; BINPACK puts them on fewer instances to favor utilization. Salesforce chose SPREAD, prioritizing isolation over denser packing.

Diagram comparing default inference-component placement with placement balanced across two Availability Zones.
AWS illustrates how explicit scheduling can distribute inference-component copies across two Availability Zones rather than allow concentration under default placement. Source: aws.amazon.com.

AWS’s example uses four copies on four instances split between two zones. With SPREAD and the stated AZ-balance settings, SageMaker places two copies in each zone. For a lighter model with two copies, a MaxImbalance setting of zero targets one copy per zone. AWS recommends at least two component copies and two instances for a two-zone high-availability deployment.

The new controls do not turn zone balance into an unconditional guarantee. AWS says the available enforcement mode is permissive: if capacity prevents the desired distribution, SageMaker can place copies on available instances rather than fail the deployment. AWS recommends On-Demand Capacity Reservations in regions where capacity is constrained by Availability Zone, and says Salesforce pre-provisioned GPU capacity in each target zone.

AWS says scale-out places new copies to maintain the configured AZ distribution, while scale-in removes them symmetrically across zones. For longer-term consolidation after repeated scaling changes, the endpoint can use a CONSOLIDATION scale-in policy that periodically releases idle instances while honoring AZ-balance constraints. Endpoint and inference-component updates also preserve multi-AZ placement, according to AWS.

Teams can check whether the intended distribution persists through SageMaker AI Insights and CloudWatch. AWS says the services expose AZ skew, copy counts by zone, rebalancing events and insufficient-capacity errors. The operational test is therefore broader than setting CopyCount: teams must retain capacity, watch for drift and avoid reducing a high-availability model to one copy, which can exist in only one zone.

Sources

  1. aws.amazon.comSpreading the load: How Salesforce met Multi-AZ HA with SageMaker Inference Components | Amazon Web Services