OpenStack

OpenStack é um software de código aberto, capaz de gerenciar os componentes de múltiplas infraestruturas virtualizadas. Assim como o sistema operacional gerencia os componentes de nossos computadores, o OpenStack é chamado de Sistema Operacional da Nuvem, por cumprir o mesmo papel em maior escala. É considerado uma plataforma de software, por fornecer APIs que, em conjunto, são capazes de controlar todos os recursos disponíveis na oferta dessa infraestrutura: máquinas virtuais, rede, armazenadores e balanceadores de carga. Até mesmo um painel de controle web está presente entre o conjunto de software do OpenStack – a maior parte escrita em Python.

O OpenStack é um conjunto de projetos de software de código aberto usados para configurar e operar infraestrutura de computação e armazenamento em nuvem. A Rackspace (provedor de infraestrutura americano) e a NASA (agência espacial americana) foram os principais contribuidores iniciais para o projeto. A Rackspace forneceu sua plataforma “Cloud Files” para implementar o aspecto de armazenamento (Object Storage) do OpenStack, enquanto que a NASA entrou com o “Nebula” para implementar o lado computacional (Compute).

O consórcio OpenStack, desde então, agregou mais de 100 membros em menos de um ano, incluindo a Canonical (responsável pelo Ubuntu), Dell, Citrix, Red Hat, IBM, Cisco, Hewlett-Packard, SUSE, VMware, Yahoo!, entre outros.

O OpenStack apresenta seus serviços através de APIs compatíveis com os serviços EC2 e S3 da Amazon AWS e, portanto, aplicações escritas para estes serviços do AWS podem ser usados com OpenStack também.

Há 3 famílias de serviço principais no OpenStack, mais conhecidos por seus nomes próprios:

  • Infraestrutura Computacional (Nova)
  • Infraestrutura de Armazenamento (Swift)
  • Gerenciamento de Imagens (Glance)

Infraestrutura Computacional (Nova)
Nova é o gerenciador da infraestrutura computacional de uma nuvem OpenStack. Todas as atividades necessárias para manter o ciclo de vida das instâncias de uma nuvem OpenStack são controlados pelo Nova. Ele gerencia todas as necessidades de recursos computacionais, rede, autorização, e escalabilidade da nuvem. O Nova é uma plataforma de gerenciamento, mas não possui nenhuma capacidade de virtualização em si mesmo; ao invés disto, ele usa as APIs libvirt para interagir com os hypervisors suportados. Os serviços são disponibilizados pelo Nova através de web services compatíveis com os da Amazon.

Funções e Funcionalidades:

  • Gerenciamento do ciclo de vida das instâncias de máquinas virtuais
  • Gerenciamento dos recursos computacionais;
  • Rede e Autorização
  • API REST;
  • Comunicação assíncrona “eventualmente consistente”;
  • Suporte a múltiplos hypervisors: Xen, XenServer/XCP, KVM, UML, VMware, vSphere e Hyper-V.

Componentes
O Nova é composto dos seguintes componentes principais:

  • API Server (nova-api)
  • Message Queue (rabbit-mq server)
  • Compute Workers (nova-compute);
  • Network Controller (nova-network)
  • Volume Worker (nova-volume)
  • Scheduler (nova-scheduler)

Infraestrutura de Armazenamento (Swift)
O Swift implementa um repositório de armazenamento de objetos eventualmente consistente. Ele é equivalente ao serviço S3 da Amazon (Simple Storage Service). O Swift é capaz de armazenar bilhões de objetos distribuídos através dos nodos. Ele provê redundância e gerenciamento de falha, e é capaz de realizar arquivamento e streaming de mídia. É extremamente escalável tanto em termos de tamanho (vários petabytes) como capacidade (quantidade de objetos).

Funções e Funcionalidades:

  • Armazentamento de um grande número de objetos
  • Armazenamento de objetos de grande tamanho
  • Redundância de Dados
  • Capacidade de Arquivamento – Trabalha com grandes datasets
  • Repositório de dados para máquinas virtuais e aplicações
  • Capacidade de streaming de mídia
  • Armazenamento seguro de objetos
  • Backup e Arquivamento
  • Extremamente escalável

Componentes:

  • Swift Proxy Server
  • Swift Object Server
  • Swift Container Server
  • Swift Account Server
  • O Anel

Gerenciamento de Imagens (Glance)
O Gerenciamento de Imagens é um sistema de busca e armazenamento de imagens de máquinas virtuais. Ele pode ser configurado para usar um dos seguintes serviços de armazenamento:

Funções e Funcionalidades:

  • Swift
  • Amazon S3 diretamente;
  • Amazon S3 com Swift como intermediário.
  • Funções e Funcionalidades
  • Provê gerenciamento de imagens.

Componentes:

Glance-control
Glance-registry

Ilustrações da Arquitetura do OpenStack


Entre em contato conosco, nosso time irá trabalhar com satisfação para melhor atendê-lo, levando esta excelente tecnologia até sua empresa, provendo melhoria de produtividade no ambiente de TI de sua empresa, clique aqui e fale conosco.