43
Computação em Nuvem (Cloud Computing) Pesquisa & Desenvolvimento Santo André: 20 de fevereiro de 2013

Computação em Nuvem - hostel.ufabc.edu.brhostel.ufabc.edu.br/~cak/inf003-2013/seminario1_computacao_nuvem... · Computação em Nuvem Computação em Nuvem se refere a Aplicações

  • Upload
    vuthuan

  • View
    233

  • 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

8

Agentes

Aplicação 1

Recursos Físicos

Usuários

Aplicação 2 Desenvolvedor Desenvolvedor

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

12

NIST: Deployment Models

Private cloud

Community cloud

Public cloud

Hybrid cloud

13

Projeto AltoStratus

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

22

An Integrated Composition Model for

Collaboration in the Cloud

IEEE LatinCloud 2012

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

24

Composição de Serviços

Orquestração, Coreografia, Fusão

Fusão

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

36

Ferramenta de Criação de Serviços

37

Middleware: Visão Geral

38

Middleware: Arquitetura

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

Computação em Nuvem (Cloud Computing)

Santo André: 20 de fevereiro de 2013