Instituto Superior de Engenharia do Porto Departamento de Engenharia Eletrotécnica Rua Dr. António Bernardino de Almeida, 431, 4200-072 Porto Integrated Management of Cloud Computing Resources Dissertation submitted to the Instituto Superior de Engenharia do Porto in partial fulfilment of the requirements for the degree of Master of Science in Electrical and Computers Engineering - Major in Telecommunications Fernando Miguel Dias Meireles Supervisor: Prof. Maria Benedita Campos Neves Malheiro Co-supervisor: Prof. Pedro João De-Francesco Assis Academic Year: 2013-2014 To my family. Abstract Lunacloud is a cloud service provider with offices in Portugal, Spain, France and UK that focus on delivering reliable, elastic and low cost cloud Infrastructure as a Service (IaaS) solutions. The company currently relies on a proprietary IaaS platform - the Parallels Automation for Cloud Infrastructure (PACI) - and wishes to expand and integrate other IaaS solutions seamlessly, namely open source solutions. This is the challenge addressed in this thesis. This proposal, which was fostered by Eurocloud Portugal Association, contributes to the promotion of interoperability and standardisation in Cloud Computing. The goal is to investigate, propose and develop an interoperable open source solution with standard interfaces for the integrated management of IaaS Cloud Computing resources based on new as well as existing abstraction libraries or frameworks. The solution should provide both Web and application programming interfaces. The research conducted consisted of two surveys covering existing open source IaaS platforms and PACI (features and API) and open source IaaS abstraction solutions. The first study was focussed on the characteristics of most popular open source IaaS platforms, namely OpenNebula, OpenStack, CloudStack and Eucalyptus, as well as PACI and included a thorough inventory of the provided Application Programming Interfaces (API), i.e., offered operations, followed by a comparison of these platforms in order to establish their similarities and dis- similarities. The second study on existing open source interoperability solutions included the analysis of existing abstraction libraries and frameworks and their comparison. The approach proposed and adopted, which was supported on the conclusions of the carried surveys, reuses an existing open source abstraction solution - the Apache Deltacloud framework. Deltacloud relies on the development of software driver modules to interface with different IaaS platforms, officially provides and supports drivers to sixteen IaaS platform, including OpenNebula and OpenStack, and allows the development of new provider drivers. The latter functionality v was used to develop a new Deltacloud driver for PACI. Furthermore, Deltacloud provides a Web dashboard and REpresentational State Transfer (REST) API interfaces. To evaluate the adopted solution, a test bed integrating OpenNebula, Open- Stack and PACI nodes was assembled and deployed. The tests conducted involved time elapsed and data payload measurements via the Deltacloud framework as well as via the pre-existing IaaS platform API. The Deltacloud framework be- haved as expected, i.e., introduced additional delays, but no substantial over- heads. Both the Web and the REST interfaces were tested and showed identical measurements. The developed interoperable solution for the seamless integration and provi- sion of IaaS resources from PACI, OpenNebula and OpenStack IaaS platforms fulfils the specified requirements, i.e., provides Lunacloud with the ability to ex- pand the range of adopted IaaS platforms and offers a Web dashboard and REST API for the integrated management. The contributions of this work include the surveys and comparisons made, the selection of the abstraction framework and, last, but not the least, the PACI driver developed. Resumo A Lunacloud é uma empresa provedora de serviços de computação em nuvem com escritórios em Portugal, Espanha, França e Reino Unido e focada no provisiona- mento de serviços ao nível da infraestrutura (IaaS). Atualmente, esta empresa de- pende de uma plataforma de IaaS proprietária – Parallels Automation for Cloud Infrastructure (PACI) – e pretende expandir a oferta de serviços através da in- tegração de novas plataformas de IaaS, nomeadamente do tipo open-source. Este é o desafio proposto para a presente tese. Esta proposta encontra-se enquadrada nos esforços de promoção da normalização e interoperabilidade da Associação EuroCloud Portugal. O objetivo do trabalho consiste em investigar, propor e desenvolver uma solução interoperável, baseada na utilização de ferramentas ou bibliotecas de abstracção open-source existentes ou a desenvolver, que apresente interfaces nor- malizadas para a gestão integrada de recursos de computação em nuvem ao nível da infraestrutura. A solução desenvolvida deverá incluir interfaces Web e de programação de aplicações. O trabalho de investigação realizado foi composto por dois estudos referentes à caracterização e análise das interfaces das plataformas de IaaS (plataforma pro- prietária PACI e plataformas open-source) selecionadas e soluções open-source de abstracção de plataformas de IaaS existentes. O primeiro estudo caracterizou as plataformas de IaaS open-source mais conhecidas, nomeadamente, OpenNebula, OpenStack, CloudStack e Eucalyptus, assim como a plataforma de IaaS propri- etária (usada pela Lunacloud) PACI. Foi também incluído neste estudo um in- ventário extensivo e comparação das respetivas bibliotecas de interface de forma a identificar similaridades e diferenças. O segundo estudo contemplou as soluções de interoperabilidade open-source existentes, incluindo a análise e comparação das ferramentas e bibliotecas de abstracção. A abordagem escolhida e adoptada, que se suportou nas conclusões dos estudos realizados, reutiliza uma solução de abstracção já existente – o framework de ab- stracção Deltacloud. Esta ferramenta recorre a módulos de software – drivers – vii para interagir com as diferentes plataformas de IaaS, fornece oficialmente drivers para dezasseis plataformas de IaaS, incluindo as plataformas OpenNebula e Open- Stack, e permite o desenvolvimento de novos drivers para a integração de novos fornecedores/plataformas de IaaS. Esta última funcionalidade foi utilizada para criar um novo driver para a plataforma de IaaS proprietária PACI. Para além das funcionalidades referidas, a ferramenta Deltacloud, também fornece um Web dashboard e bibliotecas de interface REpresentational State Transfer (REST). De forma a avaliar a solução desenvolvida, foi montada uma plataforma de testes integrando as plataformas OpenNebula, OpenStack, CloudStack e PACI. Os testes realizados consistiram na medição dos tempos de resposta e da quan- tidade de informação trocada durante a invocação das operações através da ferra- menta Deltacloud e diretamente às bibliotecas de interface das respectivas plata- formas de IaaS. A ferramenta Deltacloud comportou-se como era esperado, i.e., o tempo de execução das operações sofreu atrasos adicionais e a quantidade de informação trocada manteve-se em geral. Ambas as interfaces Web e REST foram testadas, apresentando medidas similares. A solução de interoperabilidade desenvolvida para a integração e disponibil- ização de recursos de IaaS, através das plataformas PACI, OpenNebula e Open- Stack, cumpre os requisitos especificados, i.e., permite que a empresa Lunacloud expanda a gama de plataformas de IaaS adoptadas, oferecendo um Web dash- board e uma biblioteca de interface para a gestão integrada dos recursos de IaaS. As contribuições deste trabalho incluem os estudos e comparações realizados, a selecção da ferramenta de abstracção e, por último, mas não menos importante, o driver desenvolvido para a plataforma PACI. Contents Contentsi List of Figures xiii List of Tables xv List of Code Snippets xvii Acronyms xix 1 Introduction1 1.1 Motivation ............................... 2 1.2 Thesis.................................. 2 1.3 Objectives................................ 2 1.4 Functional Tests ............................ 3 1.5 Expected Results............................ 3 1.6 Contributions.............................. 4 1.7 Work Plan................................ 4 1.8 Structure of the Dissertation ..................... 5 2 Cloud Computing7 2.1 Definition................................ 7 2.2 Deployment Models .......................... 9 2.2.1 Private Clouds ......................... 10 2.2.2 Community Clouds....................... 11 2.2.3 Public Clouds.......................... 13 2.2.4 Hybrid Clouds ......................... 14 2.3 Service Models ............................. 15 2.3.1 Infrastructure as a Service................... 16 2.3.2 Platform as a Service ..................... 16 2.3.3 Software as a Service...................... 17 i ii CONTENTS 2.4 Characteristics ............................. 17 2.4.1 On-demand Self-service .................... 18 2.4.2 Broad Network Access..................... 18 2.4.3 Resource Pooling........................ 18 2.4.4 Rapid Elasticity ........................ 18 2.4.5 Measured Service........................ 19 2.5 Concerns ................................ 19 2.5.1 Unpredictable Performance .................. 19 2.5.2 Security Risks ......................... 20 2.5.3 Data Privacy.......................... 21 2.6 Virtualization Technologies ...................... 22 2.6.1 Full Virtualization....................... 23 2.6.2 Para-virtualization....................... 24 2.6.3 OS-level Virtualization....................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages288 Page
-
File Size-