Visão Geral
O OpenShift pode ser separado em dois macro blocos que fazem toda a operação:
- O Broker é o componente que faz toda a orquestração necessária para provisionar o ambiente necessário para sua aplicação. Ele é o ponto central de todo o ambiente pois é ele quen gerencia toda a infraestrutura. Seu ponto de acesso é por meio de uma API REST que envia os comandos de gerenciamento
- O Node é o servidor que hospeda as aplicações provisionadas no OpenShift. Nele, você encontra dois componentes necessários para sua aplicação:
- O Cartridge, que é um componente plugável para suas aplicações bem como seus Banco de Dados e Serviços. Ex.: Java, PHP, MySQL, etc.
- O Gear, que é o container onde sua aplicação irá rodar. O Gear é totalmente isolado dos outros e possui configurações de limites de processamento e storage e possível criar diversas configurações de Gears, cada um contendo um limite de RAM e Storage disponível. Uma aplicação escalável pode ter dois ou mais gears dependendo da demanda necessária.
A comunicação entre Broker e Node é feita utilizando mensageria com ActiveMQ e MCollective utilizando Stomp como protocolo. Nota:Qualquer solução de mensageria que seja compatível com AMQP pode ser usado (como por exemplo RabbitMQ).
![]() |
Arquitetura geral do OpenShift |
Broker
O Broker consiste em uma aplicação desenvolvida em Ruby on Rails que é responsável por:
- Gerenciar o ciclo de vida das aplicações
- Autenticação dos usuários
- Atualizações dinâmicas do DNS para disponibilizar a URL de acesso às aplicações
Conforme explicado na seção anterior, o único ponto de acesso ao Broker é uma API REST que permite o controle de suas aplicações. A equipe do OpenShift disponibilizou três meios de utilização dessa API:
- A interface de gerenciamento Web, mais conhecido como OpenShift Console
- A ferramenta de linha de comando rhc
- Através da IDE Eclipse por meio do plugin JBoss Tools
O Broker grava dentro de um Banco de Dados NoSQL (o MongoDB) todas as informações de usuários e suas aplicações. Além disso, o Broker gerencia a autenticação dos usuários com base em plugins que permite utilizar um desses três meios:
- HTTP Basic
- LDAP
- Kerberos
![]() |
Diagrama da arquitetura do Broker |
Node
O Node é exatamente onde suas aplicações ficam hospedadas, e portanto onde é provisionado todo o ambiente necessário para que sua aplicação possa rodar e receber atualizações de código por meio do repositório git criado para ele. O acesso é feito por uma configuração feita no Apache para realizar o acesso via HTTP. Veja abaixo o esquema completo da arquitetura:
![]() |
Diagrama completo da arquitetura |
O site do OpenShift possui um diagrama interativo mostrando como funciona a arquitetura. Vale a pena conferir: https://www.openshift.com/walkthrough/how-it-works
Nenhum comentário:
Postar um comentário