AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud

Detalhes bibliográficos
Ano de defesa: 2015
Autor(a) principal: Almeida, André Gustavo Duarte de
Orientador(a): Batista, Thais Vasconcelos
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/20673
Resumo: Aplicações Multi-Cloud são compostas de serviços oferecidos por múltiplas plataformas de nuvem, onde o usuário/desenvolvedor tem pleno conhecimento da utilização dessas plataformas. O uso de múltiplas plataformas de nuvem evita os seguintes problemas: (i) vendor lock-in, que consiste na dependência da aplicação de uma determinada plataforma de nuvem, o que é prejudicial no caso de degradação ou falha nos serviços da plataforma, ou até mesmo aumento do preço do uso do serviço; (ii) degradação ou falha da aplicação devido a flutuações da qualidade de serviço (QoS) provida por alguma plataforma de nuvem, ou mesmo devido a falha em algum serviço. No cenário multi-cloud é possível se trocar um serviço em falha ou com problemas de QoS por um equivalente de outra plataforma de nuvem. Para que uma aplicação consiga adotar a perspectiva multi-cloud é necessário criar mecanismos que sejam capazes de selecionar quais serviços de nuvem/plataformas devem ser usados, de acordo com os requisitos determinados pelo programador/usuário. Nesse contexto, as maiores dificuldades em termos de desenvolvimento de tais aplicações abrangem questões como: (i) a escolha de quais serviços e de plataformas de computação em nuvem subjacentes devem ser usadas com base nos requisitos definidos de funcionalidade e de qualidade pelo usuário, (ii) a necessidade de monitorar continuamente as informações dinâmicas (tais como tempo de resposta, disponibilidade, preço, disponibilidade), relacionadas com serviços de nuvem, além da variedade ampla de serviços, e (iii) a necessidade de se adaptar a aplicação no caso de violações de QoS que afetam os seus requisitos. Essa tese de doutorado propõe uma abordagem para adaptação dinâmica de aplicações multi-cloud que se aplica quando um serviço fica indisponível ou quando os requisitos definidos pelo usuário/desenvolvedor apontam que outra configuração multicloud disponível atende de forma mais eficiente. Dessa forma, esse trabalho propõe uma estratégia composta por duas fases. A primeira fase consiste na modelagem da aplicação, que explora a capacidade de representação de similaridades e variabilidades propostas no contexto do paradigma de linhas de produto de software (LPS). Nessa fase é usado um modelo de features estendido para especificar a configuração de serviços de nuvens a ser usado pela aplicação (similaridades) e os diferentes possíveis provedores para cada serviço (variabilidades). Além disso, os requisitos não-funcionais associados aos serviços de nuvem são especificados nesse modelo através de propriedades que descrevem informações dinâmicas sobre esses serviços. A segunda fase consiste em um processo autonômico baseado no loop de controle MAPE-K, que é responsável por selecionar, de forma otimizada, uma configuração multi-cloud que atenda aos requisitos estabelecidos, e que execute a adaptação. A estratégia de adaptação proposta é independente da técnica de programação usada para realizar a adaptação. Nesse trabalho implementamos a estratégia de adaptação usando várias técnicas de programação como programação orientada a aspectos, programação orientada a contexto e programação orientada a componentes e serviços. Com base nas etapas propostas, procuramos avaliar os seguintes itens: (i) se o processo de modelagem e especificação de requisitos não-funcionais é capaz de garantir o efetivo acompanhamento da satisfação do usuário; (ii) se o processo otimizado de seleção apresenta ganhos significativos quando comparado com abordagem sequencial; e (iii) quais técnicas apresentam a melhor relação custo-benefício, quando comparado os esforços para desenvolvimento/modularidade e desempenho.
id UFRN_1213e513fdb03a1fc87479343d70b5ea
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/20673
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Almeida, André Gustavo Duarte dehttp://lattes.cnpq.br/1800962258138555http://lattes.cnpq.br/5521922960404236Ferraz, Carlos André Guimarãeshttp://lattes.cnpq.br/7716805104151473Madeira, Edmundo Roberto Maurohttp://lattes.cnpq.br/1870389730408675Medeiros Neto, Francisco Dantas dehttp://lattes.cnpq.br/5525562330158282Cacho, Nélio Alessandro Azevedohttp://lattes.cnpq.br/4635320220484649Kulesza, Uiráhttp://lattes.cnpq.br/0189095897739979Batista, Thais Vasconcelos2016-06-10T21:50:05Z2016-06-10T21:50:05Z2015-11-25ALMEIDA, André Gustavo Duarte de. AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud. 2015. 120f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2015.https://repositorio.ufrn.br/jspui/handle/123456789/20673Aplicações Multi-Cloud são compostas de serviços oferecidos por múltiplas plataformas de nuvem, onde o usuário/desenvolvedor tem pleno conhecimento da utilização dessas plataformas. O uso de múltiplas plataformas de nuvem evita os seguintes problemas: (i) vendor lock-in, que consiste na dependência da aplicação de uma determinada plataforma de nuvem, o que é prejudicial no caso de degradação ou falha nos serviços da plataforma, ou até mesmo aumento do preço do uso do serviço; (ii) degradação ou falha da aplicação devido a flutuações da qualidade de serviço (QoS) provida por alguma plataforma de nuvem, ou mesmo devido a falha em algum serviço. No cenário multi-cloud é possível se trocar um serviço em falha ou com problemas de QoS por um equivalente de outra plataforma de nuvem. Para que uma aplicação consiga adotar a perspectiva multi-cloud é necessário criar mecanismos que sejam capazes de selecionar quais serviços de nuvem/plataformas devem ser usados, de acordo com os requisitos determinados pelo programador/usuário. Nesse contexto, as maiores dificuldades em termos de desenvolvimento de tais aplicações abrangem questões como: (i) a escolha de quais serviços e de plataformas de computação em nuvem subjacentes devem ser usadas com base nos requisitos definidos de funcionalidade e de qualidade pelo usuário, (ii) a necessidade de monitorar continuamente as informações dinâmicas (tais como tempo de resposta, disponibilidade, preço, disponibilidade), relacionadas com serviços de nuvem, além da variedade ampla de serviços, e (iii) a necessidade de se adaptar a aplicação no caso de violações de QoS que afetam os seus requisitos. Essa tese de doutorado propõe uma abordagem para adaptação dinâmica de aplicações multi-cloud que se aplica quando um serviço fica indisponível ou quando os requisitos definidos pelo usuário/desenvolvedor apontam que outra configuração multicloud disponível atende de forma mais eficiente. Dessa forma, esse trabalho propõe uma estratégia composta por duas fases. A primeira fase consiste na modelagem da aplicação, que explora a capacidade de representação de similaridades e variabilidades propostas no contexto do paradigma de linhas de produto de software (LPS). Nessa fase é usado um modelo de features estendido para especificar a configuração de serviços de nuvens a ser usado pela aplicação (similaridades) e os diferentes possíveis provedores para cada serviço (variabilidades). Além disso, os requisitos não-funcionais associados aos serviços de nuvem são especificados nesse modelo através de propriedades que descrevem informações dinâmicas sobre esses serviços. A segunda fase consiste em um processo autonômico baseado no loop de controle MAPE-K, que é responsável por selecionar, de forma otimizada, uma configuração multi-cloud que atenda aos requisitos estabelecidos, e que execute a adaptação. A estratégia de adaptação proposta é independente da técnica de programação usada para realizar a adaptação. Nesse trabalho implementamos a estratégia de adaptação usando várias técnicas de programação como programação orientada a aspectos, programação orientada a contexto e programação orientada a componentes e serviços. Com base nas etapas propostas, procuramos avaliar os seguintes itens: (i) se o processo de modelagem e especificação de requisitos não-funcionais é capaz de garantir o efetivo acompanhamento da satisfação do usuário; (ii) se o processo otimizado de seleção apresenta ganhos significativos quando comparado com abordagem sequencial; e (iii) quais técnicas apresentam a melhor relação custo-benefício, quando comparado os esforços para desenvolvimento/modularidade e desempenho.Multi-Cloud Applications are composed of services offered by multiple cloud platforms where the user/developer has full knowledge of the use of such platforms. The use of multiple cloud platforms avoids the following problems: (i) vendor lock-in, which is dependency on the application of a certain cloud platform, which is prejudicial in the case of degradation or failure of platform services, or even price increasing on service usage; (ii) degradation or failure of the application due to fluctuations in quality of service (QoS) provided by some cloud platform, or even due to a failure of any service. In multi-cloud scenario is possible to change a service in failure or with QoS problems for an equivalent of another cloud platform. So that an application can adopt the perspective multi-cloud is necessary to create mechanisms that are able to select which cloud services/platforms should be used in accordance with the requirements determined by the programmer/user. In this context, the major challenges in terms of development of such applications include questions such as: (i) the choice of which underlying services and cloud computing platforms should be used based on the defined user requirements in terms of functionality and quality (ii) the need to continually monitor the dynamic information (such as response time, availability, price, availability), related to cloud services, in addition to the wide variety of services, and (iii) the need to adapt the application if QoS violations affect user defined requirements. This PhD thesis proposes an approach for dynamic adaptation of multi-cloud applications to be applied when a service is unavailable or when the requirements set by the user/developer point out that other available multi-cloud configuration meets more efficiently. Thus, this work proposes a strategy composed of two phases. The first phase consists of the application modeling, exploring the similarities representation capacity and variability proposals in the context of the paradigm of Software Product Lines (SPL). In this phase it is used an extended feature model to specify the cloud service configuration to be used by the application (similarities) and the different possible providers for each service (variability). Furthermore, the non-functional requirements associated with cloud services are specified by properties in this model by describing dynamic information about these services. The second phase consists of an autonomic process based on MAPE-K control loop, which is responsible for selecting, optimally, a multicloud configuration that meets the established requirements, and perform the adaptation. The adaptation strategy proposed is independent of the used programming technique for performing the adaptation. In this work we implement the adaptation strategy using various programming techniques such as aspect-oriented programming, context-oriented programming and components and services oriented programming. Based on the proposed steps, we tried to assess the following: (i) the process of modeling and the specification of non-functional requirements can ensure effective monitoring of user satisfaction; (ii) if the optimal selection process presents significant gains compared to sequential approach; and (iii) which techniques have the best trade-off when compared efforts to development/modularity and performance.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)Agência Nacional do Petróleo - ANPporUniversidade Federal do Rio Grande do NortePROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOUFRNBrasilCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOMulti-CloudAdaptação dinâmicaModelos de featuresOtimizaçãoProgramação orientada a aspectosProgramação orientada a contextoProgramação orientada a componentes e serviçosAdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-CloudAdaptMCloud: a strategy for dynamic adaptation of Multi-Cloud applicationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNORIGINALAndreGustavoDuarteDeAlmeida_TESE.pdfAndreGustavoDuarteDeAlmeida_TESE.pdfapplication/pdf6592290https://repositorio.ufrn.br/bitstream/123456789/20673/1/AndreGustavoDuarteDeAlmeida_TESE.pdf1e646fe3de7703b82ba1e46d277c73acMD51TEXTAndreGustavoDuarteDeAlmeida_TESE.pdf.txtAndreGustavoDuarteDeAlmeida_TESE.pdf.txtExtracted texttext/plain316687https://repositorio.ufrn.br/bitstream/123456789/20673/6/AndreGustavoDuarteDeAlmeida_TESE.pdf.txt02724fb5786e82b0f0ab5b97acdc5522MD56THUMBNAILAndreGustavoDuarteDeAlmeida_TESE.pdf.jpgAndreGustavoDuarteDeAlmeida_TESE.pdf.jpgIM Thumbnailimage/jpeg3077https://repositorio.ufrn.br/bitstream/123456789/20673/7/AndreGustavoDuarteDeAlmeida_TESE.pdf.jpga08174553e058a9959d8341d0c7b227dMD57123456789/206732017-11-02 21:58:08.132oai:https://repositorio.ufrn.br:123456789/20673Repositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2017-11-03T00:58:08Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
dc.title.alternative.pt_BR.fl_str_mv AdaptMCloud: a strategy for dynamic adaptation of Multi-Cloud applications
title AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
spellingShingle AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
Almeida, André Gustavo Duarte de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Multi-Cloud
Adaptação dinâmica
Modelos de features
Otimização
Programação orientada a aspectos
Programação orientada a contexto
Programação orientada a componentes e serviços
title_short AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
title_full AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
title_fullStr AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
title_full_unstemmed AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
title_sort AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud
author Almeida, André Gustavo Duarte de
author_facet Almeida, André Gustavo Duarte de
author_role author
dc.contributor.authorID.pt_BR.fl_str_mv
dc.contributor.authorLattes.none.fl_str_mv http://lattes.cnpq.br/1800962258138555
dc.contributor.advisorID.pt_BR.fl_str_mv
dc.contributor.advisorLattes.none.fl_str_mv http://lattes.cnpq.br/5521922960404236
dc.contributor.referees1.none.fl_str_mv Ferraz, Carlos André Guimarães
dc.contributor.referees1ID.pt_BR.fl_str_mv
dc.contributor.referees1Lattes.none.fl_str_mv http://lattes.cnpq.br/7716805104151473
dc.contributor.referees2.none.fl_str_mv Madeira, Edmundo Roberto Mauro
dc.contributor.referees2ID.pt_BR.fl_str_mv
dc.contributor.referees2Lattes.none.fl_str_mv http://lattes.cnpq.br/1870389730408675
dc.contributor.referees3.none.fl_str_mv Medeiros Neto, Francisco Dantas de
dc.contributor.referees3ID.pt_BR.fl_str_mv
dc.contributor.referees3Lattes.none.fl_str_mv http://lattes.cnpq.br/5525562330158282
dc.contributor.referees4.none.fl_str_mv Cacho, Nélio Alessandro Azevedo
dc.contributor.referees4ID.pt_BR.fl_str_mv
dc.contributor.referees4Lattes.none.fl_str_mv http://lattes.cnpq.br/4635320220484649
dc.contributor.referees5.none.fl_str_mv Kulesza, Uirá
dc.contributor.referees5ID.pt_BR.fl_str_mv
dc.contributor.referees5Lattes.none.fl_str_mv http://lattes.cnpq.br/0189095897739979
dc.contributor.author.fl_str_mv Almeida, André Gustavo Duarte de
dc.contributor.advisor1.fl_str_mv Batista, Thais Vasconcelos
contributor_str_mv Batista, Thais Vasconcelos
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Multi-Cloud
Adaptação dinâmica
Modelos de features
Otimização
Programação orientada a aspectos
Programação orientada a contexto
Programação orientada a componentes e serviços
dc.subject.por.fl_str_mv Multi-Cloud
Adaptação dinâmica
Modelos de features
Otimização
Programação orientada a aspectos
Programação orientada a contexto
Programação orientada a componentes e serviços
description Aplicações Multi-Cloud são compostas de serviços oferecidos por múltiplas plataformas de nuvem, onde o usuário/desenvolvedor tem pleno conhecimento da utilização dessas plataformas. O uso de múltiplas plataformas de nuvem evita os seguintes problemas: (i) vendor lock-in, que consiste na dependência da aplicação de uma determinada plataforma de nuvem, o que é prejudicial no caso de degradação ou falha nos serviços da plataforma, ou até mesmo aumento do preço do uso do serviço; (ii) degradação ou falha da aplicação devido a flutuações da qualidade de serviço (QoS) provida por alguma plataforma de nuvem, ou mesmo devido a falha em algum serviço. No cenário multi-cloud é possível se trocar um serviço em falha ou com problemas de QoS por um equivalente de outra plataforma de nuvem. Para que uma aplicação consiga adotar a perspectiva multi-cloud é necessário criar mecanismos que sejam capazes de selecionar quais serviços de nuvem/plataformas devem ser usados, de acordo com os requisitos determinados pelo programador/usuário. Nesse contexto, as maiores dificuldades em termos de desenvolvimento de tais aplicações abrangem questões como: (i) a escolha de quais serviços e de plataformas de computação em nuvem subjacentes devem ser usadas com base nos requisitos definidos de funcionalidade e de qualidade pelo usuário, (ii) a necessidade de monitorar continuamente as informações dinâmicas (tais como tempo de resposta, disponibilidade, preço, disponibilidade), relacionadas com serviços de nuvem, além da variedade ampla de serviços, e (iii) a necessidade de se adaptar a aplicação no caso de violações de QoS que afetam os seus requisitos. Essa tese de doutorado propõe uma abordagem para adaptação dinâmica de aplicações multi-cloud que se aplica quando um serviço fica indisponível ou quando os requisitos definidos pelo usuário/desenvolvedor apontam que outra configuração multicloud disponível atende de forma mais eficiente. Dessa forma, esse trabalho propõe uma estratégia composta por duas fases. A primeira fase consiste na modelagem da aplicação, que explora a capacidade de representação de similaridades e variabilidades propostas no contexto do paradigma de linhas de produto de software (LPS). Nessa fase é usado um modelo de features estendido para especificar a configuração de serviços de nuvens a ser usado pela aplicação (similaridades) e os diferentes possíveis provedores para cada serviço (variabilidades). Além disso, os requisitos não-funcionais associados aos serviços de nuvem são especificados nesse modelo através de propriedades que descrevem informações dinâmicas sobre esses serviços. A segunda fase consiste em um processo autonômico baseado no loop de controle MAPE-K, que é responsável por selecionar, de forma otimizada, uma configuração multi-cloud que atenda aos requisitos estabelecidos, e que execute a adaptação. A estratégia de adaptação proposta é independente da técnica de programação usada para realizar a adaptação. Nesse trabalho implementamos a estratégia de adaptação usando várias técnicas de programação como programação orientada a aspectos, programação orientada a contexto e programação orientada a componentes e serviços. Com base nas etapas propostas, procuramos avaliar os seguintes itens: (i) se o processo de modelagem e especificação de requisitos não-funcionais é capaz de garantir o efetivo acompanhamento da satisfação do usuário; (ii) se o processo otimizado de seleção apresenta ganhos significativos quando comparado com abordagem sequencial; e (iii) quais técnicas apresentam a melhor relação custo-benefício, quando comparado os esforços para desenvolvimento/modularidade e desempenho.
publishDate 2015
dc.date.issued.fl_str_mv 2015-11-25
dc.date.accessioned.fl_str_mv 2016-06-10T21:50:05Z
dc.date.available.fl_str_mv 2016-06-10T21:50:05Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv ALMEIDA, André Gustavo Duarte de. AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud. 2015. 120f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2015.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/jspui/handle/123456789/20673
identifier_str_mv ALMEIDA, André Gustavo Duarte de. AdaptMCloud: uma estratégia para adaptação dinâmica de aplicações Multi-Cloud. 2015. 120f. Tese (Doutorado em Ciência da Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2015.
url https://repositorio.ufrn.br/jspui/handle/123456789/20673
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.program.fl_str_mv PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/20673/1/AndreGustavoDuarteDeAlmeida_TESE.pdf
https://repositorio.ufrn.br/bitstream/123456789/20673/6/AndreGustavoDuarteDeAlmeida_TESE.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/20673/7/AndreGustavoDuarteDeAlmeida_TESE.pdf.jpg
bitstream.checksum.fl_str_mv 1e646fe3de7703b82ba1e46d277c73ac
02724fb5786e82b0f0ab5b97acdc5522
a08174553e058a9959d8341d0c7b227d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1796767074706522112