Work / Cost optimization
Cost optimization, October 2025
49 % lower AWS cost in six months
A client paid 36,000 USD per month for AWS in May 2025. In October 2025 the same workloads ran for 18,500 USD per month, with no change in request volume.
The estate in May 2025
The client's AWS bill was 36,000 USD per month. The workloads were invoked about 28 million times over the six months of the engagement, and the invocation rate did not change during the work. One service used more CPU than its request volume justified.
36,000 USD per month
The bill was high for the request volume the workloads served.
CPU above the request volume
One service used more CPU than its request volume justified.
The volume of work stayed the same. The cost of each unit of work had to fall.
Cost optimization, May to October 2025
We reduced the monthly bill from 36,000 USD to 18,500 USD between May and October 2025. That is a reduction of 49 %, or about 210,000 USD per year. Invocation counts stayed constant over the period, so the saving came from the cost of each unit of work and not from a reduction in service.
| Measure | May 2025 | October 2025 | Change |
|---|---|---|---|
| AWS bill, USD per month | 36,000 | 18,500 | 49 % lower |
| Invocation rate | Constant | Constant | 0 % change |
No change in service capacity
Invocation counts stayed constant from May to October 2025. The reduction came from the cost of running each unit of work. End users saw no change.
Performance optimization
With the same request volume, we found the root cause of the high CPU utilization and reduced the resources the service consumed. CPU utilization fell and the success rate of state machine executions stayed high.
Root cause analysis, from the metric to the commit
We trace a performance issue from the infrastructure metric to the code change that caused it. The example below shows the method on a sample order service that runs on ECS Fargate. The identifiers and figures in the example come from the sample, not from the client's estate.
- One query fetches the orders of a user.
- A second query runs for each order to fetch its products.
- For an active user this is more than 100 database calls per request.
- One query joins orders, order products and products.
- The application groups the rows by order.
- One database call per request.
For each incident we record the following.
ISO 27001 certification
The client's AWS environments were certified to ISO 27001 during the engagement. The cost and performance changes were made inside this programme, so no change weakened a security control or added a risk.
Gap analysis
We assessed the AWS security controls, configuration and architecture against the ISO 27001 requirements and listed each gap.
Roadmap
We wrote an action plan in order of priority, with a date and an owner for each action.
Optimization
We resized resources, added auto scaling and optimized the workloads without leaving the scope of the controls.
Remediation
We guided the implementation of the controls, policies and documentation in line with the AWS Well-Architected Framework and ISO 27001.
The figures
| Measure | Value |
|---|---|
| AWS bill in May 2025, USD per month | 36,000 |
| AWS bill in October 2025, USD per month | 18,500 |
| Reduction, % | 49 |
| Saving, USD per year | 210,000 |
| Invocations over the six months, millions, about | 28 |
| Performance impact, % | 0 |
What the client received
- An AWS bill of 18,500 USD per month, from 36,000 USD, at the same service capacity.
- The root cause of each performance issue, traced to the code change, with the fix.
- ISO 27001 certification of the AWS environments, with the gap analysis, the action plan and the remediation.
A lower bill for the workloads you already run
We review your bill and your architecture together, then apply the changes. Every recommendation carries its saving per month and the engineering effort to apply it.
Talk to an engineer