1. A system, comprising: at least one computer connected with at least one memory that stores computer program code executable by the at least one computer; and a user interface connected with the at least one computer; where execution of the computer program code results in performance of operations that comprise, in response to input from a user received via said user interface, accessing a database to select at least one predetermined template comprised of a hardware and software instance of a data processing system that is implementable as an application solution on a cloud platform; comparing the at least one selected template against a set of constraints; establishing an instance of a cloud based solution for the user based on the selected template if the set of constraints is compatible with requirements of the selected template; and validating the established cloud based solution against user-uploaded software and workloads to ensure that the cloud based solution satisfies requirements of the user.