Arquitetura do OpenShift

O OpenShift é uma solução de PaaS que cada vez vêm ganhando espaço, que com alguns cliques na interface de gerenciamento teremos um ambiente de desenvolvimento rapidamente e operacional em questão de minutos. No entanto, já parou pra pensar em como funciona por dentro?

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