Computação em Nuvem

Transcrição

Computação em Nuvem
Computação em Nuvem
(Cloud Computing)
Pesquisa & Desenvolvimento
Santo André: 20 de fevereiro de 2013
Características de um bom
Data Center
Bom Desempenho
Escalabilidade
Alta Disponibilidade
Economia
Gerência de Recursos
2
Capacidade x Demanda
Fonte: M. Armbrust, Above the Clouds: A Berkeley View of Cloud
Computing, 2009.
3
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
4
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”
5
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
6
O que é Computação em
Nuvem?
Nuvem = uma camada conceitual sobre uma
infraestrutura computacional que disponibiliza os
recursos de software e hardware através de uma
interface bem definida
Infraestrutura
computacional
Reconfiguração
Dinâmica
Transparência
de Localidade
Modelo
pague-pelo-uso
7
Agentes
Usuários
Desenvolvedor
Aplicação
1
Aplicação
2
Desenvolvedor
Recursos Físicos
8
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
9
NIST: Essential Characteristics
On-demand self-service
Broad network access
Resource pooling
Rapid elasticity
Measured service
10
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
11
NIST: Deployment Models
Private cloud
Community cloud
Public cloud
Hybrid cloud
12
Projeto AltoStratus
13
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
14
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
15
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)
16
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
17
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
18
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
19
Criação/Execução/Gerenciamento de
Serviços em Nuvem Computacional
Service
Code
Se
Pr
Bi
Po
Service
Creation
Service
Execution
Service
Management
20
Criação/Execução de Serviços em
Nuvem Computacional
Service Creation
Business
Analyst
Output
Service
Execution
Systems
Developer
Service
Guideline
Service
Designer
Service Code
Service
Builder
Se
The Internet
(Cloud)
Pr
Bi
Po
Front-end
Designer
GUI Designer
Service GUI
21
An Integrated
Composition Model for
Collaboration in the Cloud
IEEE LatinCloud 2012
22
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
23
Composição de Serviços
Orquestração, Coreografia, Fusão
Fusão
24
Composição de Informação
Modelo de Dados, Modelo de Informação,
Modelo de Serviços
S
S
S
S
I
I
D
S
Composed Data Model
D
25
Composição de Recursos
Máquina, Memória, Armazenamento e CPU
Composed Machines (virtual)
#1
Server #1
#2
Server #2
Cloud #1
#3
Server #3
Cloud #2
26
Composição de Redes
Roteamento, Comutação, Túnel, Controle e
Compartilhamento
Composed Network - Virtual
Cloud #1
Cloud #2
Cloud #3
Cloud #4
27
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”
Cloud Composition
Service Composition
Information Composition
Resource Composition
Network Composition
28
Arquitetura de Composição
User Middleware
SaaS Middleware
SaaS
Service Composition
Cloud Middleware
PaaS Middleware
PaaS
Information Composition
IaaS Middleware
IaaS
Resource
Composition
Network
Composition
Resource Middleware
29
Cenário 1
Services
Service Composition
Orchestration
Se
Information
Se
Pr
Bi
Pr
Bi
Po
Po
Resources
Network Composition
Netorok
Tunnel
30
Cenário 2
Service Composition
Ink-Merger
Information Composition
Se
Se
Pr
Bi
Po
Information Model
Pr
Bi
Po
Network Composition
Roteamento
31
E2ECloud: Protótipo para
Criação e Execução de
Serviços Compostos Virtuais
Fim a Fim
Demo no IEEE LatinCloud 2012
32
Cenário de Uso
Service
Creation
(SaaS)
Service
Developer
Se
Pr
Bi
Po
Cloud #1
(IaaS / SaaS)
User 1
User
2
Service
Code
User 3
Cloud #2
(IaaS)
Cloud #3
(IaaS)
33
Arquitetura do Protótipo
Service Creation Tool
Cloud Middleware
Service
Code
Se
Pr
Bi
Po
Placement &
Elasticity Services
self-configuration
self-optimization
self-healing
UFABC
private
cloud
Load Generator
Amazon
public
cloud
UFPE
private
cloud
Google
public
cloud
Cloud
Infrastructure
34
Ferramenta de Criação de
Serviços
Servidor
(Tomcat7)
COMPOSER
GERADOR DE
CÓDIGO
CONTAS DE
USUÁRIO
BASE
REPOSITÓRIO GERAL
(Serviços e Entidades)
INTERFACE GRÁFICA (Servidor)
GWT RPC
BASE-GUI
INTERFACE GRÁFICA (Cliente)
Cliente
(Navegador)
35
Ferramenta de Criação de
Serviços
36
Middleware: Visão Geral
37
Middleware: Arquitetura
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
Chamar OpenNebula para realizar posicionamento
Iniciar monitoramento para elasticidade
39
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...)
40
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
41
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
42
Computação em Nuvem
(Cloud Computing)
Santo André: 20 de fevereiro de 2013

Documentos relacionados

Mercado de TI, Cloud Computing, SaaS, PaaS e IaaS

Mercado de TI, Cloud Computing, SaaS, PaaS e IaaS completo de construção e entrega de aplicações web e serviços totalmente disponíveis a partir da Internet. O PaaS é análogo ao SaaS, exceto que, ao invés de software entregue pela web, é uma plataf...

Leia mais