CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem. 1 Mas o que é um Framework? “Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” (Fayad e Schmidt) Framework de software compreende de um conjunto de classes implementadas em uma linguagem de programação específica, usadas para auxiliar o desenvolvimento de software. 2 Mas o que é um Framework? Um Framework captura uma funcionalidade comum a várias aplicações. A A B C Impossível criar Framework 3 B C Interseção grande. Possível criar Framework. O que é o CloudSim? O framework CloudSim, visa oferecer os recursos necessários para a simulação de ambientes computacionais em nuvem. Desenvolvido inteiramente em Java e licenciado pela General Public License (GPL), o framework é extensível, facilmente adaptável e permite a criação de simulações em grande escala com alto grau de customização (Calheiros , 2009). 4 O que é o CloudSim? Motor de simulação: responsável pelas operações de criação, gerenciamento e exclusão das entidades simuladas 5 O que é o CloudSim? Módulo de Rede Módulo de Recursos da Nuvem Módulo de Serviços da Nuvem Módulo Interface Classes funcionais: principais classes que compõem o framework, divididas em diferentes módulos. 6 O que é CloudSim? Módulo de Rede: são realizados o mapeamento de ligações entre datacenters e clientes e o cálculo de atraso das mensagens trocadas entre eles. Módulo de Recursos da Nuvem: realiza a manipulação e coordenação dos eventos da simulação, além de gerenciar os dados relativos à infraestrutura oferecida por meio dos datacenters simulados. Módulo de Serviços da Nuvem: ilustra as ações de provimento de máquinas virtuais e alocação de recursos como memória de sistema, processamento, armazenamento de dados e largura de banda de comunicação. Módulo Interface: onde é feita a comunicação entre as entidades da nuvem e o cliente. 7 O que é o CloudSim? Código de usuário: representa o código que o usuário do framework deve implementar para a criação dos ambientes de simulação. 8 CloudReports Empregando-se a plataforma de desenvolvimento Java e o framework de simulação CloudSim, além de ferramentas adicionais, criou-se o CloudReports, uma ferramenta gráfica de simulação que busca tornar a criação de simulações de ambientes computacionais em nuvem uma atividade prática e objetiva, embora mantendo características fundamentais como escalabilidade, alto grau de customização e extensibilidade. O CloudReports permite que usuários não familiarizados com a linguagem Java realizem simulações através de uma interface gráfica simples e intuitiva. 9 CloudReports 10 CloudReports A interface gráfica oferece flexibilidade para a criação de datacenters com quantidade variável de recursos, incluindo, ainda, a customização individual dos hosts que o compõem. 11 Representação da Nuvem 12 Representação da Nuvem O CloudReports é composto por cinco módulos distintos; Na base dessa arquitetura, observa-se a Máquina Virtual Java (JVM), responsável pela interpretação dos bytecodes e pelo gerenciamento dos recursos utilizados junto ao sistema operacional. O CloudSim, framework utilizado como motor de simulação, encontra-se entre a JVM e os módulos do CloudReports responsáveis pela tradução do ambiente criado através da interface gráfica para geração das entidades a serem simuladas. 13