Computação em Nuvem & OpenStack Grupo de Pesquisa em Software e Hardware Livre Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista Joinville
Roteiro 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 2
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 a forma como água e luz são consumidas? 3
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 Renda 4
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 Alocação é feita manualmente e em geral é estática 5
Dinâmica da carga de trabalho típica em Data Centers 6
Evolução para Computação em Nuvem 7
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, middleware, processamento, etc.. 8
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 9
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 Computação em nuvem é uma solução orientada a serviços 10
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. 11
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 Serviço mensurável 12
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 13
Computação em Nuvem: Características Pool de Recursos: Recursos em pool para atender múltiplos consumidores - modelo multi-tenant Recursos físicos virtuais dinamicamente alocados de acordo com a demanda do consumidor Infraestrutura deve ser capaz de compartilhar recursos entre diversos usuários/empresas, com garantia de isolamento de dados entre elas 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,... 14
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. Serviço por assinatura (mensal/anual) 15
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 Modelos de implantação 16
Classificação: Modelo SPI (NIST) Modelo SPI Software/Platform/Infrastructure: SaaS (Software-as-a-Service) PaaS (Platform-as-a-Service) IaaS (Infrastructure-as-a-Service) 17
Modelo SPI Aprimorado 18
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, MS-Live, Google Apps (Docs, Reader, etc.) 19
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 Exemplo: Google Apps Engine e MS-Azure 20
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 21
SPI: Diferentes combinações 22
SPI: Controle e Responsabilidade 23
Modelo SPI: usuários 24
Modelo de Implantação Tipos: Nuvem Privada Nuvem Comunitária Nuvem Pública Nuvem Híbrida 25
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 Exemplo: Nuvem Acadêmica, Governamental, etc. 26
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 Exemplo: resiliência, balanceamento de carga 27
Modelo de Implantação (NIST) 28
Modelo de Referência (NIST) 29
Computação em Nuvem: Elementos 30
Soluções de Nuvens Abertas 31
Linha do tempo Nuvens Computacionais 32
Principais licenças das nuvens computacionais de código aberto 33
Linguagens usadas nas nuvens computacionais de código aberto 34
Nuvens abertas IaaS 35
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: Defesa do usuário e retorno (feedback) 36
OpenStack: versões 37
Desenvolvedores do OpenStack Desenvolvedor por empresa que auxiliam o desenvolvimento: 38
Desenvolvedores do OpenStack 39
Desenvolvedores do OpenStack 40
Componentes OpenStack 41
Funcionalidade dos serviços do OpenStack 42
Componentes OpenStack 43
Solicitação de Criação de uma VM 44
Referências www.openstack.org https://access.redhat.com/products/cloud/openstack/ www.brasilopenstack.com.br/ http://csrc.nist.gov/publications/nistpubs/800-144/sp800-144.pdf http://csrc.nist.gov/publications/nistpubs/800-145/sp800-145.pdf http://csrc.nist.gov/publications/nistpubs/800-146/sp800-146.pdf 45