6. Componentes do OpenStack
Horizon (Painel de Controle)
É a interface web que permite que os usuários e administradores interajam com os diversos componentes e serviços oferecidos pelo orquestrador. Se baseia em uma interação via web com o componente controlador da nuvem, a partir das APIs (Application Programming Interface) do OpenStack. O que se obtém como resultado final então é um ponto central onde as outras aplicações se conectam.
Nova (Computação)
É o componente que trata dos recursos computacionais da nuvem, gerenciando a criação, migração e exclusão de máquinas virtuais a partir da comunicação com o hipervisor. Vale notar que o Nova em si possui componentes internos: Um banco de dados para guardar informações, a API que se comunica com outros componentes, o Scheduler que faz tomadas de decisão de servidores, o Networking que trata de vlans e ipfowarding e o Compute faz a ligação entre máquinas virtuais e hipervisores.
Neutron (Redes)
Integra um modelo NaaS (Networking as a Service) em outros serviços do OpenStack. Assim oferecendo aos usuários uma API para a definição de redes que suporta algumas das soluções mais populares do mercado.
Swift (Armazenamento de objetos)
Tem como objetivo armazenar e administrar informação não estruturada a partir de sua API. É altamente resistente a falhas graças a sua arquitetura e replicações de dados. Vale notar que suas informações não são mantidas em um de diretório de arquivo montável e sim a partir da escrita de múltiplos objetos em múltiplos locais.
Cinder (Armazenamento de blocos)
O Cinder é o dispositivo que providencia o bloco de armazenamento para as máquinas virtuais que serão providas. Também possibilita a interação com estados de máquina e diversos tipos de volume.
Keystone (Identidade)
É o componente que realiza a autenticação e autorização para todos os outros módulos do OpenStack. Ele faz isso a partir de uma política de Tokens, validando Tokens enviados pelos usuários, para então, associar papéis a esses usuários e assim lhes dar as permissões que os cabem.
Glance (Imagens)
Tem como propósito servir e gerir as imagens que servirão como base para a criação de máquinas virtuais. Os pedidos são feitos a partir de uma API. Imagens usadas pelo Glance são guardadas em uma variedade de sistemas de arquivos, sendo um exemplo o Swift.
Ceilometer (Telemetria)
Possui diversas ferramentas úteis para a obtenção de métricas relevantes da nuvem. São exemplos: Quantidade de máquinas virtuais criadas, quantidade de recursos utilizados e fluxo de dados. Essas informações são úteis para controle da nuvem, além de possibilitar a criação de parâmetros para cobranças pela utilização da nuvem.