Upload
vuthuan
View
232
Download
0
Embed Size (px)
Citation preview
Computação em Nuvem (Cloud Computing)
Pesquisa & Desenvolvimento
Santo André: 20 de fevereiro de 2013
2
Características de um bom Data Center
Bom Desempenho
Escalabilidade
Alta Disponibilidade Economia
Gerência de Recursos
3
Capacidade x Demanda
Fonte: M. Armbrust, Above the Clouds: A Berkeley View of Cloud Computing, 2009.
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
5
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”
Problemas: garantia de desempenho (SLA) e segurança
Bom para startups e para “cloud burst”
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
7
O que é Computação em Nuvem?
Infraestrutura computacional
Reconfiguração Dinâmica
Transparência de Localidade
Modelo pague-pelo-uso
Nuvem = uma camada conceitual sobre uma infraestrutura computacional que disponibiliza os recursos de software e hardware através de uma
interface bem definida
9
NIST 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
This cloud model is composed of five essential characteristics, three service models, and four deployment models
10
NIST: Essential Characteristics
On-demand self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
11
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
Ex.: OpenNebula, Eucalyptus, OpenStack, Nimbus
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
15
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 de nuvem, implantação de aplicações, gerenciamento de aplicações, criação, execução e gerenciamento de serviços virtuais em nuvem
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)
17
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
Atividade 4.5: Desenvolvimento de um protótipo que integre os componentes desenvolvidos através de um cenário criado com fins didáticos e de avaliação
Atividade 4.6: Execução de testes e avaliações
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
19
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
Desde que todos os componentes (sub-serviços) necessários para a criação do seu novo serviço já estejam disponíveis em algum local
20
Criação/Execução/Gerenciamento de Serviços em Nuvem Computacional
Se
Po
PrBi
ServiceCode
ServiceCreation
ServiceExecution
ServiceManagement
21
Criação/Execução de Serviços em Nuvem Computacional
Service Designer
Business Analyst
Service Builder
Systems Developer
Front-end Designer
GUI Designer
Service Code
Service GUI
The Internet (Cloud)
Service Guideline
Service Creation Output Service Execution
Se
Po
PrBi
23
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 Composição de Informação Composição de Recursos Composição de Redes Composição de Nuvem
25
Composição de Informação
Modelo de Dados, Modelo de Informação, Modelo de Serviços
I I
Composed Data ModelD D
S S S S S
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
27
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
29
Arquitetura de Composição
Service Composition
ResourceComposition
Information Composition
SaaS
PaaS
IaaS
IaaS Middleware
PaaS Middleware
User Middleware
SaaS Middleware
Resource Middleware
Clo
ud
Mid
dlew
are
NetworkComposition
30
Cenário 1
Se
Po
PrBi
Tunnel
Services
Resources
Netorok
Information
Service Composition
Network Composition
Orchestration
Se
Po
PrBi
31
Cenário 2
Network Composition
Information Model
Information Composition
Service CompositionInk-Merger
Roteamento
Se
Po
PrBi
Se
Po
PrBi
32
E2ECloud: Protótipo para Criação e Execução de
Serviços Compostos Virtuais Fim a Fim
Demo no IEEE LatinCloud 2012
33
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
PrBi
Service Code
34
Arquitetura do Protótipo Service Creation Tool
Se
Po
PrBi
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
35
Ferramenta de Criação de Serviços
INTERFACE GRÁFICA (Cliente)
Servidor(Tomcat7)
Cliente(Navegador)
INTERFACE GRÁFICA (Servidor)
GWT RPC
CONTAS DE USUÁRIO
REPOSITÓRIO GERAL(Serviços e Entidades)
BASE
BASE-GUI
COMPOSERGERADOR DE
CÓDIGO
39
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
Chamar OpenNebula para realizar posicionamento
Iniciar monitoramento para elasticidade
40
Elasticidade e Balanceamento de Carga
Elasticidade realizada no nível de OpenNebula e Xen deve ficar visível para a aplicação
Algumas soluções: DNS, Aplicação (Apache...)
41
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 Amazon
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
UFABC: Projeto de mestrado