Syncora Workforce is a SaaS company running its workforce-management platform on Azure as container apps, serving customers across the United States. Like many teams that scaled on the cloud quickly, Syncora sized its resources by hand early on, and over time those allocations drifted from how the platform was actually being used. Some services held far more capacity than they ever touched, while others ran too lean for their busiest moments, and the gap widened in both directions with every passing month. Right-sizing by hand was the obvious fix, but it was tedious, easy to defer, and rarely got done, so the wasted spend and the performance risk simply compounded. When Syncora engaged Bacancy, the goal was to keep capacity in line with demand continuously, without putting an engineer on permanent right-sizing duty. The engagement covered defining right-sizing targets for each service, configuring the Azure SRE Agent to run scheduled checks on usage, health, and cost, and rolling out autonomous scale and SKU adjustments with the guardrails needed to act safely on production.
Scheduled usage, health, and cost checks on Azure SRE Agent
Automatic scale and SKU right-sizing from live metrics
Review-to-autonomous rollout with human approval gates
Delete and Key Vault blocks with full action logging
Syncora sized its container apps by hand, and many of them ended up holding far more capacity than their real workload ever used. The allocations never changed, so this over-provisioning never surfaced on its own. It billed quietly every month, and the team had no clear signal showing which services were oversized, or by how much.
The same manual sizing left other services pinned too low. When demand climbed, those services scaled up too slowly, so the platform slowed down under heavy load, exactly when the most users were depending on it. Simply raising every baseline to play it safe would have brought back the over-provisioning problem from the other direction.
Right-sizing by hand meant an engineer regularly reviewing usage and adjusting allocations. The work was tedious enough that it lost out to more urgent tasks and rarely got done. Each time a cycle slipped, the sizing drifted further from real usage, so the environment almost always ran on numbers that were weeks or months out of date.
Letting an agent change live infrastructure raised an obvious concern: anything that acts on production has to be trusted not to make an unwanted or dangerous change. A single bad resize, an accidental delete, or a touched secret could do more damage than the inefficiency the automation was meant to fix.
Our Azure consultants began by defining a right-sizing target for each service. They set the utilization the agent should hold to and the instance floor it could never drop below, so “correctly sized” meant something concrete for every app. With those targets in place, the Agent scaled over-provisioned services down through the Azure CLI, matching capacity to the demand each service’s metrics showed. Defining safe limits per service took real effort upfront, and it paid off as a 38% drop in spend on idle capacity, with no service trimmed below the floor it needed.
We set the Azure SRE Agent to adjust scale and SKUs through the Azure CLI using each service’s live metrics. Under-sized services now resize to handle the load on time, instead of catching up after performance has already dipped. Because the agent reads the same metrics on every run, it applies the resizing consistently across the subscription, rather than leaving it to depend on which service someone happens to check. This keeps performance steady under load without padding every service with idle headroom.
We configured Azure SRE Agent scheduled tasks to check usage, health, and cost across the container apps on a set cadence, so the environment gets reviewed on a fixed rhythm instead of whenever someone remembers. The checks run on their own and feed straight into the agent’s adjustments. This removed roughly two hours of manual right-sizing every month and, more importantly, kept the sizing current. Most of the effort here went into tuning the cadence, so the checks catch real drift without overreacting to short-lived spikes.
Our Azure developer rolled the agent out in stages instead of handing it full control at once. It started in Review mode, where a human approved each proposed change, and moved to autonomous operation only after it earned that trust on real adjustments. We blocked deletes and Key Vault outright, so the agent can resize resources but never remove them or touch secrets, and we logged every action to Application Insights. The result is a full audit trail that records every check, resize, and approval, with the agent running safely inside firm limits.
Demand-Based Resource Right-Sizing
Scheduled Health and Cost Monitoring
Gated Autonomy Controls
Full Audit Trail via Application Insights
01
Apr 2026 - Jun 2026
38% lower spend on idle, over-provisioned capacity
~2 hours of manual right-sizing are removed each month
Under-sized services resized to handle the load on time
Resizing is applied consistently across the subscription
Every check, resize, and approval is logged to Application Insights
Full visibility is maintained across optimization actions
| Monitoring | Azure Monitor |
| Observability | Log AnalyticsApplication Insights |
| Resource Access | Managed IdentityAzure Resource Graph |
| Logging & Audit | Application Insights |
| Project & Issue Tracking | JiraConfluence |
Get access to an experienced team of developers and engineers from Bacancy, handpicked to ace your goals. Kickstart within 48 hours, no-risk trial.
Years of Business Experience
Happy Customers
Countries with Happy Customers
Agile Enabled Employees