• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Apresentacao gt cnc-workshop_iniciliazicao_fase2
 

Apresentacao gt cnc-workshop_iniciliazicao_fase2

on

  • 256 views

workshop inicialização GT-CNC Fase 2

workshop inicialização GT-CNC Fase 2

Statistics

Views

Total Views
256
Views on SlideShare
256
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Modelos de serviços Software as a Service (SaaS) consumidor utiliza aplicativos do provedor rodando em uma infraestrutura de nuvem As aplicações são acessíveis a partir de diversos dispositivos clientes O consumidor não administra e nem controla a infra-estrutura de nuvem, nem o aplicativo  Contorle sobre a configuração de aplicativos Plataforma como Serviço (PaaS ) A capacidade fornecida ao consumidor destina-se à infra-estrutura criada ou comprada pelo consumidor para a nuvem, criada usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implementados e possivelmente sobre as configurações para o ambiente de hospedagem de aplicativos. Infra-estrutura como serviço (IaaS) O consumidor dispõe de provisionamento de processamento, armazenamento, redes e outros recursos de computação fundamentais onde o consumidor é capaz de implementar e executar softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implementados, e possivelmente um controle limitado de componentes de rede selecionados (por exemplo,  firewalls  do  host ).
  • Modelos de serviços Software as a Service (SaaS) consumidor utiliza aplicativos do provedor rodando em uma infraestrutura de nuvem As aplicações são acessíveis a partir de diversos dispositivos clientes O consumidor não administra e nem controla a infra-estrutura de nuvem, nem o aplicativo  Contorle sobre a configuração de aplicativos Plataforma como Serviço (PaaS ) A capacidade fornecida ao consumidor destina-se à infra-estrutura criada ou comprada pelo consumidor para a nuvem, criada usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implementados e possivelmente sobre as configurações para o ambiente de hospedagem de aplicativos. Infra-estrutura como serviço (IaaS) O consumidor dispõe de provisionamento de processamento, armazenamento, redes e outros recursos de computação fundamentais onde o consumidor é capaz de implementar e executar softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implementados, e possivelmente um controle limitado de componentes de rede selecionados (por exemplo,  firewalls  do  host ).
  • Modelos de serviços Software as a Service (SaaS) consumidor utiliza aplicativos do provedor rodando em uma infraestrutura de nuvem As aplicações são acessíveis a partir de diversos dispositivos clientes O consumidor não administra e nem controla a infra-estrutura de nuvem, nem o aplicativo  Contorle sobre a configuração de aplicativos Plataforma como Serviço (PaaS ) A capacidade fornecida ao consumidor destina-se à infra-estrutura criada ou comprada pelo consumidor para a nuvem, criada usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implementados e possivelmente sobre as configurações para o ambiente de hospedagem de aplicativos. Infra-estrutura como serviço (IaaS) O consumidor dispõe de provisionamento de processamento, armazenamento, redes e outros recursos de computação fundamentais onde o consumidor é capaz de implementar e executar softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implementados, e possivelmente um controle limitado de componentes de rede selecionados (por exemplo,  firewalls  do  host ).
  • Modelos de serviços Software as a Service (SaaS) consumidor utiliza aplicativos do provedor rodando em uma infraestrutura de nuvem As aplicações são acessíveis a partir de diversos dispositivos clientes O consumidor não administra e nem controla a infra-estrutura de nuvem, nem o aplicativo  Contorle sobre a configuração de aplicativos Plataforma como Serviço (PaaS ) A capacidade fornecida ao consumidor destina-se à infra-estrutura criada ou comprada pelo consumidor para a nuvem, criada usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implementados e possivelmente sobre as configurações para o ambiente de hospedagem de aplicativos. Infra-estrutura como serviço (IaaS) O consumidor dispõe de provisionamento de processamento, armazenamento, redes e outros recursos de computação fundamentais onde o consumidor é capaz de implementar e executar softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implementados, e possivelmente um controle limitado de componentes de rede selecionados (por exemplo,  firewalls  do  host ).
  • Modelos de serviços Software as a Service (SaaS) consumidor utiliza aplicativos do provedor rodando em uma infraestrutura de nuvem As aplicações são acessíveis a partir de diversos dispositivos clientes O consumidor não administra e nem controla a infra-estrutura de nuvem, nem o aplicativo  Contorle sobre a configuração de aplicativos Plataforma como Serviço (PaaS ) A capacidade fornecida ao consumidor destina-se à infra-estrutura criada ou comprada pelo consumidor para a nuvem, criada usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implementados e possivelmente sobre as configurações para o ambiente de hospedagem de aplicativos. Infra-estrutura como serviço (IaaS) O consumidor dispõe de provisionamento de processamento, armazenamento, redes e outros recursos de computação fundamentais onde o consumidor é capaz de implementar e executar softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. O consumidor não administra e nem controla a infra-estrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implementados, e possivelmente um controle limitado de componentes de rede selecionados (por exemplo,  firewalls  do  host ).
  • Um contêiner é um compartimento de armazenamento de objetos que possibilita a organização dos objetos; ele pode ser comparado a uma pasta do Windows , mas contêineres não podem ser aninhados tal como as pastas.
  • Uma zona é um agrupamento de dispositivos realizado dentro do anel. Este agrupamento pode ser por localização física, separação por unidades de energia, separação por redes ou de qualquer outro atributo que possa reduzir a chance de tornar indisponível múltiplas réplicas ao mesmo tempo. Uma zona pode representar um servidor, um switch ou um datacenter . A replicação de objetos é realizada em zonas separadas.  
  • O anel determina onde os dados devem residir no cluster. Ele representa um mapeamento entre os nomes de entidades armazenadas em disco e sua localização física. Existem anéis separados para contas, contêineres e objetos. O anel mantém o mapeamento utilizando zonas, dispositivos, partições ou réplicas. Quando outros componentes precisam realizar qualquer operação em um objeto, contêiner ou conta, eles precisam interagir com um anel específico para determinar a localização no cluster.
  • Os dados no proxy são sincronizado entre todos os proxys
  • Metadado armazenado nos atributos extendidos do arquivo (nem todo sistema de arquivo dá suporte para isso) Deleta, recupera e insere blobs Cada objeto é armazenado utilizando um caminho derivado do nome do hash do objeto e de um timestamp .
  • Cada um é um middleware que deve ser configurado
  • Cada um é um middleware que deve ser configurado
  • Cada um é um middleware que deve ser configurado
  • Token tem tempo de vida por defoult de 24 horas

Apresentacao gt cnc-workshop_iniciliazicao_fase2 Apresentacao gt cnc-workshop_iniciliazicao_fase2 Presentation Transcript

  • GT-CNCComputação em Nuvem para Ciência Lucas Melo Silva lucasmelo@ufpa.br Workshop Inicialização GT-CNC Fase 2 Nov/2012
  • Sumário• Introdução• Overview do Openstack Swift• A Arquitetura do Protótipo• Referências GT-CNC
  • IntroduçãoObjetivos:• Apresentar o panorama geral da arquitetura Openstack Swift• Apresentar a arquitetura do protótipo de armazenamento em nuvem GT-CNC
  • A Ferramenta Selecionada Processament Networking Armazenamento o GT-CNC
  • A Ferramenta SelecionadaUsabilidade: Clientes e ferramenta administrativas swift Rackspace Hosting app GT-CNC
  • Ferramenta SelecionadaUsabilidade: APIs de acesso a nuvem swift GT-CNC
  • Ferramenta SelecionadaOpenstack SwiftBenefícios • Compatibilidade com protocolo S3; swift • Acoplagem com nuvem de processamento; • Replicação/backup de dados; • Disponibiliza interfaces para acesso por meio de APIs; • Autenticação/ Autorização; • Comunicação segura entre cliente e servidor. • Comunidade ativa GT-CNC
  • Ferramenta SelecionadaOpenstack SwiftLimitações swift • Não utiliza criptografia para proteger os dados dos clientes; • Não possui autenticação federada; • Suporte a limitação de armazenamento por usuários em desenvolvimento pela comunidade; • Suporte a Webdav em desenvolvimento pela comunidade. GT-CNC
  • Composição do SwiftAlguns Conceitos Iniciais GT-CNC
  • Composição do Swift: Conceitos iniciaisNó: • É um servidor que oferecerá um ou mais serviços do Swift • Pode ser virtualizadoObjeto: • É o arquivo armazenado na nuvem • Possui forma binária (binary large object - blob) • Armazenado junto com seus metadados GT-CNC
  • Composição do Swift: Conceitos iniciaisContêiner: • É um compartimento de objetos • Tem o objetivo de organizar objetos • É comparável a diretórios e pastasPeso (Weight): • Usado para estabelecer prioridades entre dispositivos de armazenamento • Reequilibrar dispositivos sobrecarregados ou menos usados GT-CNC
  • Composição do Swift: Conceitos iniciaisZona: • Agrupamento de dispositivos • Objetivo de aumentar disponibilidade • Pode ser definido por diferentes critérios, como: • Localização física • Unidades de energia • Redes • Datacenter, servidor, switch, etc GT-CNC
  • Composição do Swift: Conceitos iniciaisAnel de hashing consistente (consistente hashing ring): • Mapeia a localização física de cada objeto, conta e contêiner • É o “Coração” da escalabilidade horizontal • Usa técnica de hashing consistente Conjunto de mapeamentos hash: <ID, Local> Anel GT-CNC
  • Composição do Swift: ServidoresComponentes macros:•Servidor Proxy (Proxy Server)•Servidor de Contas (Account Server)•Servidor de Contêiner (Container Server)•Servidor de Objetos (Object Server) GT-CNC
  • Composição do Swift: ServidoresComponente macro: Servidor Proxy• É o responsável pela comunicação com componentes do swift• Disponibiliza API pública• Trata certas falhas (ex.: falha de um nó)• Intermediário em operações de envio e recebimento de arquivos• Mantém os anéis de mapeamento, encaminhando requisições parao nó de armazenamento correto GT-CNC
  • Composição do Swift: ServidoresComponente macro: Servidor de Contas•Lista contêineres pertencentes a cada contaComponente macro: Servidor de Contêiner• Lista objetos pertencentes a cada contêiner• Não conhece a localização dos objetos• Mantém estatística de armazenamento e quantidade de objetos GT-CNC
  • Composição do Swift: ServidoresComponente macro: Servidor de Objetos• Armazenamento dos blobs nos dispositivos de armazenamento• Mantém metadados para cada objeto• Mantém versionamento dos objetos GT-CNC
  • Composição do Swift Autenticação e Autorização GT-CNC
  • Composição do Swift: AutenticaçãoPapéis de usuários:• Usuário normal: capaz de realizar apenas funcionalidades gerais• Administrador: gerencia usuários de um grupo• Admin. “Revendedor”: gerencia qualquer grupo e qualquer usuário• Super Admin.: Possui todos os privilégios, inclusive criaradministrador “revendedor” GT-CNC
  • Composição do SwiftFormas de autenticação:• tempAuth• swAuth• Keystone. GT-CNC
  • Composição do Swift: AutenticaçãoForma de autenticação: tempAuth• Primeiro middleware WSGI (Web Server Gateway Interface) criadopara o swift• Usado para ambiente de teste e desenvolvimento: • Armazena dados em um arquivo de configuração em texto plano• Recebe credenciais e retorna um token de autenticação GT-CNC
  • Composição do Swift: AutenticaçãoForma de autenticação: swAuth• Middleware WSGI criado por terceiros.• Usa a própria estrutura do swift para ser uma estrutura maisescalável. • Objeto Swift no formato JSON com restrições de leitura. GT-CNC
  • Composição do Swift: AutenticaçãoForma de autenticação: Keystone• Integra os diversos projetos do Openstack• Foi adotado como padrão apenas recentemente• Papéis de usuário mais flexível (papéis customizáveis)• Acoplável a alguns backends, como LDAP, SQL, dentre outros [2] GT-CNC
  • Composição do SwiftMecanismos para melhorar confiabilidade/consistência[3]:• Replicação• Auditoria• Atualizador (updater) GT-CNC
  • Composição do SwiftMecanismo para melhorar consistência: Replicação Zona 1 Objeto Servidor Zona 2 Proxy Zona 3 Zona 4 GT-CNC
  • Arquitetura do Protótipo GT-CNC
  • Casos de Uso do Protótipo Cópia de Arquivos Sincronização de Arquivos Compartilhamento de Arquivos Usuário A Usuário B
  • Arquitetura do Protótipo HTTPS Armazenamento (UFPA) Balanceador de carga Zona 1 Zona 3 Zona 2 UFPA SSH UFSC • Proxy • Autenticação Zona 4 Zona 5 • Autorização Armazenamento (UFSC) GT-CNC
  • Arquitetura do ProtótipoComponentes do Protótipo:Balanceador de Carga: round-robin DNSNós: • Cada nó possui os 3 serviços (Servidor de objetos, contas e contêineres) • Cada servidor possui 4 nós virtualizadosZonas: • 3 na UFPA • 2 na UFSCInterface compatível com protocolo S3 GT-CNC
  • Arquitetura do Protótipo• 2 Servidores Proxy: UFPA UFSC Hardware Hardware CPU: 2 CPU: 2 Memória RAM: 3 GB Memória RAM: 2 GB HDD: 12 GB HDD: 12 GB IP: 200.129.132.69 IP 150.162.66.40 Sistema Operacional Sistema Operacional Ubuntu 12.04 Server Ubuntu 12.04 Server Sistema Operacional: 8GB HDD Sistema Operacional: 10 GB HDD Sistema de Arquivos: Ext4 Sistema de Arquivos: Ext4 Swap: 4GB HDD Swap: 2 GB HDD GT-CNC
  • Arquitetura do Protótipo • Servidores com os 3 tipos de serviço (contêiner, conta, objeto): UFPA Nós de Armazenamento - 1~3 Nós de Armazenamento - 4Hardware HardwareRAM: 768 MB RAM: 768 MBCPU: 1 CPU: 1HDD: 450 GB HDD: 148GBSistema Operacional Sistema OperacionalUbuntu 12.04 ServerSistema de Arquivos: Ext4 (raiz) e Ubuntu 12.04 ServerXFS (swift) Sistema de Arquivos: Ext4 (raiz) e XFS (swift)Sistema Operacional: 48GB HDD Sistema Operacional: 48GB HDDSwap: 2GB HDD Swap: 2GB HDDArmazenamento Swift: 400GB Armazenamento Swift 1: 100GB HDDHDD Armazenamento Swift 2: 2TB através de Storage Externo GT-CNC
  • Arquitetura do Protótipo• Servidores com os 3 tipos de serviço (contêiner, conta, objeto): UFSC Nós de Armazenamento – 1~4 Hardware RAM: 1 GB CPU: 1 HDD: 450 GB IP: 150.162.66.41 ~ 44 Sistema Operacional Ubuntu 12.04 Server Sistema de Arquivos: Ext4 (raiz) e XFS (swift) Sistema Operacional: 48GB HDD Swap: 2GB HDD Armazenamento Swift: 400 GB HDD GT-CNC
  • Arquitetura do ProtótipoConfigurações do protótipo:Anel • Um anel para cada serviço (objetos, contêineres, contas) • Anel criado no proxy e distribuído para todos os nósReplicação: • 3 réplicas para cada objeto, contêiner e contaPartições: • 100 para cada driveAutenticação: swAuth GT-CNC
  • FIM Obrigado, Perguntas? GT-CNC
  • Referências• [1] http://greg.brim.net/page/building_a_consistent_hashing_ring.html• [2] http://docs.openstack.org/developer/keystone/architecture.html• [3] http://docs.openstack.org/developer/swift/overview_architecture.html• [4] http://rsync.samba.org/ GT-CNC