Cloud Stratus: uma plataforma de middleware para desenvolvimento de aplicações em nuvem - Alves, Gustavo Nogueira (2015)
Computação em Nuvem é um paradigma computacional que possibilita o acesso de forma simples e pervasiva, via rede, a recursos compartilhados e configuráveis de computação. Tais recursos são oferecidos sob demanda para o usuário através de um modelo de uso em que só se 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 dos clientes, sendo necessário uma composição de serviços providos por diferentes plataformas de nuvem. 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 de composições existe o Cloud Integrator, uma plataforma de middleware orientada a serviços que provê um ambiente que facilita o desenvolvimento e a execução de aplicações. Essas aplicações são composições de serviços de diferentes plataformas de nuvem e representadas através de workflows abstratos. 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 pelas suas entradas e saídas, e; (iii) os usuários não podem selecionar diretamente qual os serviços que vão executar as atividades do workflow. A fim de tratar essas limitações, esse trabalho propõe o Cloud Stratus, uma plataforma de middleware que estende o Cloud Integrator e oferece diferentes formas de especificar aplicações, permitindo se definir um workflow abstrato ou fluxo de execução completo ou parcial. A plataforma 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. O Cloud Stratus ainda 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. A validação do Cloud Stratus é realizada através de um estudo de caso que consiste de uma aplicação que utiliza diversos serviços de nuvem providos por diferentes plataformas de nuvem. O Cloud Stratus ainda é avaliado através de experimentos computacionais que analisam o desempenho de seus processos.