Many inputs are needed for a robust Capacity Management processes, including:
- Performance monitoring
- Workload monitoring
- Application sizing
- Resource forecasting
- Demand forecasting
It should not be just efficient, it should be most effective. Capacity (and performance) are all about matching resource consumption with demand. But are CPU and “Available Memory” really the only resources to watch? A typical Windows server may capture 1000 metrics (via SYSMON); similar for Unix and mainframe hosts. At the same time, hardware/software licences must be noted for end-of-life as well as running costs while at the same time predicting user demand.
It’s not possible for humans to juggle these numbers with only spreadsheets – luckily this is what computers are good at. The key to a good capacity plan is to use computers – and the appropriate algorithms - to calculate these numbers for you.
According to Wikipedia, forecasting is all about time-series (see ARMA or http://en.wikipedia.org/wiki/Box-Jenkins). Further, cost optimisation is a well known problem usually solved via linear programming (see http://en.wikipedia.org/wiki/Simplex_algorithm).
If your system isn’t optimised, if you haven’t optimised your costs against your demand, you are losing money.