Multi-Cloud Aware Middleware.
Middleware, Multi-Cloud Computing, Elasticity.
A ideia de colaboração entre nuvens surgiu para tratar de limitações relacionadas à adoção de uma única nuvem. Do ponto de vista do desenvolvedor, aplicações distribuídas podem tirar proveito de ambientes multi-cloud para criar, estender e integrar seus componentes em várias nuvens de forma dinâmica, automática e transparente, além de melhorar a qualidade no suporte a requisitos de qualidade, como disponibilidade, desempenho e escalabilidade.
No entanto, a complexidade do gerenciamento aumenta substancialmente neste cenário, cuja responsabilidade é do desenvolvedor. Apesar dos esforços de padronização dos serviços, a maioria dos aplicativos não exploram os benefícios de várias nuvens (por exemplo, elasticidade). Problemas como interoperabilidade, limites administrativos e escalabilidade concentram-se em nível IaaS, ignorando aplicações que rodam acima da camada de infraestrutura.
Middleware pode beneficiar significativamente o desenvolvimento e gerenciamento de aplicações distribuídas em ambientes multi-cloud de forma transparente, tirando proveito de serviços de nuvens como elasticidade. Middleware fornece flexibilidade de desenvolvimento, implantação e gerenciamento de aplicações. Porém, plataformas tradicionais de middleware não são desenvolvidas para ambientes dinâmicos como computação em nuvens.
Este trabalho apresenta uma arquitetura de middleware para aplicações distribuídas em ambientes multi-cloud – Multi-Cloud Aware Middleware (M-CaMid). A arquitetura combina funcionalidades de middleware com serviços de IaaS para o gerenciamento de aplicações distribuídas em ambientes multi-cloud. M-CaMid tira proveito da elasticidade para o gerenciamento transversal que integra camadas de infraestrutura e software (vertical) e múltiplas nuvens (horizontal), permitindo uma visão holística do sistema distribuído e proporcionando melhor desempenho e maior precisão no uso racional de recursos das nuvens.
Experimentos realizados avaliaram o ganho de desempenho de aplicações distribuídas,bem como o uso racional de recursos de infraestrutura, demonstrando os benefícios do uso da elasticidade de múltiplas nuvens.
As contribuições desta tese são: (i) arquitetura de middleware para o gerenciamento de aplicações distribuídas em ambientes de múltiplas nuvens; (ii) gerenciamento transversal, integrando as várias camadas de um sistema distribuído e integrando várias nuvens; e(iii) o uso da elasticidade em um ambiente multi-cloud.