Deciding the right amount of resources for a cloud computing environment is a double-edged sword, which may lead to either under-provisioning or over-provisioning [5]. Under-provisioning and over-provisioning are results of, respectively, saturation or waste of resources, and are among the most significant challenges cloud clients are faced with. One approach to overcoming these challenges is to use an autoscaling system. Auto-scaling system solves the costperformance trade-off by automatically adjusting application’s resources based on its workload.