1. A method of scaling comprising: determining, by a computing device, a predicted workload of a multi-tier application for a defined time period; determining, by the computing device, a change in application capacity for the predicted workload; and dynamically selecting, by the computing device, a scaling strategy for the change in application capacity, the scaling strategy including vertical scaling and horizontal scaling.