3 ms·
We switched to kubernetes with the basic autoscaller, that saved us money in particular when there's less traffic. We've also moved away from AWS Elasticache o
by feydaykyn 4y ago
We switched to kubernetes with the basic autoscaller, that saved us money in particular when there's less traffic.
We've also moved away from AWS Elasticache offering and now directly manage our own Redis. We've discovered that our backend is very sensitive to missing cache and that Elasticache is expensive but very reliable.
Currently we're testing Karpenter to automate scaling with 'spot' instances.
We're working with dev teams to remind them performance is a requirement, that will help us reduce ram/cpu allocations. Since RAM is capped, they have no choice but to take it into account if they want to avoid emergencies, it's a very motivating carrot! (just trolling !)
In the pipe:
- move some workloads to arm (databases, cache, Argo, grafana, etc) and generally speaking better match instance types with the workload
- our testing environment is too close to production, that's great for testing but quite expensive, for instance we're going to move to only one Postgres cluster with multiples db inside, instead of one cluster per test account.
- more monitoring to know where we can reduce cpu /ram requests
- market our results to the business side of the company, so we can require more resources to reduce costs
- simplify our docker images which have a lot of legacy code, to be able to scale up faster. That will allow us to scale down more
- invest more time to comb through AWS cost reduction programs to enable some more
That's it for now!