Abbeal

GreenOps

GreenOps: seven levers that cut 30% of your cloud bill.

Without sacrificing performance. Concrete cases: -30% on the bill, same SLOs.

6 min

Your cloud bill doubled in two years. So did your carbon footprint. Meanwhile, 40% of your instances run at 8% CPU. GreenOps isn't a marketing posture: it's an optimization program that saves both your P&L and your CSRD score.

On a recent client, a European mobility scale-up, we applied the seven levers below. Result in six months: infrastructure bill cut by 30%, Scope 2 emissions halved, p99 latency unchanged. Here's the recipe.

1. Kill zombie servers

First audit, first slap: 18% of the client's EC2 instances had seen no traffic for over 60 days. A weekly Lambda script tags inactive instances, pings the owner team on Slack, then shuts them down after 14 days. Immediate savings: 9,000 euros per month.

2. Data-driven rightsizing, not gut feel

AWS Compute Optimizer and GCP Recommender give you the right recommendations. You still have to apply them. We downsized 60% of m5.2xlarge to m5.large or m6g.large (Graviton ARM). Identical performance, bill cut by three on that perimeter.

3. Carbon-aware computing

Your overnight batches can wait for the grid to be green. With the ElectricityMap or WattTime API, schedule heavy jobs (ML training, video encoding, ETL) when the energy mix is low-carbon. On a Kubernetes cluster, Karpenter + a custom scheduler get it done.

yaml
apiVersion: batch/v1 kind: CronJob metadata: name: nightly-ml-training annotations: carbon-aware/enabled: "true" carbon-aware/max-intensity: "150" # gCO2/kWh carbon-aware/window: "4h" spec: schedule: "0 22 * * *" jobTemplate: spec: template: spec: nodeSelector: karpenter.sh/capacity-type: spot

4. Spot instances for tolerant workloads

CI builds, encoding, ML training, Spark jobs: anything that can restart must run on spot. Savings of 60 to 90%. Karpenter on EKS handles interruptions painlessly. The mobility client moved 70% of its non-critical load to spot, monthly savings of 22,000 euros.

5. Strategic cache

Every request served by CloudFront or a local Redis is one API call less, meaning less compute, less bandwidth, less carbon. Aggressive HTTP cache, proper ETags, stale-while-revalidate. On an endpoint doing 12,000 RPS, hit ratio went from 30% to 88%.

6. Archive policy: S3 Intelligent-Tiering is not optional

Your 2022 logs serve no one except during an audit. Lifecycle policies to S3 Glacier Deep Archive: 0.00099 dollars per GB-month versus 0.023. On 800 TB of logs, annual savings: 210,000 dollars. And the carbon of unused SSD disks vanishes.

7. Pick your regions

AWS eu-west-3 (Paris) runs on nuclear at 56 gCO2/kWh. AWS ap-northeast-1 (Tokyo) on a carbon-heavy mix at 480 gCO2/kWh. For latency-insensitive loads (batch, archives), arbitraging the region cuts emissions without touching the code. Our client relocated 40% of its archiving to France: -65% emissions on that perimeter.

« GreenOps isn't an ESG constraint. It's FinOps with one extra counter. And that counter is often the most convincing in the boardroom. »
CTO · Mobility scale-up

These seven levers don't require a rewrite. They require engineering discipline and an exec sponsor. If you want to audit your infra and build a quantified GreenOps roadmap, our teams operate in commando mode, deliverables in six weeks.

Working on something similar?

Talk to an architect