Cloud computing is emerging as a promising new paradigm that aims at
delivering computing resources and services on demand. To cope with the
frequently found over- and under-provisioning of resources in
conventional data centers, cloud computing technologies enable to
rapidly scale up and down according to varying workload patterns.
However, most software systems are not built for utilizing this so
called elasticity and therefore must be adapted during the migration
process into the cloud. A challenge during migration is the high number
of different possibilities for the deployment to cloud computing
resources. For example, there exist a plethora of potential cloud
provider candidates. Here, the selection of a specific cloud provider is
the most obvious and basic cloud deployment option. Furthermore, the
mapping between services and virtual machine instances must be
considered when migrating to the cloud and the specific adaptation
strategies, like allocating a new virtual machine instance if the CPU
utilization is above a given threshold, have to be chosen and
configured. The set of combinations of the given choices form a huge
design space which is infeasible to test manually. Simulating the
different deployment options assists to find the best ratio between high
performance and low costs. For this purpose, we developed a simulation
tool named CDOSim that can simulate those cloud deployment options.
CDOSim integrates into the cloud migration framework CloudMIG Xpress and
utilizes KDM models that were extracted by a reverse engineering
process. Furthermore, it is possible to use monitored workload profiles
as a simulation input. Our evaluation shows that CDOSim's simulation
results can support software engineers to sufficiently accurate predict
the cost and performance properties of software systems when deployed to
private and real world public cloud environments such as Eucalyptus and
Amazon EC2, respectively. Thus, CDOSim can be used for the simulation of
cloud