I was recently brought in to examine the infrastructure of a small startup. This wasn’t anything really special, I do it quite often for various reasons. What was different was that they didn’t have issues with scaling out particularly – they had that working well with their shared nothing web application and mongodb backend. What they were having issues with was their infrastructure costs.
I normally work on through a 6 step process that has been built up over time –
- Monitor and gather stats/measure the problem,
- Standardise on a reference architecture,
- Add configuration management and version control,
- Start to define a playbook of how to do things (like up/downscale or provision new machines and clusters) and start to automate them,
- Bring everything to reference architecture/consolidate underutilised servers and eliminate unused infrastructure,
- Consider architecture changes to make it more efficient.
- …and repeat
I will take you through a case study showing how this process was used to lower their monthly costs. Names and details have been changed in places to protect the guilty… 😉 Continue reading