Platform Fit Verdict · 5-day assessment
Cloud platform assessment · prepared for the CTO and CFO
This is a worked example, not a client engagement. Example SaaS Co. is fictional. Every figure here is modelled from public list pricing applied to a representative architecture — no client data appears in this document.
We publish a worked example rather than a case study because Rochwall is new and we will not describe work we have not done. What this shows you is the method, the depth, and the format of the report you would receive. The reasoning is real even though the client is not.
Do not migrate. Take £4,750 a month out of the current AWS bill using changes your own team can make in six weeks, none of which alter your architecture.
Then stop and re-measure. On today's numbers, moving to dedicated hardware saves 47% a month and still costs you £103,000 more over three years, because the migration and the ongoing operational burden outweigh the saving at your scale. That answer flips at roughly £32,000 a month of cloud spend. You are at £18,420. See § 08.
Current monthly spend
£18,420
£221,040 / year
Recoverable waste
£4,750
no architecture change
Savings range
21–37%
phased over 90 days
Recommended platform
Optimised AWS
reassess in 90 days
Every number carries a confidence marker. High means we observed it directly in your billing or utilisation data. Medium means we modelled it from public pricing using the assumptions listed in Appendix A. Low means it is an estimate that needs validation before you act on it.
Findings also carry effort and risk. Effort is given in engineer-time rather than a rating, because you can check a day estimate against your own team and you cannot check a rating. Risk is given as blast radius — what specifically breaks, and whether you can undo it — for the same reason. We do not publish a composite score. Multiplying three ordinal judgements together produces a number with more decimal places than meaning, and § 06 is where we explain why we distrust exactly that move when a vendor makes it.
Modelled alternatives carry error bars — ±10% on platform pricing, ±25% on migration effort. Where a decision is close enough that the error bars overlap, we say so rather than pretending the model resolves it.
Sections 5 through 7 are evidence. Section 8 is the analysis that changes the answer. Section 9 tells you when to revisit it. If you read only two sections, read 8 and 9.
Startup credits expired seven months ago. The monthly bill went from £3,100 to £18,420 and the CFO has asked for a plan. The board has heard that other companies are leaving the cloud and wants to know whether Example SaaS Co. should too.
B2B SaaS, 5,200 customers, £4.1M ARR, 34 staff of whom 9 are engineers. No dedicated platform or infrastructure engineer — cloud operations are shared between two backend engineers alongside product work. That last fact does more work in this analysis than any pricing table.
Containerised API on ECS across three availability zones, PostgreSQL on RDS Multi-AZ, Redis on ElastiCache, S3 and CloudFront for assets, and a nightly reporting and ETL batch job on EC2. Separate staging account plus three long-lived developer environments.
| Area | Monthly | Share | Waste risk | Confidence |
|---|---|---|---|---|
| Compute — ECS, EC2, Fargate | £8,940 | 48.5% | High | High |
| Managed services — RDS, ElastiCache | £4,180 | 22.7% | Medium | High |
| Storage — S3, EBS, snapshots | £2,760 | 15.0% | Medium | High |
| Networking — NAT, egress, CloudFront | £1,890 | 10.3% | High | High |
| Support and other | £650 | 3.5% | Low | High |
| Total | £18,420 | 100% |
Compute is nearly half the bill, and roughly a third of that compute is not doing useful work. That is the normal shape of a post-credits bill: nothing was ever wrong enough to fix while the credits were paying for it.
£4,750 a month — 25.8% of the bill — is recoverable without changing a single line of application code or a single box on the architecture diagram.
Each finding carries three separate judgements, and they are not the same thing. Confidence is how certain we are the money is there. Effort is how much engineering time it costs to capture. Risk is what breaks if it goes wrong. A finding can be high-confidence and high-risk at once — that combination is common and it is why cost tooling that reports only the number is not enough to act on.
| Finding | Monthly | Effort | Risk if it goes wrong | Confidence |
|---|---|---|---|---|
| Non-production runs 24/7 — staging plus 3 developer environments. Schedule 07:00–20:00 on weekdays. | £1,240 | 4 hours | Low Non-production only. Reversible in one click. | High |
| App tier over-provisioned — 6 × m6i.2xlarge sitting at 19% p95 CPU. Halve to m6i.xlarge. | £1,180 | 1 day | Medium Production. Roll one instance first, load-test, then the rest. Reversible in minutes. | High |
| NAT Gateway data processing — £0.045/GB on 18TB of internal traffic. VPC endpoints for S3 and ECR remove most of it. | £820 | 1½ days | Medium Production network path. A misconfigured endpoint breaks S3 and image pulls. Do it in staging first. | High |
| 31 unattached EBS volumes and 2.4TB of snapshots older than 18 months. | £310 | 2 hours | High Nothing breaks, but deletion is permanent. Snapshot to S3 first and wait 30 days. | High |
| 2 idle load balancers and 7 unassociated Elastic IPs. | £200 | 1 hour | Low Confirm no DNS records point at them, then remove. | High |
| Premium support add-ons with no ticket raised against them in 12 months. | £120 | 30 min | Low A support ticket. Reversible the same day. | Medium |
| 30-day subtotal | £3,870 | 3½ days | 21.0% of current spend | |
| Finding | Monthly | Effort | Risk if it goes wrong | Confidence |
|---|---|---|---|---|
| 14TB of logs and exports never read after 30 days. Lifecycle to Infrequent Access, then Glacier IR at 90 days. | £430 | 4 hours | Medium Nothing breaks, but if the access pattern is wrong, retrieval fees can exceed the saving. Verify against 90 days of access logs. | High |
| Staging RDS running Multi-AZ it does not need, on an instance twice the size it needs. db.r6g.xlarge → db.t4g.large, single-AZ. | £450 | 1 day | Low Staging only. Brief downtime during resize. Confirm nobody demos from staging first. | Medium |
| 60-day subtotal | £880 | 1½ days | cumulative £4,750 — 25.8% | |
Five engineer-days removes £57,000 a year. That is the whole of § 05 — both tables, every finding — costed at roughly 40 hours of one engineer's time against £4,750 a month recovered.
Sequence it by return per day of effort, not by size of saving. The support add-ons are worth £1,440 a year for half an hour's work; the NAT Gateway change is worth six times more but costs three days and touches a production network path. Do the cheap, reversible items in the first week and let them fund the attention the harder ones need.
Every option below delivers the same capacity, the same redundancy posture, and the same recovery objectives as today. Anything that quietly downgrades resilience to win on price is not a comparison, it is a sales pitch.
| Option | Modelled monthly | vs today | Migration effort | Risk | Position |
|---|---|---|---|---|---|
| Stay as-is | £18,420 | — | None | n/a | Baseline |
| Optimised AWS | £13,670 | −26% | 2–3 weeks, internal | Low | Recommended now |
| Optimised AWS + batch on dedicated | £11,605 | −37% | 4–6 weeks | Medium | Reassess at 90 days |
| GCP, like-for-like | £15,900 | −14% | 3–4 months | High | No clear advantage |
| Azure, like-for-like | £16,400 | −11% | 3–4 months | High | No clear advantage |
| Hetzner, full migration with managed DB | £9,800 | −47% | 4–6 months | High | Fails on TCO — see § 08 |
| Colocation | £8,600 | −53% | 6–9 months | Very high | Not justified at this scale |
Read that table on its own and the conclusion looks obvious: colocation is half the price. This is exactly where most cloud exit decisions go wrong, because the monthly bill is the smallest of the three numbers that matter.
The same options, with migration effort and ongoing operational burden costed at £110,000 per fully-loaded senior engineer per year. Ongoing burden is expressed as the fraction of an engineer each option consumes that AWS currently absorbs.
| Option | 36-mo platform | One-off migration | Added ops (3yr) | 3-year total | vs recommended |
|---|---|---|---|---|---|
| Optimised AWS | £492,120 | £0 | £0 | £492,120 | — |
| + batch on dedicated | £417,780 | £35,000 | £39,000 | £491,780 | −£340 |
| GCP | £572,400 | £85,000 | £0 | £657,400 | +£165,280 |
| Azure | £590,400 | £90,000 | £0 | £680,400 | +£188,280 |
| Hetzner, full migration | £352,800 | £110,000 | £132,000 | £594,800 | +£102,680 |
| Colocation | £309,600 | £210,000 | £264,000 | £783,600 | +£291,480 |
The cheapest monthly bill is the most expensive three-year decision. Hetzner costs 47% less per month than you pay today and still leaves you £102,680 worse off over three years. Not because the hardware is a bad deal — it is a good deal — but because you would be buying it with engineering time you do not have spare.
The hybrid option is a genuine coin-flip: £340 apart over three years is well inside the error bars on this model. Treat it as cost-neutral and decide it on other grounds, which is what § 09 is for.
This verdict is a function of your scale and your staffing, not a general view about cloud. Here is the arithmetic that decides it, so you can re-run it yourself without us.
Migrating to dedicated hardware costs roughly £242,000 over three years in migration effort and added operations. Against an optimised AWS baseline it saves about 28% of the monthly platform bill. Those break even when the optimised bill reaches about £23,750 a month — which corresponds to a pre-optimisation bill of roughly £32,000 a month.
You are at £18,420. At current growth of about 4% a quarter, you reach that crossover in a little over three years. If growth accelerates, revisit sooner.
A competitor announcing they left the cloud. A conference talk. A vendor's TCO calculator built by the vendor whose platform it recommends. None of these are information about your workload.
In the first week, take the three cheap reversible items: the support add-ons, the idle load balancers and IPs, and the non-production schedule. Under a day of work for £1,560 a month. Then spend the remaining two and a half days on the app tier rightsizing and the NAT Gateway change, both of which touch production and deserve a staged rollout.
Only the volume and snapshot deletion is irreversible. Snapshot to S3 and wait 30 days before removing anything.
Apply the S3 lifecycle policy to logs and exports. Rightsize the staging database and drop its Multi-AZ configuration. Only now consider a one-year no-upfront Savings Plan, sized against the reduced baseline rather than the old one.
Take three clean months of post-optimisation billing and re-run § 07 against it. Move batch to dedicated capacity only if batch volume has grown, or if you are confident the hybrid setup stays in place for four years or more. Otherwise do nothing further.
There is no action at 90 days that we recommend committing to today. Deciding later, with better data, is the recommendation.
A five-day platform assessment has edges. These fell outside them, and you should know which of them might matter more than what is in this report.
| Input | Value or source |
|---|---|
| AWS pricing | Public list price, eu-west-2, retrieved at assessment date. No EDP or private pricing assumed. |
| Alternative platform pricing | Hetzner, OVH and colocation provider public price lists. EUR converted at 0.855. |
| Utilisation basis | CloudWatch, 14 days, p95 rather than mean. Mean utilisation systematically overstates rightsizing headroom. |
| Billing basis | Cost and Usage Report, 3 complete periods, resource granularity. |
| Discounts modelled | 1-year no-upfront Compute Savings Plans at approximately 17% on eligible compute. Applied only after waste removal. |
| Engineer cost | £110,000 per year fully loaded. Used for both migration effort and ongoing operational burden. |
| Error bars | ±5% on modelled AWS, ±10% on alternative platforms, ±25% on migration effort. |
| Excluded | Hardware refresh beyond 36 months, residual asset value, corporation tax treatment of capex versus opex. |
Stated in engineer-time for one competent engineer already familiar with the environment, including verification but excluding code review and change-approval waiting time. A day is eight hours. Estimates for work touching production assume a staged rollout rather than a single change.
These are ordinal judgements, not measurements. We publish the rubric so you can disagree with a specific rating rather than with the report as a whole.