The cloud promises you pay only for what you use. In practice almost every company pays far more than necessary — not from obvious waste, but from architectural choices made once and never revisited. The good news: cost is an engineering lever, not a fate.

1. Size on data, not on fears

Most resources are over-provisioned “just to be safe”. Measure real CPU and memory usage for two weeks and resize: you can almost always drop one or two sizes. With Kubernetes, set realistic requests and let the autoscaler do the rest.

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
  minReplicas: 2
  maxReplicas: 20
  metrics:
    - type: Resource
      resource: { name: cpu, target: { type: Utilization, averageUtilization: 70 } }

2. Turn off what you do not need

Test and dev environments left on 24/7 are money burned at night and on weekends. A scheduler that shuts them down out of hours can halve their cost. The same goes for batch jobs and queues: pay for capacity when you use it.

3. Pick the right service, not the trendy one

A managed database, a serverless function or a managed queue cost more per unit but remove operational work: often worth it. Other times a long-term reserved VM (with a spend commitment) cuts the bill by 40%. The rule is to measure and decide case by case.

Optimising cost does not mean cutting quality: it means stopping paying for what you do not use. It is one of the fastest-return improvements you can make.

Have a cloud or AI project to take to production? I would be glad to talk.


Leave a Reply

Your email address will not be published. Required fields are marked *