1. A method, implemented on at least one machine each of which has at least one processor, storage, and a communication platform connected to a network for automatically deploying a plurality of distributed application stacks on a target machine, the method comprising the steps of: creating a plurality of virtual environments isolated from each other on the target machine through which a user has access to a plurality of clusters; deploying a distributed application stack from the plurality of distributed application stacks in a respective virtual environment created on the target machine, wherein the plurality of distributed application stacks are deployed in the plurality of clusters; and associating each of the virtual environments with a corresponding cluster based on the deployed distributed application stack.