OCCI » History » Version 1

Marco Gomes, 27 Apr 2012 17:18

1 1 Marco Gomes
h1. OCCI
2 1 Marco Gomes
3 1 Marco Gomes
h2. Objetivo
4 1 Marco Gomes
5 1 Marco Gomes
O escopo deste documento trata de avaliar o uso de soluções de protocolos de comunicação para interoperabilidade entre clouds, avaliando a viabilidade de uma determinada solução para o contexto do projeto Educloud, e se o projeto dispõe de informações suficientes para realizar tal análise e um possível deployment em nosso ambiente de desenvolvimento.
6 1 Marco Gomes
7 1 Marco Gomes
h2. Projeto EduCloud
8 1 Marco Gomes
9 1 Marco Gomes
O projeto Educloud é um projeto para a implementação de uma infraestrutura de cloud computing para a secretaria da educação do estao de São Paulo.
10 1 Marco Gomes
11 1 Marco Gomes
h2. OCCI
12 1 Marco Gomes
13 1 Marco Gomes
O OCCI é um protocolo para realizar interface entre o usuário e as soluções de cloud de uma forma uniforme. Com ela é possível montar um sistema centralizado de gerenciamento de diferentes soluções de cloud, oferecendo dessa forma interoperabilidade e simplicidade de uso. A especificação do OCCI é desenvolvida e mantida pelo Open Grid Forum e disponibilizada para que seja implementada nas soluções de cloud, assim como em ferramentas para realizar validações da implementação de acordo com a especificação.
14 1 Marco Gomes
15 1 Marco Gomes
O OCCI em específico apresenta-se como uma soluçao de protocolo para interoperabilidade de cloud. Até o presente momento não foram encontradas soluções que servem o mesmo propósito. Existem soluções na mesma linha, mas com propósitos diferentes, e são listadas a seguir:
16 1 Marco Gomes
17 1 Marco Gomes
* Amazon EC2: A função é para administrar a cloud oferecida pela Amazon, mas algumas soluções de cloud oferecem suporte para trabalhar com soluções híbridas (publicas + privada);
18 1 Marco Gomes
* CDMI (Cloud Data Management Interface): É uma interface para trabalhar com manipulação de dados de Cloud;
19 1 Marco Gomes
* Open Data Center Alliance: É um consórcio de empresas com intuito de definir standards para cloud computing.
20 1 Marco Gomes
21 1 Marco Gomes
Ela é uma implementação aberta, e tem seus aspectos legais de uso descritos no link a seguir:
22 1 Marco Gomes
23 1 Marco Gomes
http://occi-wg.org/about/legal
24 1 Marco Gomes
25 1 Marco Gomes
Esta tecnologia é implementada pelas principais soluções de cloud open source existentes e existem ferramentas de validação da implementação de acordo com este site: http://occi-wg.org/community/implementations
26 1 Marco Gomes
27 1 Marco Gomes
A questão da adoção varia da necessidade das empresas de possuírem soluções interoperáveis, e até o presente momento não foi encontrada uma referência que pudesse quantificar tal informação.
28 1 Marco Gomes
29 1 Marco Gomes
Dentro do site do projeto, não há uma referência explicita de roadmap para o OCCI. Porém, eles possuem uma wiki https://forge.ogf.org/sf/projects/occi-wg com informações sobre o processo de desenvolvimento, bugfixes e discussões a respeito do projeto. Acredito que por ser uma especificação, deve haver continuidade na elaboração de novas versões da especificação, porém é apenas uma suposição baseada no desenvolvimento que cloud computing está tendo no mundo.
30 1 Marco Gomes
31 1 Marco Gomes
Uso no Projeto Educloud
32 1 Marco Gomes
33 1 Marco Gomes
Os requisitos para o projeto Educloud no contexto de um protocolo de gerenciamento de cloud são:
34 1 Marco Gomes
35 1 Marco Gomes
* Gerenciamento de VMs (listar, criar, suspender, resumir e deletar)
36 1 Marco Gomes
* Interoperabilidade entre soluções de cloud
37 1 Marco Gomes
38 1 Marco Gomes
Posto isso, o OCCI é um protocolo desenvolvido para ser interoperável, oferecer um conjunto de soluções para gerenciamento de cloud tanto em situações de IaaS, PaaS e SaaS. Além disso, ele oferece uma API com alto nível de extensibilidade.
39 1 Marco Gomes
40 1 Marco Gomes
O uso de OCCI é importante para o projeto pois irá adicionar uma camada de interoperabilidade entre as soluções de cloud existentes e com isso teremos a possiblidade de controlar diferentes tipos de soluções através de uma interface centralizada.
41 1 Marco Gomes
As vantagens para o projeto são as já citadas acima, e além disso, a possibilidade da interface poder ser extendida para adicionar funcionalidades de acordo com nossas necessidades.
42 1 Marco Gomes
Uma desvantagem é a provável variação na implementação da interface nas soluções de cloud existentes, podendo culminar em necessidade de retrabalho para nivelar as soluções de cloud em um mesmo patamar de usabilidade da interface.
43 1 Marco Gomes
44 1 Marco Gomes
O uso do OCCI conflita com as soluções de cloud disponíveis pois ela entra com o papel de substituir as interfaces de gerenciamento das soluções de cloud. Mas isso não é visto como um aspecto negativo, pois a idéia de substituir estas interfaces é justamente sua principal função para ser possível também integrar as soluções e centralizar o comando em uma única interface.
45 1 Marco Gomes
46 1 Marco Gomes
A documentação do OCCI no site do projeto é referente à especificação do mesmo. Para o contexto do projeto, a documentação procurada se refere às implementações de OCCI nas soluções de cloud. Logo, temos as seguintes documentações:
47 1 Marco Gomes
48 1 Marco Gomes
* Open Nebula: http://opennebula.org/documentation:rel3.4:occidd
49 1 Marco Gomes
50 1 Marco Gomes
* Open Stack: http://wiki.openstack.org/occi
51 1 Marco Gomes
52 1 Marco Gomes
* Eucalyptus: http://occi-wg.org/2010/12/14/occi-in-eucalyptus/
53 1 Marco Gomes
54 1 Marco Gomes
Pensando em deployment de OCCI não é efetivamente o termo correto a ser utilizado. Como nosso foco é em interoperabilidade, para esta tecnologia é necessário estudar as implementações de OCCI em cada uma das soluções de cloud que iremos utilizar para poder ser criado uma solução que consiga gerenciar as VMs de forma uniforme entre as clouds.
55 1 Marco Gomes
56 1 Marco Gomes
No opennebula, o OCCI é implementado de forma a ser um protocolo sobre HTTP operando através de operações de GET, POST, PUT e DELETE.
57 1 Marco Gomes
58 1 Marco Gomes
No openstack, o OCCI também é implementado sob HTTP, porém aparenta ser uma implementação mais completa que no opennebula, oferecendo uma gama maior de recursos para gerenciamento da VM.
59 1 Marco Gomes
60 1 Marco Gomes
No eucalyptus não foi encontrado documentação falando a respeito da implementação de OCCI.