1. A computer-implemented method for dynamically allocating resources, the method comprising computer-implemented operations for: detecting a failure associated with the resources, the resources being associated with a multitier application; obtaining operational data associated with the resources and the multitier application; determining an allocation scheme for the multitier application, the allocation scheme comprising data indicating allocation of the multitier application across the resources; and outputting configuration data corresponding to the allocation scheme, the configuration data comprising computer executable instructions for allocating the multitier application across the resources according to the allocation scheme.