Grupo de Pesquisa em
Software e Hardware Livre Joinville
Computação em Nuvem
&
OpenStack
Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista
2 ● Definições ● Características ● Principais classificações: ● Modelos de Serviços ● Modelos de implantação ● Arquitetura de referência
● Soluções de nuvem de código
aberto
● OpenStack
3
Data Centers e Computação sob demanda
● Data Centers fornecem uma grande capacidade computacional,
porém com demanda limitada
● Ex.: Entrega do Imposto de Renda
– A maioria das declarações são entregues no último dia – Se uma organização contratar processamento de um
provedor:
● Os servidores ficarão ociosos parte do tempo; ou
● O cluster deverá ser manualmente reconfigurado para
atender a demanda final; ou
● Faltará recursos para a aplicação
● Alternativa: e se estes recursos computacionais fossem similares
4
Utility Computing
● Utility Computing ou Computação sob demanda: ● Recursos Computacionais são:
– Fornecidos automaticamente conforme a necessidade – Tarifados de acordo com o consumo
● Exemplos de uso:
– Oferecer serviços sem precisar comprar infraestrutura
● Baixo custo de investimento para novas empresas de
serviços
– Atender de forma automática picos em demanda
● Pensem no último dia de submissão do Imposto de
5
Utility Computing x Data Centers Tradicionais
● Data Centers (ainda) não fornecem Utility Computing: ● Data Centers tradicionais: “Eu recebo o que pago” ● Utility Computing: “Eu pago o que recebo”
● Data Centers geralmente não possuem mecanismos
para alocar automaticamente recursos para os usuários conforme a demanda
6
Dinâmica da carga de trabalho
típica em Data Centers
7
8
Conceito de Computação em Nuvem
● Paradigma onde recursos computacionais residem em
data centers distribuídos, sendo oferecidos como
serviços de forma escalável e elástica e utilizados de forma transparente de qualquer lugar
● Recursos podem ser aplicações, armazenamento,
9
Origem do termo “Cloud Computing”
● “Comes from the early days of the Internet where we
drew the network as a cloud… we didn’t care where the messages went… the cloud hid it from us” – Kevin
Marks, Google
● Primeira nuvem em torno de redes (abstração TCP/IP) ● Segunda nuvem em torno de documentos (abstração
dos dados WWW)
● As nuvens emergentes abstraem a complexidade de
infraestrutura quanto a servidores, aplicativos, dados e plataformas heterogêneas
10
Computação em Nuvem: Relações
● Tecnologias correlatas:
● Utility Computing:
– Computação como uma ferramenta disponibilizada via serviços
● Computação em Grade:
– Grade: fornecer recursos computacionais como ferramentas que
podem ser alocadas ou liberadas
– Nuvem: provisionamento sob demanda (escalabilidade
automática)
● SOA
– Padrão arquitetural e estratégia para desenvolvimento de
soluções
11
Computação em Nuvem: Definição
●
NIST Special Publication SP 800-145(Draft
01/2011)
–
“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.”
12
Computação em Nuvem: Características
●
Cinco características essenciais (NIST):
●
On-demand self-service
●
Pool de recursos com independência de
localização
●
Acesso via rede
●
Elasticidade
13
Computação em Nuvem: Características
● On-demand self-service:
● Usuário pode provisionar recursos computacionais conforme
necessitar, de forma automática, sem demandar interação manual do provedor
– Exemplo: + CPU, + armazenamento
● Elasticidade:
● Recursos podem ser rapidamente provisionados (de forma
automática ou não) para atender aumento de demanda,
● De forma análoga, recursos podem ser rapidamente desalocados
caso não haja demanda
● Consumidor frequentemente tem a impressão que os recursos
disponíveis para alocação são ilimitados e podem ser alocados a qualquer hora, em qualquer quantidade
14
Computação em Nuvem: Características
● Pool de Recursos:
● Recursos em pool para atender múltiplos consumidores - modelo multi-tenant – Infraestrutura deve ser capaz de compartilhar recursos entre diversos
usuários/empresas, com garantia de isolamento de dados entre elas
● Recursos físicos virtuais dinamicamente alocados de acordo com a demanda
do consumidor
– Exemplo de recursos: armazenamento, processamento, memória,
banda, virtual machines
● Recursos podem estar em Data Centers distribuídos pelo mundo (até
transparente)
● Consumidor geralmente não tem controle/conhecimento da localização exata
dos recursos
● Pode ser possível de se especificar localização em diferentes níveis – Exemplo: país, região, Data Center, ...
15
Computação em Nuvem: Características
● Acesso via Rede:
● Recursos devem estar disponíveis via rede (tipicamente via Internet)
● Acesso via mecanismos padronizados que permitam o acesso via múltiplas
plataformas
– Exemplo: não só a partir de PCs, mas cada vez mais considerando
acesso de celulares (smartphones) e outros dispositivos móveis (netbooks, e-readers, tablets, ....)
● Serviço Mensurável:
● Serviço deve fornecer métricas de uso
● Dois modelos de tarifação são mais comuns:
– Conforme uso (modelo de Utility Computing): banda, CPU, espaço em
disco, transações, etc.
16
Classificação Nuvens Computacionais
● Nuvens chegaram ao mercado antes de uma
padronização
● Resultado: Nomes de produto versus tipos
● Modelo de classificação mais aceitos são os do NIST.
Duas Classificações principais:
● Modelo SPI
17
Classificação: Modelo SPI (NIST)
● Modelo SPI – Software/Platform/Infrastructure: ● SaaS (Software-as-a-Service)
● PaaS (Platform-as-a-Service)
18
19
Modelo SPI: SaaS
● SaaS (Software-as-a-Service):
● Aplicação final executando na nuvem ● Aplicação mantida pelo provedor
● Usuário controla apenas dados e configurações da
aplicação
● Exemplo: web-based e-mail, Flicker, Salesforce.com,
20
Modelo SPI: PaaS
● PaaS (Platform-as-a-Service):
● Aplicações criadas por usuários ou adquiridas de
terceiros
● Aplicações usam APIs, ferramentas e linguagem de
programação suportadas pelo provedor
● Usuário controla aplicação, podendo controlar
aspectos de hospedagem da mesma
21
Modelo SPI: IaaS
● IaaS (Infrastructure-as-a-Service):
● São fornecidos recursos computacionais
fundamentais (processamento, armazenamento, rede, etc.)
● Exemplo: Amazon EC2 / S3, Rackspace Cloud
Server / CloudFiles, Locaweb Cloud Server, UOL Cloud Prime
22
23
24
25
Modelo de Implantação
●Tipos:
●Nuvem Privada
●Nuvem Comunitária
●Nuvem Pública
●Nuvem Híbrida
26
Modelo de Implantação (NIST)
● Nuvem Privada:
● Somente uma entidade usa a nuvem
● Tipicamente dentro dos limites da entidade
● Pode estar em ambiente terceirizado e/ou com gerenciamento
terceirizado
● Exemplo: Nuvem da USP, Nuvem da Empresa X ● Nuvem Comunitária:
● Extensão da Nuvem Privada
● Uso compartilhado por diversas entidades, com foco nas
necessidades de uma comunidade
27
Modelo de Implantação (NIST)
● Nuvem Pública: ● Uso Público
● Uma organização é dona da infraestrutura e vende os
serviços de nuvem
● Nuvem Híbrida:
● Infraestrutura é composta de duas ou mais nuvens
(Privada, Comunitária ou Pública) interligadas por padrões e/ou mecanismos proprietários
● Portabilidade de dados e aspectos de gerenciamento
para atender características de nuvens computacionais
28
29
30
31
32
33
Principais licenças das nuvens
computacionais de código aberto
34
Linguagens usadas nas nuvens
computacionais de código aberto
35
36
OpenStack Foundation
● http://www.openstack.org ● Comitê técnico:
● Responsável pela administração técnica do OpenStack ● Corpo diretor:
● Realiza a organização lógica e financeira da fundação ● Três níveis: Platinum, Gold e Individual
– 8 Platinum, 8 Gold e 8 Individual
● Comitê de usuários:
37
38
Desenvolvedores do OpenStack
●
Desenvolvedor por empresa que auxiliam o
39
40
41
42
43
44
45