«

»

nov 01

Imprimir Post

O que é o OpenStack?

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

 

OpenStack , uma ferramenta para criar clouds publicas e privadas.

Todos escutamos e falamos em computação na nuvem , principalmente para quem já está no mundo de infra , quando falamos em Cloud pensamos em serviços como da AWS (Amazon Web Services) , Digital Ocean , Microsoft Azure e entre outros.

Já pensou em criar um ambiente para orquestrar instâncias como na AWS ? Melhor ainda isso tudo usando o seu hardware físico!

Hoje vou apresentar o OpenStack , uma ferramenta OpenSource que vai nós ajudar a conseguir isso.

 

 

  • Sobre o OpenStack

O OpenStack surgiu com uma parceria da Rackspace e a NASA . Foi aberto ao mundo OpenSource em 2010 e possui um ciclo de atualização de 6 meses.

O OpenStack apresenta seus serviços através de APIs compatíveis com os serviços EC2 e S3 da Amazon AWS.

 

sites para mais informações sobre o projeto: www.openstack.org  e  www.openstackbr.com.br

 

  • Arquitetura do OpenStack

Apenas dando uma breve introdução de como funciona a estrutura do OpenStack. Podemos ter qualquer hardware seja ele uma maquina comum ou até mesmo um servidor , lógico que devemos levar em consideração que tudo isso afeta nosso ambiente depois de pronto.

Bom temos um hardware para usar o OpenStack e compartilhar seus recursos em pequenas instancias , vamos entenderem como funciona a estrutura do OpenStack.

O OpenStack é dividido nas seguintes partes que interagem com o Hypervisor: Interface , Networking , Storage e Compute.

Interface: Como podemos ver pelo nome é onde temos total gerenciamento de nossos serviços , configurações e controle de criação de instancias,

Networking: Modulo responsável pelo controle de rede do nosso OpenStack , como rede publica e rede privada , roteadores , IPs das nossas instâncias e entre outros recursos de rede.

Storage: Onde é armazenado todos os objetos , imagens , volumes e etc.

Compute: Onde são gerenciadas as instâncias e modulo responsável pela comunicação com o Hypervisor.

 

Esse simples conceito do OpenStack é fundamental antes de realizar um deploy da ferramenta.

 

  • Principais módulos do OpenStack

O OpenStack é dividido em vários modulos que podemos instalar conforme nossa necessidade , mas alguns deles são necessários para nosso OpenStack funcionar.

Vamos ver o conceito dos principais módulos do OpenStack.

openstack_main_services-svg

 

  • KEYSTONE

 

O Keystone é o responsável pelo serviço de identidade do OpenStack tais como , usuários , Tenants (Projetos) , Roles(Papeis ou grupos) , serviços , catalogo (informações de todos os serviços) e tokens dos usuários.

 

  • GLANCE

O Glance é o responsável por gerenciar todas as imagens para subirmos uma instância , por exemplo a partir dele armazenamos imagens do Ubuntu , Debian , Windows Server e etc.

Os principais formatos utilizados por ele são imagens tipo ISO , QCOW2 , VDI e VHD

 

  • NEUTRON

O Neutron é o modulo mais complexo do OpenStack , ele é o responsável por toda parte de rede do nosso sistema.

Ele é um serviço modular , ou seja posso adicionar plugins para trabalhar junto com ele (Load Balance por exemplo)

Com ele nós vamos criar redes privadas para nossas infâncias , roteadores , switches , VPN , regras de Firewall e entre outros recursos.

sch_5007_v00_nuac-multi_nic_openstack-flat-manager

 

  • NOVA

O Nova é o modulo responsável pela comunicação com o Hypervisor e com nele podemos gerenciar as instâncias , como criação e exclusão , recursos que podemos aumentar ou diminuir conforme nossa necessidade , SSH Key , regras de firewall para nossa instância e entre outros recursos que podemos gerenciar pelo NOVA.

O que devemos levar em consideração é que com o NOVA a intenção não é trocarmos um Hardware depois de algum tempo e colocar outro com mais recursos para dar conta do crescimento da empresa , seu intuito deve ser de aumentar o número de hosts que podemos ter e ele gerenciar os recursos como um todo.

Exemplo: posso ter 3 servidores com 4 processadores cada e 16 GB de RAM , com o NOVA eu vou ter um total de 12 núcleos e 48 GB de RAM para trabalhar instanciais 

Com isso temos um “crescimento horizontal” de hardware e podemos aumentar o número de hosts e recursos conforme nossa necessidade.

Com o NOVA podemos utilizar diversos visualizadores conforme a imagem acima , inclusive orquestrar containers com o Docker.

 

  • SWIFT (object storage)

O Swift é o modulo responsável para armazenamento de objetos e podemos configura-lo para utilizar um storage como backend.

Curiosidade: O Swift pode replicar seu objeto em discos diferentes para evitar perda de dados.

Com a imagem acima podemos ter uma ideia melhor sobre o Swift , ele praticamente é nosso Storage para tudo , armazenamento de imagens , volumes das instâncias , objetos , replicação e etc.

Acredito que não preciso chegar muito afundo sobre este modulo.

 

  • CINDER

O Cinder é o responsável por armazenamento em blocos , por exemplo:  Temos uma instância funcionando com 50 GB na raiz do sistema operacional , mas preciso de um novo volume para um backup.

Então o Cinder é capaz de criar um armazenamento em bloco com um espaço que eu preciso para adicionar na minha instância. “Simulando um novo disco”

Também podemos usar um storage como backend no Cinder ou ate mesmo equipamento do Swift.

 

  • HEAT 

O Heat é um orquestrador de ambientes , com ele podemos criar scripts para automatizar o deploy de containers , criando assim instâncias , volumeos , redes , roteadores , rotas e outros recursos de maneira mais automatizada.

 

  • TROVE (DBaaS)

O Trove oferece um Banco de dados como serviço , não precisamos subir um SO e um banco de dados para rodas nossa aplicação. Com ele podemos subir direto nossa aplicação num Banco de Dados rodando no OpenStack de maneira rápida e eficiente.

 

  • CEILOMETER

O Ceilometer é o responsável por monitorar os recursos utilizados por cada instância , gerar relatórios detalhados de consumo de horas ( Tempo que a instância está ligada ) e permite que configurar para gerar o valor utilizado pela instância.

Exemplo a instância ficou 12 horas ligadas utilizando 8 GB de Ram e 300 GB de disco , então configurarmos um valor por minuto e ele gera o calculo total que a instância utilizou.

 

  • HORIZON

Agora vamos falar do Horizon a interface gráfica de gerenciamento do OpenStack , nele temos acesso a configurações de rede , imagens , instâncias , serviços , permissões , processamento e todos os outros recursos que o OpenStack oferece.

Acima temos foto da Dashboard do Horizon , ela é simples e intuitiva!

 

 

 

Se você gostou da ideia do OpenStack e quer experimentar melhor , a UOL HOST é um serviço de Cloud que é baseado totalmente em OpenStack  e  melhor ainda sua interface é pura do Horizon.

Se quiser ter um gostinho do OpenStack funcionando , crie uma conta no site  http://www.uolhost.uol.com.br/

e veja você mesmo.

 

 

Bom isso é um conceito básico que precisamos ter do OpenStack , tive a iniciativa de compartilhar isso pois não temos muitas documentações traduzidas do OpenStack disponíveis.

 

Sugestões ou dúvidas , por favor entrem em contato ou deixem comentários!

 

Em breve vou fazer um artigo instalando o OpenStack e um rápido overview de suas funções.

 

 

Rodolpho Niceto (6 Posts)

22 Anos , Analista de TI na AW2Net , Cursando Bacharelado em Ciência da Computação.


0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×

Sobre o autor

Rodolpho Niceto

22 Anos , Analista de TI na AW2Net , Cursando Bacharelado em Ciência da Computação.

Link permanente para este artigo: http://comunidade.aw2net.com.br/o-que-e-o-openstack/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Flares Twitter 0 Facebook 0 Filament.io 0 Flares ×