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


Autoria(s): Almeida, André Gustavo Duarte de
Contribuinte(s)

Batista, Thais Vasconcelos

05086756421

56765614400

Ferraz, Carlos André Guimarães

46034587468

Madeira, Edmundo Roberto Mauro

02505772835

Medeiros Neto, Francisco Dantas de

00735640440

Cacho, Nélio Alessandro Azevedo

03038841420

Kulesza, Uirá

02219235432

Data(s)

10/06/2016

10/06/2016

25/11/2015

Resumo

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 - ANP

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.

Identificador

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.

http://repositorio.ufrn.br/handle/123456789/20673

Idioma(s)

por

Publicador

Universidade Federal do Rio Grande do Norte

Brasil

UFRN

PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO

Direitos

Acesso Aberto

Palavras-Chave #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 #CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO
Tipo

doctoralThesis