1. A system for dynamically expanding a virtual cluster having one or more virtual machines (VMs), the system comprising: a monitor measures resource availability of a target virtual cluster; and a hardware processor configured to execute: an expansion controller which receives the measured resource availability, determines whether to expand the target virtual cluster based on the measured resource availability and determines a type and a number of VM instances to be additionally allocated to the target virtual cluster based on the measured resource availability and a type of the target virtual cluster; and a virtual cluster configurer which modifies profile information of the target virtual cluster such that the determined number of VM instances of the determined type can be additionally allocated to the target virtual cluster, wherein the type of the target virtual cluster indicates which hardware resource is reinforced by the target virtual cluster, and wherein the hardware resource is reinforced indicates performance of which hardware resource is better than performance of standard hardware resources, and wherein the monitor measures utilization rates of first through n-th resources in the target virtual cluster and measures the resource availability using the utilization rates of the first through n-th resources, wherein, U_AVG=a1×(1−U_1)+a2×(1−U_2)+. .. +an×(1−U_n), where U_AVG indicates the resource availability, U_1 through U_n respectively indicate the utilization rates of the first through n-th resources, a1+a2+. .. +an=1, and a1, a2, a3,. .. , an are weights for the first through n-th resources, respectively.