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.

GreenOps at Abbeal: our 3-week audit method

Our typical GreenOps audit runs over 3 calendar weeks. Week 1: complete cloud inventory (accounts, regions, services, waste identification) + carbon baseline via Cloud Carbon Footprint (open source, ±10% accuracy vs 8-12% for cloud-provider-native offerings). Week 2: immediate quick wins (EC2/RDS rightsizing via AWS Compute Optimizer, 1-year reserved instances, S3 IA/Glacier tiering, scheduled shutdown of dev envs nights/weekends). Week 3: 6-month roadmap plan for structural gains (Kubernetes → serverless migration when relevant, costly DB query refactoring, ARM/Graviton adoption). Final deliverable: quantified Lighthouse 90+ report, expected monthly gains in $ and kg CO2, prioritized backlog.

  • Lighthouse Web frontend: 90+ score target across Performance/Accessibility/Best Practices — measured in lab + Field CrUX
  • AWS Compute Optimizer + CloudHealth: automatic rightsizing on EC2, RDS, EBS, Lambda memory
  • Cloud Carbon Footprint (open source Thoughtworks): accurate CO2 baseline per AWS/GCP/Azure service
  • Kubernetes cost-observability: Kubecost, OpenCost, Kepler (Kubernetes-based Efficient Power Level Exporter) for kWh/pod attribution
  • 1-year reserved instances: typical 15-25% ROI on EC2 depending on workload, 40-50% ROI on RDS with predictable workload

Anonymized case study GreenOps — French Retail SaaS, -32% AWS bill in 8 weeks

Context: a French retail-tech SaaS (250k active users, €12M ARR, hosted AWS eu-west-3 Paris) sees an AWS bill explosion (+45% in 6 months) after a hasty K8s migration. Abbeal GreenOps squad: 2 senior consultants (1 FinOps, 1 SRE) over 8 weeks. Actions: rightsizing 40 over-provisioned EC2 ($8k/month savings), EKS r5.xlarge → r6g.xlarge Graviton migration (-22% cost + -18% CO2), refactoring 6 costly PostgreSQL queries (savings of 3 RDS replicas = $12k/month), S3 IA/Glacier archival for logs >90d ($4k/month). Result: -32% AWS bill (annualized savings $340k), -28% measured CO2 footprint, Web frontend Lighthouse score jumped from 68 to 94.

Working on something similar?

Talk to an architect