Please use this identifier to cite or link to this item: http://dx.doi.org/10.18419/opus-13784
|Juan Verdejo, Adrián
|Assisted migration of application systems to cloud environments
|Organisations can now architect their software application systems so that they run on cloud-based software environments and make direct use of the advantages that these environments offer in terms of scalability, cost reduction, and business flexibility. Designing software with particular Infrastructure-, Platform-, or Software-as-a-Service cloud-based deployments in mind offer the potential to exploit the potential of those environments without incurring extra effort. However, many organisations are already running their application systems on their premises but want to profit from the potential improvements that running them on cloud environments would offer them. Organisations can now architect their software application systems so that they run on cloud-based software environments and make direct use of the advantages that these environments offer in terms of scalability, cost reduction, and business flexibility. Designing software with particular Infrastructure-, Platform-, or Software-as-a-Service cloud-based deployments in mind offer the potential to exploit the potential of those environments without incurring extra effort. However, many organisations are already running their application systems on their premises but want to profit from the potential improvements that running them on cloud environments would offer them. Some organisations run production application systems that are so complex that re-doing them to target a particular cloud environment as the software infrastructure is not doable. Therefore, organisations can address the challenges of migrating complex component-based software application systems to cloud environments while using the potential of virtualised environments to scale in a cost-efficient manner. Some organisations migrate their application systems in an ad-hoc fashion by just moving them to a cloud environment they have not methodologically chosen. Arguably, organisations do not profit from the capabilities that cloud environments offer to scale up or down and in or out when they adapt their application systems like that. For example, a support system could help organisations to adapt the behaviour of their application systems to the pay-per-use pricing models to improve them in terms of costs. The opportunities cloud environments offer come at the expense of challenges such as those imposing the need for organisations to adapt their application systems to the particularities of the cloud environment target for migration. Some cloud environments might restrict the kind of permissions that a component running in their infrastructure possess such as restrictions to handle sub-systems in charge of persisting data - like not allowing to access the file application system or to run a specific database management system - or limiting the ways in which components can communicate with external services - not allowing to open a socket, as an example. These constraints do not only come from the cloud provider's side but also from the organisations migrating their application systems. These might include for example limitations to the cloud-enabled application system related to the data they can host out of the organisations' premises due to data privacy and sensitivity concerns. Organisations can benefit from taking a methodological approach to migrate their application systems and analyse and plan it beforehand so as to better achieve their goals in moving data and computation while respecting their exogenous and endogenous constraints. The different moving parts of these migrated application systems make it difficult to assess the different criteria - cloud migration criteria for this dissertation - and goals that organisations want to achieve with the migration. The application systems present high variability with different cloud migration criteria affecting each other and imposing that organisations must find trade-offs to prioritise some criteria to the detriment of others. Additionally, the extent to which migrated application systems perform across the different dimensions that organisations consider when moving their application systems to cloud environments depend on the cloud environment configuration to which they migrate their application systems. Cloud providers deliver service offerings at different levels of abstraction and multiple configurations per abstraction level. The abstraction levels refer to the three usual service models: the Infrastructure-, Platform-, and Software-as-a-Service levels. Cloud configurations at each of those levels might vary by offering different target virtual machines, instance types, programming environments, cloud storage options, machine images, runtime environments, or deployment architectures. All this variability might entail different consequences in how an organisation has to plan the cloud migration to meet its cloud migration criteria while respecting software constraints. The different levels on the cloud stack bring about particular challenges and opportunities, whose effects a migrated application system can mitigate or use to its profit. Moreover, these effects might vary over time. Therefore, organisations might need to react to this changing environment and might require migrating from one cloud provider to another or from one particular configuration to another one that includes (or not) their local premises. The cloud migration DS concept is proposed in this dissertation to support organisations in the migration of their software application systems to cloud environments and adapt their application systems target for migration. The cloud migration concept allows for the modelling of the variability involved in the cloud migration decision; that is, the target application system, the organisation cloud migration criteria, and the cloud environment configurations. The System Modelling Module allows for modelling the target application system at the component level while offering the possibility to reverse-engineer existing source code to extract the appropriate structure. This module also lets organisations model the architectural constraints that their application systems impose into the migrated system. The Migration Criteria Modelling Module applies the Analytic Hierarchy Process to multi-criteria decision analysis in order to consider the trade-offs that organisations must consider in regard to the aspects they value as the factor driving their decision to migrate to cloud environments. The Cloud Environments Modelling Module allows for modelling the cloud environment configurations cloud providers supply so that the proposed concept can generate cloud migration alternatives. Alternatives stemming from the coupling of the cloud service descriptions and the other two input models previously explained. The cloud migration alternatives generator takes into account the three models to compute valid cloud migration alternatives that respect constraints to the application system and migration. The migration alternatives generator combines different deployment options to the selected cloud environments and the local premises and assess the potential of those alternatives according to the cloud migration criteria that organisations state. These are alternatives to cloud migration that plan to deploy software components to the cloud environments and the local premises. The cloud migration concept assesses the cloud migration alternatives either automatically or with human intervention with. The human intervention has organisations manually weighing cloud migration alternatives for the particular cloud migration criteria for which there are not any automatic metric to assess them. The experiments and evaluation show the applicability of the cloud migration DS concept and its relevance for research and market domains. The evaluation follows prototyping and scenarios research methods to develop and use the prototype of the proposed concept. The prototype brings together the above modules for experimentation purposes. Prior to putting the prototype into play in real settings, a preliminary analysis is conducted to study whether the prototype is a functional and faithful implementation of the proposed concept. The evaluation of the proposed concept uses three realistic and complex scenarios. In each scenario, an organisation intends cloud migrating its heterogeneous application systems and have the potential to benefit from the cloud migration support offered by the concept proposed in this dissertation.
|Appears in Collections:
|10 Fakultät Wirtschafts- und Sozialwissenschaften
Files in This Item:
Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.