Estratégias para Adaptação Dinâmica de Aplicações em Nuvem
Computação em Nuvem, Adaptação Dinâmica, Computação Autonômica, Aspectos, Linhas de Produtos de Software
Cloud-based applications are composed of services offered by distinct third-party cloud providers. The selection of the proper cloud services that fit the application needs is based on cloud-related information, i.e. properties of the services such as price, availability, response time, among others. As most cloudrelated information are dynamic and may change any time during the application execution, it is essential to adapt the application upon the detection of QoS violations that affect the application requirements. In this work we present a dynamic adaptation approach managed by an autonomic control loop that takes place when a service becomes unavailable or when an agreed QoS is violated in the context of cloud-based applications. Our dynamic adaptation approach relies on dynamic aspect-oriented programming (DAOP) to: (i) encapsulate the dynamic adaptation (removal and/or insertion of services) as an aspect that contains join points that specify where each aspect must act, and; (ii) easily change the application by dynamically removing a service and inserting a new one.