Computação em Nuvem
(
Cloud Computing
)
2
Características de um bom
Data Center
Bom Desempenho Escalabilidade
Alta Disponibilidade
Economia
4
Solução: Computação em Nuvem
Alocação de recursos sob demanda
Recursos virtualmente infinitos
Computação como utilidade Elasticidade
Atendimento de demandas variáveis
Transferência de responsabilidade (terceirização) Eliminação de compromisso financeiro prévio dos usuários
Computação em Nuvem
Computação em Nuvem se refere a
Aplicações usados como serviços pela Internet
Sistemas de hardware e software em datacenters que oferece esses serviços
O hardware e software de datacenter é o que se chama de Nuvem
“Pay-as-you-go”
6
Por que o nome “Nuvem”?
Porque redes (e particularmente a Internet) são frequentemente representadas como nuvens, por motivos de simplificação
Numa aplicação de Nuvem, o software não está instalado na máquina cliente nem no servidor, ou os servidores não estão fisicamente instalados na organização
O que é Computação em
Nuvem?
Infraestrutura
computacional Reconfiguração Dinâmica
Nuvem = uma camada conceitual sobre uma infraestrutura computacional que disponibiliza os recursos de software e hardware através de uma
8
Agentes
Aplicação 1 Recursos Físicos Usuários Aplicação 2 Desenvolvedor DesenvolvedorNIST Definition of Cloud
Computing
Cloud computing is a model for enabling
ubiquitous, convenient, on-demand network access to a shared pool of configurable
computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider
interaction
10
NIST: Essential Characteristics
On-demand self-service Broad network access
Resource pooling Rapid elasticity Measured service
NIST: Service Models
Software as a Service (SaaS)
Ex.: Google Doc, webmail
Platform as a Service (PaaS)
Ex.: Google App Engine, Microsoft Azure Ex.: WSO2 Stratos
Infrastructure as a Service (IaaS)
Ex.: Amazon AWS, Rackspace, Flexiscale
12
NIST: Deployment Models
Private cloud
Community cloud Public cloud
14
Projeto AltoStratus
AltoStratus:
Soluções de Middleware para Composição, Execução e Gerenciamento de Serviços em Nuvens Híbridas e
Heterogêneas
Subprojeto UFABC/UFPE
Especificação e Implementação de Mecanismos de
Criação Automática e Execução de Serviços Compostos Virtuais
Objetivo
Propor, especificar, implementar, implantar e avaliar técnicas e mecanismos de middleware para composição, execução e gerenciamento de serviços em ambiente de nuvens computacionais híbridas e heterogêneas
Conjunto de serviços será desenvolvido para um ambiente de nuvens híbridas e heterogêneas
Escalonamento, segurança, composição de serviços e gerência de workflows, tolerância a falhas, adaptação
16
Parcerias
Coordenação Geral
Coordenadora: Thais Batista (UFRN)
Vice-coordenador: Nabor Mendonça (Unifor)
Subprojeto UFRN/PUC-Rio
Coordenadora Local: Thais Batista (UFRN)
Subprojeto UNICAMP/UFRGS
Coordenador Local: Nelson Fonseca (Unicamp)
Subprojeto UNIFOR/UFPE/PUC-Rio
Coordenador Local: Nabor Mendonça (Unifor)
Subprojeto UFABC/UFPE
Coordenador Local: Carlos Kamienski (UFABC) Coordenador Adjunto: Stenio Fernandes (UFPE)
Plano de Trabalho: Ação 4
Especificação e Implementação de Mecanismos de Criação Automática e Execução de Serviços Compostos Virtuais
Atividade 4.1: Especificação de uma terminologia e um modelo integrador de composição: serviços, informação, rede, etc.
Atividade 4.2: Desenvolvimento de uma ferramenta para criação de serviços baseada na composição de serviços e de informação Atividade 4.3: Desenvolvimento de algoritmos para composição automática de serviços
Atividade 4.4: Desenvolvimento de uma ferramenta para execução de serviços compostos
18
Cenário
Um empreendedor, usuário de TIC, deseja iniciar um novo serviço na Internet, possuindo apenas
uma boa ideia e um cartão de crédito
Ele acessa um serviço de criação de novos
serviços para a Internet onde tem os recursos necessários para dar vazão à sua criatividade e modelo de negócio
Ao final, é gerado um “código” padrão para o serviço capaz de ser executado em qualquer ambiente que o compreenda
Cenário
O empreendedor negocia com um serviço de
execução de serviços (provedor de nuvem) para que a página da sua empresa entre em operação
Também pode ter acesso a um serviço de
gerenciamento para acompanhar a execução do serviço
A atividades do empreendedor poderão ser
realizadas a partir do seu PC e com um mínimo de intervenção de um profissional da área
20
Criação/Execução/Gerenciamento de
Serviços em Nuvem Computacional
Se Po Pr Bi Service Code Service
Creation ExecutionService
Service
Criação/Execução de Serviços em
Nuvem Computacional
Service Designer Business Analyst Service Builder Systems Developer Front-end Service Code The Internet (Cloud) Service GuidelineService Creation Output Service Execution
Se
Po Pr Bi
22
An Integrated
Composition Model for
Collaboration in the Cloud
Modelo Integrado de
Composição para Nuvem
Composição, Colaboração e Virtualização Composição Computacional
Mecanismo de colaboração onde diferentes entidades são combinadas para gerar uma nova entidade virtual de valor agregado, que pode ser acessada de maneira transparente através de uma interface única
Tipos de Composição
Composição de Serviços
24
Composição de Serviços
Orquestração, Coreografia, Fusão
Composição de Informação
Modelo de Dados, Modelo de Informação, Modelo de Serviços
I I
26
Composição de Recursos
Máquina, Memória, Armazenamento e CPU
Composed Machines (virtual)
Server #1 Cloud #1 #1 Cloud #2 Server #2 Server #3 #2 #3
Composição de Redes
Roteamento, Comutação, Túnel, Controle e Compartilhamento
Composed Network - Virtual
Cloud #1
Cloud #3 Cloud #4 Cloud #2
28
Composição de Nuvem
Computação em Nuvem: Nova Visão
Composição de múltiplas entidades computacionais de diferentes classes que colaboram para criar uma nova entidade virtual, oferecida aos usuários “como um
serviço” Service Composition Information Composition Resource Composition Network Composition Cloud Composition
Arquitetura de Composição
Service Composition Information Composition SaaS PaaS IaaS Middleware PaaS Middleware User Middleware SaaS Middleware C lo u d M id d lew a re30
Cenário 1
Se Po Pr Bi Tunnel Services Resources Netorok Information Service Composition Network Composition Orchestration Se Po Pr BiCenário 2
Network Composition Information Model Information Composition Service Composition Ink-Merger Se Po Pr Bi Se Po Pr Bi32
E2ECloud: Protótipo para
Criação e Execução de
Serviços Compostos Virtuais
Fim a Fim
Cenário de Uso
Service Creation (SaaS) Cloud #1 (IaaS / SaaS) Cloud #2 (IaaS) Cloud #3 (IaaS) Service Developer User 3 User 1 User 2 Se Po Pr Bi Service Code34
Arquitetura do Protótipo
Service Creation ToolSe Po Pr Bi Service Code Cloud Middleware Placement & Elasticity Services self-configuration self-optimization self-healing UFPE private cloud UFABC private cloud Amazon public cloud Google public cloud Cloud Infrastructure Load Generator
Ferramenta de Criação de
Serviços
Servidor (Tomcat7)
INTERFACE GRÁFICA (Servidor)
GWT RPC CONTAS DE USUÁRIO REPOSITÓRIO GERAL (Serviços e Entidades) BASE COMPOSER GERADOR DE CÓDIGO
36
Ferramenta de Criação de
Serviços
38
Posicionamento: OpenNebula
O OpenNebula realiza o posicionamento
FrontEnd faz o posicionamento dos Worker Nodes
A implementação do deploy de um serviço composto, no entanto requer vários
procedimentos
Criar VMs para o serviço composto (workflow BPEL) Pegar endereços IP para cada uma
40
Elasticidade e
Balanceamento de Carga
Elasticidade realizada no nível de OpenNebula e Xen deve ficar visível para a aplicação
Elasticidade
Todos os sub-serviços são monitorados em um serviço composto
Métricas: uso de CPU e memória
Uso de técnica de histerese para evitar oscilação
Criação e remoção de VMs demora algum tempo e não pode oscilar muito
Problemas com o tempo de criação de VMs Cenário: Geradores de código rodando na
42
Outros Projetos
Flexibilizando o Datacenter com Computação em Nuvem e Redes Definidas por Software
CNPq: Edital Universal 2012
Desenvolvimento de Serviços em Nuvem Computacional
CNPq: Bolsa PQ 2011
Gerenciamento Autonômico de Rede Elétrica Inteligente na Nuvem Computacional