Cloud computing is revolutionizing the IT industry by enabling access to infrastructure, platform and applications as services. Due to the vast diversity of existing IaaS (Infrastructure as a Service) and PaaS (Platform as a Service) clouds, the development and execution of contemporary cloud-based applications is significantly hindered. Therefore, the goal of this thesis is to design a reference model for the integration of infrastructure- and platform-level clouds, which we structure into three models: (1) architectural model of IaaS, (2) model for cloud-specific enrichment of contemporary container-based platforms and (3) model for compensation handling in cloud orchestrators.
There is an evident deficiency of mechanisms for analysis, comparison and evaluation of IaaS cloud implementations, since no unified taxonomy or reference architecture is available. In this article, we propose an architectural model of IaaS, which consists of a unified taxonomy and an IaaS architectural framework. We survey various IaaS systems and map them onto our taxonomy to evaluate the classification. We then introduce an IaaS architectural framework that relies on the unified taxonomy. We provide detailed description of each layer and define dependencies between the layers and components. Finally, we evaluate the proposed IaaS architectural framework on several real-world projects, while performing a comprehensive analysis of the most important commercial and open-source IaaS products. The evaluation results show notable distinction of feature support and capabilities between commercial and open-source IaaS platforms, significant deficiency of important architectural components in terms of fulfilling true promise of infrastructure clouds, and real-world usability of the proposed taxonomy and architectural framework.
Elasticity and cloud-control are two most important aspects that have to be addressed in order to seamlessly run applications in IaaS and PaaS clouds. Hence, we have investigated elasticity and cloud-control capabilities of contemporary container-based platforms. We have design a model for cloud-specific enrichment of contemporary container-based platforms, while defining a generic parameter system for executing applications in IaaS and PaaS clouds, which we have structured around two parameter groups: control parameters and elasticity parameters. Both groups present platform-independent parameters, which we use to derive platform-specific programming directives and policies, thus achieving cloud-specific enrichment with deficient elasticity and cloud-control capabilities. We have shown that applying such metadata system to Java EE platform provides application administrators and application developers with greater control and manageability of their application.
Cloud orchestration is one of the most important mechanisms of a successful application deployment in the cloud. Cloud orchestration describes the automated arrangement, coordination, and management of complex cloud systems, middleware and services, and is realized by orchestrating workflows. To enable reliable and fault-tolerant cloud orchestration, it is important to establish an effective compensation handling mechanism. In fact, compensation handling principles have so far not been included in cloud orchestration platforms and had to be performed manually, by implementing the reversal operations of already completed activities in one of the upstream activities or within an error handler, thus preventing workflow designers to compose more error-prone workflows in an efficient way. In this paper we introduce a model for compensation handling support in cloud orchestrators while performing an architectural analysis of existing cloud-specific workflow systems, defining a generic approach for compensation handling applicable to cloud orchestrators, and proposing a novel algorithm called Compensation Activities Search (CAS) for traversing a cloud orchestration workflow and finding appropriate activities to be compensated. Finally, we present a use case of adapting BPMN 2.0 to orchestrate cloud-specific tasks and develop a proof of concept system to show the effectiveness and feasibility of our proposed approach.
Key results of the dissertation are (1) an architectural model of IaaS, which defines a unified taxonomy and an IaaS architectural framework, provides detailed description of each layer and defines dependencies between the layers and components, (2) a model for cloud-specific enrichment of contemporary container-based platforms, which investigates elasticity and cloud-control capabilities of contemporary container-based platforms and defines a generic parameter system for executing applications in IaaS and PaaS clouds, and (3) a model for compensation handling support in cloud orchestrators, which performs an architectural analysis cloud orchestrators, defines a generic approach for compensation handling applicable to cloud orchestrators, and introduces a novel algorithm CAS for traversing a cloud orchestration workflow. With the introduction of three complementary models into the parent reference model for the integration of infrastructure- and platform-level clouds, we achieved all the goals we have set in this doctoral dissertation.