open cloud computing interface - occi gustavo luiz bastos baptista gbaptista@tecgraf.puc-rio.br...

Post on 18-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Open Cloud ComputingInterface - OCCI

Gustavo Luiz Bastos Baptistagbaptista@tecgraf.puc-rio.br

Abril/2014

Projeto EUBrazilCC

Agenda

• IaaS• OCCI – Visão Geral• OCCI Core

– OCCI Core Model

• OCCI Infrastructure– OCCI Infrastructure Model

• Compute, Network, Storage, Infrastructure Templates

• OCCI RESTful HTTP Rendering– Operações– Exemplos– Considerações de Segurança

• OCCI 4 Java• Implementações• Considerações para o CSGrid

IaaSInfrastructure as a Service

Infrastructure as a Service (IaaS)

• Oferecimento de recursos de TI como serviços acessados na nuvem– Ambiente autocontido - centrado em infraestrutura– Recursos básicos de TI

• Hardware• Rede• Sistemas Operacionais

– Recursos são tipicamente virtualizados• Permitem a escalabilidade• Simplificam a customização

Infrastructure as a Service (IaaS)

• Servidores virtuais são provisionados a partir de contratos de requisitos– Processador, Memória, Armazenamento, Disponibilidade ..

• Provedores de serviços na nuvem podem utilizar IaaS de outros provedores para escalar seus ambientes

Infrastructure as a Service (IaaS)

• Consumidores que requerem alto nível de controle dos recursos do ambiente virtualizado– Consumidor tem total responsabilidade administrativa,

de configuração e utilização– Recursos providos como instâncias virtuais recém inicializadas

(não pré-configuradas)

OCCIOpen Cloud Computing

InterfaceVisão Geral

Open Cloud Computing Interface - OCCI

• OCCI - Visão Geral– Protocolo e API RESTful– API de gerenciamento remoto para

serviços IaaS– Evoluiu para uma API flexível com

foco em• Interoperabilidade• Extensibilidade

– Permite gerenciamento de qualquer tipo de recurso

– Pode servir de base para PaaS e SaaS

– Front-end para Resource Management Framework de um provedor

– Consumidores• Usuários finais• Outros sistemas

Open Cloud Computing Interface - OCCI

• Especificação modular e extensível• Conjunto de 3 documentos complementares: – OCCI Core

• Descreve a definição formal do OCCI Core Model– OCCI Infrastructure

• Contém a definição da extensão para o domínio IaaS• Define tipos de recursos, atributos e ações para cada tipo de

recurso– OCCI HTTP Rendering

• Define como interagir com o modelo através da RESTful OCCI API• Define como o OCCI Core Model pode ser comunicado e

serializado utilizando o protocolo HTTP

OCCI-Core

OCCI-Core

• OCCI-Core Model– Modelo base de abstração de

recursos do mundo real, incluindo formas para• Identificação• Classificação• Associação• Extensão

– É propriamente utilizado apenas em alguns casos de uso limitados• Base na qual os

renderings (e.g. HTTP) e extensões (e.g. Infrastructure) são construídos

– Representação de tipos que podem ser manipulados e estendidos

OCCI-Core

• OCCI-Core Model– Qualquer recurso exposto

através de OCCI é um Resource ou um subtipo do mesmo• E.g. Máquina virtual, job,

usuário ..

– Um Link associa instâncias de Resource

– Entity é um tipo abstrato, do qual Resource e Link herdam

– Cada subtipo de Entity é identificado por uma única instância de Kind

OCCI-Core

• OCCI-Core Model– Kind - Define capacidades

na forma de Actions

– Action - operação invocável aplicável a uma instância de recurso.

– Mixin - mecanismo adicional de extensão • Adição de capacidades(i.e.

Attributes e Actions) a qualquer instância de recurso

• Adição na criação ou tem tempo de execução

OCCI-Core

• OCCI-Core Model– Extensões deste modelo

são descobertas e visíveis por clientes OCCI em tempo de execução• Descoberta de subtipos de

Resource e Link suportado por uma implementação

• Descoberta de Mixins suportados

– Um mesmo Cliente web OCCI pode ser reutilizado como ferramenta de gerenciamento uma variedade de serviços.

OCCI-Infrastructure

OCCI-Infrastructure

• OCCI Infrastructure– Documenta extensão para IaaS que utiliza o OCCI Core Model

– API permite gerenciamento de recursos típicos IaaS• Exemplo

– Criação de uma instância de Compute– Criação de instância de Storage– Associação entre os dois através de um StorageLink

OCCI-Infrastructure

• Resource– Compute – Recursos de processamento de informações.– Network – Recurso de interconexão e representa um recurso de rede.

• Complementado pelo IPNetworkMixin

– Storage – Recursos de armazenamento de informações.

• Link– NetworkInterface – Conecta uma instância de Compute a uma instância de Network.

• Complementado por um IPNetworkInterfaceMixin

– StorageLink – Conecta uma instância de Compute a uma instância de Storage

• OCCI Query Interface– Permite a descoberta de recursos pelos clientes

OCCI-Infrastructure

• Compute– Recurso genérico de processamento de informações

• e.g. Máquina virtual.

OCCI-Infrastructure

• Network– O tipo Network representa uma entidade de rede L2 (e.g. switch virtual). – Pode ser estendido utilizando o mecanismo de Mixin

• E.g. Para suportar capacidades L3/L4 tais como TCP/IP etc.

OCCI-Infrastructure

• IPNetworkingMixin– Para suportar capacidades L3/L4 (e.g. IP, TCP etc.) um Mixin OCCI é

definido e atribuído ao Network

OCCI-Infrastructure

• Storage• Representa recursos que gravam informações para um dispositivo de

armazenamento de dados

OCCI-Infrastructure

• Infrastructure Templates– Permitem clientes aplicar configurações pré-definidas a tipos do

OCCI Infrastructure.

– Eles são implementados utilizando instâncias de Mixins.

– Existe 2 tipos suportados• OS Template

– Permitem clientes especificar qual SO deve ser instalado em um Compute– O gerenciamento de OS Templates é feito pelo implementador– Exemplo

» Provedor possui um OS Template para Ubuntu Linux, 9.10, em um recurso Compute provisionado para um cliente.

OCCI-Infrastructure

• Infrastructure Templates– Resource Template

• Construído sobre o conceito de OS Templates.• É uma instância de Mixin definida pelo provedor que se refere a uma

configuração de Resource pré-determinada.• Exemplo

– Provedor oferece Computes baseados em differentes perfis (i.e., small, medium, large)– Cada perfil corresponde a um conjunto pré-determinado de atributos específicos de

OCCI Resource

OCCI HTTP Rendering

OCCI HTTP Rendering

• Especifica como o OCCI Core Model é utilizado através do protocolo HTTP

• Constrói sobre o conceito de Resource Oriented Architecture (ROA)

– A interação com o sistema é realizada por inspeção e modificação de um conjunto de recursos relacionados e seus estados

– Segue o modelo Representation State Transfer (REST) utilizando o protocolo HTTP• Provê identificação única de recursos através de URLs• Instâncias de recurso dentro de um sistema OCCI tem um

identificador único– E.g. Uniform Resource Name (URN)

• Utiliza verbos HTTP para operar nos recursos– Fracamente mapeados para operações relacionadas a recursos

» Create (POST), Retrieve (GET), Update (POST/PUT) e Delete (DELETE).

OCCI HTTP Rendering

• Verbos HTTP

OCCI HTTP Rendering

• Exemplos– Criação de uma instância de recurso Compute

OCCI HTTP Rendering

• Exemplos– Recuperação de uma instância de recurso Compute

OCCI HTTP Rendering

• Operações– Operações em instâncias de recursos

• Criação de instância de recurso• Recuperação de instância de recurso• Atualização parcial de instância de recurso• Atualização completa de instância de recurso• Remoção de instância de recurso• Disparar Action em instância de recurso

– Tratamento de instâncias de Link• Criação inline de instância de Link• Recuperação de instâncias de recursos de Links definidos• Criação de instâncias de recurso Link• Recuperação de instâncias de recurso Link

OCCI HTTP Rendering

• Operações– Tratamento da OCCI Query Interface

• Recuperação de todos os Kinds, Actions e Mixins• Adicionar definição de Mixin • Remover definição de Mixin

– Operações em caminhos no name-space• Recuperar o estado da hierarquia do name-space• Recuperar todas as instâncias de recursos em um caminho• Remover todas as instâncias de recursos em um caminho

– Operações em Mixins ou Kinds• Recuperar todas as instâncias pertencentes a um Mixin ou Kind• Disparar Actions em todas as instâncias de um Mixin ou Kind• Associar instâncias de recursos com um Mixin• Atualização completa de uma coleção de Mixins• Dissociação de instância de recurso de um Mixin

OCCI HTTP Rendering

• Considerações de Segurança– Utiliza os mecanismos relacionados ao HTTP para segurança

• Implementações devem oferecer Transport Layer Security (TLS)

– A autenticação deve ser realizada pelos mecanismos de autenticação do HTTP• HTTP Basic ou Digest Auth

– Perfis adicionais podem especificar outros métodos• Devem garantir que o esquema de autenticação selecionado possa ser

utilizado com os protocolos relacionados a HTTP

Implementações

Implementações

OpenStack

OpenStack

Considerações

Considerações

• Considerações gerais– O OCCI Infrastructure permite lidar com o modelo IaaS– Futuras extensões para PaaS e SaaS podem ser feitas a partir do OCCI

Core Model (existem apenas propostas acadêmicas)

• Considerações para o CSGrid– Considerando IaaS como modelo, a interação via OCCI permite apenas

a alocação e gerenciamento de recursos virtualizados– O controle do que é executado nos recursos pertence ao consumidor,

neste caso o CSGrid• Algum componente no CSGrid (e.g. Gateway) deverá fazer a intermediação

do escalonamento CSGrid, a alocação e utilização de recursos virtualizados na cloud– Componente deverá utilizar API cliente para geração/parsing de

requisições/ respostas HTTP OCCI» E.g. OCCI4Java

Fim

top related