Conformance Checking and Simulation-based Evolutionary Optimization for Deployment and Reconfiguration of Software in the Cloud
Newly created software systems that were built on a cloud computing basis from the ground up recently demonstrated the cloud’s capabilities for enabling sound scalability and cost-effectiveness. Many Software as a Service (SaaS) providers want to leverage this potential for existing software systems as well and consider a migration to Infrastructure as a Service (IaaS) and Platform as a Service (PaaS)-based cloud environments. However, the migration of existing software systems to a cloud computing basis often faces severe difficulties. (1) Migrations are often performed in an ad-hoc manner and the migrated systems therefore do often not leverage the cloud’s capabilities, such as its dynamic resource scaling mechanisms and the frequently employed pay-per-use pricing model. Many cloud environments also impose restrictions to deployed applications, such as prohibiting directly writing to the filesystem or opening a specific network socket. We call those restrictions cloud environment constraints (CECs). According to the two exemplary CEC types mentioned before, an application provokes corresponding CEC violations if it writes to the filesystem or opens the specific network socket, respectively. (2) CEC violations are most often not systematically evaluated before initiating a migration. (3) There also exist billions of different cloud deployment options (CDOs), but appropriate support for comparing CDOs is missing. For example, a CDO determines which cloud environment, cloud resource types, deployment architecture, and runtime reconfiguration rules for exploiting the cloud’s elasticity should be used. The performance and costs associated with diverse CDOs can differ in orders of magnitude. To cope with these challenges, this thesis proposes the approach CloudMIG that supports SaaS providers to migrate existing enterprise software systems to IaaS and PaaS-based cloud environments. CloudMIG builds on metamodels from OMG’s Architecture-Driven Modernization (ADM) initiative and employs, for example, reverse-engineered code models that correspond to ADM’s Knowledge Discovery Meta-Model (KDM). Each cloud environment candidate is modeled in a reusable cloud profile that includes the corresponding cloud resources, pricing model, and CEC definitions, for instance. CloudMIG focuses on two core components. First, it includes an automatic conformance checking approach for detecting CEC violations in extracted KDM models regarding a specific cloud profile. It employs reusable constraint validators for detecting CEC violations concerning particular CEC types. Additional constraint validators can be plugged into the conformance checking process as needed. Second, CloudMIG enables automatically creating and optimizing CDOs with a simulation-based genetic algorithm called CDOXplorer. CDOXplorer uses our simulation tool CDOSim as a fitness function. CDOSim simulates CDOs and computes potential costs, response times, and number of SLA violations. CDOXplorer delivers a pareto-optimal set of CDOs from which a SaaS provider can select the CDO that best satisfies its specific needs. The approach CloudMIG substantially simplifies the detection of CEC violations and the creation of optimized CDOs. Regarding the former, it relieves SaaS providers from manually performing time-consuming and costly source code reviews or risking system malfunctions due to undetected CEC violations during operation. Regarding the latter, CloudMIG enables to automatically create optimized CDOs instead of having to actually implement, assess, and compare the CDOs manually. Extensive experiments show the feasibility and practicality of CloudMIG and both of its core components. First, the conformance checking approach is evaluated with three different case studies covering lab experiments and experiments in an industrial context. The evaluation shows the high precision of CloudMIG’s detection capabilities. Second, our genetic algorithm CDOXplorer is compared with three other state-of-the-art multi-objective search and optimization algorithms. The evaluation shows that CDOXplorer can produce solutions that surpass those of the other approaches by up to 60%. A proof of concept implementation of CloudMIG, that is called CloudMIG Xpress, is available as open source software.
Use and reproduction:No Creative Commons license - The provisions of the German Copyright Act (UrhG) apply.Please note that individual components of the publication may be subject to other licensing or copyright conditions.