Diversity in automatic cloud computing resource selection

Detalhes bibliográficos
Autor(a) principal: Cogo, Vinicius Vielmo
Data de Publicação: 2012
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/7870
Resumo: Tese de mestrado em Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2012
id RCAP_d7e76f623ce7703bd99882895946ebcd
oai_identifier_str oai:repositorio.ul.pt:10451/7870
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Diversity in automatic cloud computing resource selectionDiversidadeTolerância a intrusõesGestão de recursosCloud computingTeses de mestrado - 2012Tese de mestrado em Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2012Obter resultados e comportamentos correctos em computação é uma preocupação de longa data. O excerto seguinte sobre o advento das máquinas de calcular foi escrito em 1834 e ilustra a importância já dada naquela época ao uso de mecanismos para tolerar e identificar erros de cálculo [24]: “A verificação mais correcta e efectiva contra erros que surgem do processo de computação ´e realizar a mesma computação em máquinas de calcular separadas e independentes; e tal verificação ´e ainda mais decisiva se os cálculos forem realizados através de métodos diferentes.” Existem dois mecanismos que surgem desta afirmação e são considerados importantes para obter computações correctas. O primeiro é a replicação, a qual consiste em calcular os resultados mais de uma vez e compará-los ou realizar uma votação no final. O segundo ´e a diversidade, a qual consiste em utilizar métodos e componentes distintos em cada computação. Actualmente, ambos integram o grupo de mecanismos para tolerância a faltas e intrusões (FIT), os quais são capazes de tolerar tanto faltas acidentais como maliciosas em sistemas computacionais. Em termos práticos, um serviço replicado pode tolerar faltas acidentais se existir pelo menos um servidor no seu grupo de réplicas que ainda seja capaz de responder aos pedidos dos clientes. O mesmo serviço replicado pode tolerar faltas maliciosas, normalmente, se a maioria das réplicas responderem correctamente ou concordarem com o resultado dos pedidos dos clientes. Caso um atacante descubra uma vulnerabilidade que possa ser explorada em um servidor, e a mesma também existir em outras réplicas, então a tolerância a faltas e intrusões do serviço pode ser comprometida. Tal problema ´e uma limitação conhecida dos mecanismos de replicação frente a vulnerabilidades comuns entre as réplicas. Aumentar a independência de vulnerabilidades ´e o principal objectivo do mecanismo de diversidade. A diversidade ´e um mecanismo que consiste em fornecer e criar diversas combinações de recursos entre os componentes de um sistema. Obtê-la automaticamente ´e um processo que pode ser decomposto em duas fases: criação e selecção. A primeira consiste em fornecer recursos diferentes o suficiente para serem considerados, combinados e selecionados na segunda fase. A obtenção automática de diversidade na fase de selecção de recursos é o nosso principal objectivo nesta dissertação. Gerir grandes quantidades de recursos computacionais ´e uma tarefa complexa que pode ser facilitada com o uso de ferramentas automáticas para alocação, utilização e monitorização. Actualmente, pensar na gestão de sistemas distribuídos em larga escala implicitamente leva a considerar ferramentas de cloud computing como uma das opções de gestão. O modelo de cloud computing, na sua definição mais simples, é um modelo de fornecimento de computação como um serviço de utilidade [20]. Porém tecnicamente, este modelo e seus agentes são fontes infinitas de recursos computacionais, administrados automaticamente e fornecidos publicamente. Neste trabalho, nós consideramos cloud computing como o cenário para atingirmos nosso objectivo principal. Considerando que o fornecedor de um serviço replicado seja cliente de um dado serviço de cloud, e que todas as réplicas do serviço são alocadas nesta mesma infraestrutura. Se uma falta, seja ela por paragem ou arbitrária, causar uma interrupção¸ ao do serviço prestado por essa cloud, então o serviço replicado pode falhar na sua totalidade, o que significa que não existe independência de vulnerabilidade entre as réplicas do serviço. Neste caso, existe um ponto único de falha, o provedor de cloud, o que leva a indicação da diversidade deste componente uma possível solução para o caso. O primeiro passo para obter diversidade de provedor é criar novas contas em outros fornecedores. O segundo passo consiste em seleccionar, para cada nova réplica do serviço, um fornecedor disponível que não esteja a ser utilizado pelas outras réplicas. Contudo, seleccionar manualmente um fornecedor de cloud para cada nova alocação pode ser inconveniente, ou até mesmo inviável, o que torna imperativo o uso de uma ferramenta automática para selecção de recursos. Nesta dissertação, nós apresentamos o DiversityAgent, uma biblioteca em Java para obtenção automática de diversidade na selecção de recursos de cloud computing. Seus clientes apenas precisam registar quais são os recursos disponíveis, que o DiversityAgent se responsabiliza por seleccionar uma combinação de recursos diferente para cada nova réplica a ser alocada e implantada. Acreditamos nesta ser a primeira biblioteca automática com tal propósito, tendo em vista conformidade, extensibilidade, escalabilidade e outros requisitos. O DiversityAgent foi projectado tendo em vista quatro requisitos funcionais, nove não funcionais e alguns padrões de projecto bastante difundidos. O fluxo do algoritmo principal de selecção de recursos é baseado em uma proposta colaborativa entre as diversidades registadas no momento de cada pedido, o qual será discutido no decorrer deste documento. Também são apresentadas a composição¸˜ao interna do DiversityAgent e os algoritmos de diversidade e controladores para cloud implementados. A biblioteca DiversityAgent ´e um software livre e de código aberto que se encontra disponibilizada no Google Project Hosting [10] sobre a licença GNU Lesser General Public License (LGPL v3.0). Esperamos que a mesma possa contribuir com muitos projectos do grupo Navigators, assim como externos em busca de solucionar os problemas ainda considerados em aberto na área de gestão de diversidade. Incentivamos o desenvolvimento de novos algoritmos e propriedades de diversidade, assim como novos drivers para mais provedores e ferramentas de cloud e esperamos poder publicar contribuições da comunidade de software livre para com esta ferramenta em futuras versões oficiais. Além disso, nós realizamos uma ampla análise de diversidade no cenário de cloud computing. Este estudo é composto por uma revisão de taxonomia e discussão sobre cada uma das classificações, onde apontamos as propriedades que actualmente são suportadas pelos fornecedores e ferramentas de cloud. Nele, apresentamos também algumas oportunidades para que os agentes de cloud computing possam contribuir ainda mais com a área de gestão de diversidade. Mais de cinquenta propriedades foram identificadas, sendo quatro relativas à diversidade de aplicação, catorze à diversidade administrativa, dez de localização geográfica, nove de software de suporte, nove de hardware e seis relativas à diversidade de segurança. Do total de cinquenta e duas propriedades, apenas oito são completamente suportadas pela versão analisada da ferramenta para cloud computing Open- Nebula e treze pelo fornecedor de cloud Amazon. Ainda em relação à Amazon, outras dezoito propriedades são parcialmente suportadas através do uso de rótulos genéricos, totalizando trinta e uma propriedades suportadas. Os provedores de cloud computing podem vir a não concordar em fornecer informações relativas a todas as propriedades definidas nesta dissertação, uma vez que existem riscos comerciais e custos extras em publicar e manter todas informações. Porém, ainda assim consideramos importante para a área de gestão de diversidade a apresentação e discussão do maior número possível de propriedades. Nós também apresentamos a integração do DiversityAgent com dois casos de uso previstos pelo projecto CloudFIT, assim como os resultados dos experimentos de desempenho e conformidade. O primeiro caso é um serviço Web sem estado e o segundo é um serviço baseado em replicação de máquinas de estado. Ambos casos utilizam técnicas de recuperação proactiva e posicionam o DiversityAgent entre o gestor de recursos dos serviços e os provedores de cloud, a fim de obter diversidade automaticamente a cada nova troca proactiva de réplicas. No fim desta dissertação, encontram-se as conclusões obtidas com este trabalho, possíveis trabalhos futuros, além de três apêndices sobre as interfaces públicas, tutoriais de utilização e personalização do DiversityAgent.Obtaining correct results and behaviour on computing is a long-standing concern. Such guarantee can be obtained through fault and intrusion tolerance mechanisms, which aim to tolerate crash and arbitrary faults. Byzantine fault tolerant replication, when combined with proactive recovery techniques can tolerate any number of arbitrary faults during entire system life time. However, common vulnerabilities shared between replicas can compromise such tolerance, rendering diversity as a complementary mechanism. Diversity is a mechanism that consists in providing and combining diverse resources to increase vulnerability independence between system components. Obtaining diversity automatically is a process that can be decomposed into two phases: creation and selection. The first phase consists in providing enough diverse resources to be considered, combined and selected in second phase. In this thesis we present the DiversityAgent, a Java library for selecting cloud resources considering multiple diversity properties. Its clients only need to register available resources, then the DiversityAgent assumes the responsibility of selecting appropriate cloud computing resource combination for each server deployment. In order to design the DiversityAgent, we review taxonomies for diversity on computer systems and analyse several diversity group properties supported by cloud providers or tools, and opportunities for cloud computing players contribute with diversity management area. This document contains a review on basic fault and intrusion tolerance mechanisms, followed by an extensive diversity analysis in cloud computing environments and by the DiversityAgent development. We also present an integration of our component with two use cases foreseen by CloudFIT project, as well as present the results of correctness and performance evaluations. At the end there are the final remarks about this work and possible future work, besides three appendices regarding DiversityAgent public interfaces, usage and customising tutorials.Pasin, Marcelo, 1967-Repositório da Universidade de LisboaCogo, Vinicius Vielmo2013-03-01T16:02:43Z20122012-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/7870enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T15:51:23Zoai:repositorio.ul.pt:10451/7870Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:32:34.567511Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Diversity in automatic cloud computing resource selection
title Diversity in automatic cloud computing resource selection
spellingShingle Diversity in automatic cloud computing resource selection
Cogo, Vinicius Vielmo
Diversidade
Tolerância a intrusões
Gestão de recursos
Cloud computing
Teses de mestrado - 2012
title_short Diversity in automatic cloud computing resource selection
title_full Diversity in automatic cloud computing resource selection
title_fullStr Diversity in automatic cloud computing resource selection
title_full_unstemmed Diversity in automatic cloud computing resource selection
title_sort Diversity in automatic cloud computing resource selection
author Cogo, Vinicius Vielmo
author_facet Cogo, Vinicius Vielmo
author_role author
dc.contributor.none.fl_str_mv Pasin, Marcelo, 1967-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Cogo, Vinicius Vielmo
dc.subject.por.fl_str_mv Diversidade
Tolerância a intrusões
Gestão de recursos
Cloud computing
Teses de mestrado - 2012
topic Diversidade
Tolerância a intrusões
Gestão de recursos
Cloud computing
Teses de mestrado - 2012
description Tese de mestrado em Informática, apresentada à Universidade de Lisboa, através da Faculdade de Ciências, 2012
publishDate 2012
dc.date.none.fl_str_mv 2012
2012-01-01T00:00:00Z
2013-03-01T16:02:43Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10451/7870
url http://hdl.handle.net/10451/7870
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134218265034752