Computação em Nuvem, Gerenciamento de Máquinas Virtuais, Monitoramento de Serviços de Nuvem, Parâmetros de QoS.
Computação em Nuvem é um novo paradigma computacional que possibilita o acesso de forma simples e pervasiva, via rede, a um conjunto de recursos de computação compartilhados e configuráveis. Tais recursos são oferecidos sob demanda para o usuário através de um modelo de uso em que o usuário só paga pelo uso do recurso. Com o avanço desse paradigma, um único serviço oferecido por uma plataforma de nuvem pode não ser suficiente para prover todos os requisitos das aplicações clientes, sendo necessário a composição de serviços providos por diferentes plataformas. No entanto, as plataformas de nuvem atuais não são implementadas usando padrões comuns, cada uma possui sua própria API e ferramenta de desenvolvimento, o que dificulta a criação da composição. Para facilitar a criação da composição foi proposto o Cloud Integrator, uma plataforma de middleware que provê um ambiente que facilita o desenvolvimento e a execução de aplicações. Tais aplicações são composições de serviços providos por diferentes plataformas de nuvem e representadas através de workflows semânticos. Os mecanismos de composição e seleção escolhem os serviços de nuvem que vão compor a aplicação, considerando metadados acerca dos serviços, como QoS e preço. No entanto, o Cloud Integrator possui algumas limitações: (i) as aplicações criadas são executadas localmente; (ii) usuários não podem especificar a aplicação apenas pela suas entradas e saídas, e; (iii) usuários mais experientes não podem selecionar diretamente qual os serviços que vão executar as atividades do workflow. A fim de tratar as questões mencionadas, o objetivo deste trabalho é propor o Cloud Stratus, uma plataforma de middleware que estende o Cloud Integrator e oferece diferentes formas de se criar aplicações, possibilitando que uma aplicação possa ser especificada apenas através de suas entradas e saídas ou ainda através da seleção de todos os serviços que a compõe. A plataforma ainda possibilita a implantação da aplicação em máquinas virtuais na nuvem, de forma que vários usuários podem acessá-la através da Internet, realiza o acesso e gerenciamento de máquinas virtuais de diferentes plataformas de nuvem e fornece mecanismos para monitoramento de serviços e aferição de parâmetros de QoS.