aplicando jclouds para computação em alto desempenho€¦ · api blobstore . modelo de...

13
Aplicando JClouds para Computação em Alto Desempenho II Escola Regional de Alto Desempenho de São Paulo ERAD-SP 2011 Orientador: Prof. Dr. Cesar A. C. Marcondes

Upload: others

Post on 06-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

Aplicando JClouds para Computação em Alto Desempenho

II Escola Regional de Alto Desempenho de São Paulo

ERAD-SP 2011

Orientador: Prof. Dr. Cesar A. C. Marcondes

Page 2: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

JClouds ~ Multi-cloud library ~

Aplicando JClouds para Computação de Alto Desempenho 2

Page 3: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

Aplicando JClouds para Computação de Alto Desempenho 3

Page 4: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

É um meio portátil de gerenciar nós nas nuvens, isto é, através dela podem-se executar vários nós como um conjunto, independentemente da API da nuvem subjacente.

Possui um recurso de criação de modelos (Templates) que permite a busca de configurações que correspondem aos parâmetros como núcleos de CPU, memória RAM ou sistema operacional, permitindo uma alta customização durante a criação de um nó

Aplicando JClouds para Computação de Alto Desempenho 4

API Compute

Page 5: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

É um mapa de chave-valor, onde há uma conta existente e pode-se criar recipientes (Containers) para armazenar dados como um objeto binário cada um sendo referenciado por um nome.

É um meio portátil que os provedores de armazenamento em nuvem utilizam para gerenciar mapas de chave-valor, como o Microsoft Azure Blob Service, Amazon S3 e Rackspace Cloud Files.

Aplicando JClouds para Computação de Alto Desempenho 5

API BlobStore

Page 6: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

Modelo de Funcionamento da API ~JClouds API ~

Java code

Jclouds API

code (Java)

Application Cloud Provider

API

POST

GET

PUT

DELETE

...

Change password

Create

List

Update

Delete

ReST HTTP

JSON

Request

Server

Response

JSON

Aplicando JClouds para Computação de Alto Desempenho 6

Page 7: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

ComputeServiceContext context =

new ComputeServiceContextFactory().createContext(

"cloudservers-us", wiring, overrides

);

CloudServersClient rackspaceClient =

CloudServersClient.class.cast(

context.getProviderSpecificContext().getApi()

);

BaseComputeService client =

BaseComputeService.class.cast(context.getComputeService());

JClouds API ~ Criando o contexto ~

Context

Aplicando JClouds para Computação de Alto Desempenho 7

Page 8: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

JClouds API

Template nodeToCreate = context.getClient().templateBuilder()

.osFamily(OsFamily.UBUNTU)

.osVersionMatches("10.10")

.minCores(2)

.minRam(minRam)

.options(options).build();

~ Criando Servidores ~

...

Aplicando JClouds para Computação de Alto Desempenho 8

Set<? extends NodeMetadata> nodes =

context.getClient().createNodesInGroup(

nodeGroupName,

numberOfNodes,

nodeToCreate);

System.out.println("Creating nodes ...");

Page 9: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

JClouds API

context.getClient().rebootNode(node);

context.getRackspaceClient().resizeServer(serverid, 3);

context.getClient().destroyNode(nodeToDelete);

~ Outras operações ~

Aplicando JClouds para Computação de Alto Desempenho 9

Page 10: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

API em Ação

Aplicando JClouds para Computação de Alto Desempenho 10

Criando Servidores (Nós) no Rackspace

Mostrando Dashboard do Rackspace

Page 11: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

API em Ação

Aplicando JClouds para Computação de Alto Desempenho 11

Apagando Servidores (Nós) no Rackspace

Mostrando Dashboard do Rackspace

Page 12: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

Site do Projeto da API JClouds, http://code.google.com/p/jclouds/, acesso: 22 de Maio de 2011.

Rackspace Hosting, http://www.rackspace.com/cloud/, acesso: 25 de Julho de 2011.

Referências

Aplicando JClouds para Computação de Alto Desempenho 12

Page 13: Aplicando JClouds para Computação em Alto Desempenho€¦ · API BlobStore . Modelo de Funcionamento da API ~JClouds API ~ Java code Jclouds API code (Java) Application Cloud Provider

Aplicando JClouds para Computação de Alto Desempenho 13

Perguntas?

Contato: [email protected]

[email protected]