Constructing Software-Defined Elastic Systems using Cloud Services