OpenShift - Visão geral

OpenShift é uma plataforma de desenvolvimento como serviço (PaaS) hospedada pela Red Hat. É uma plataforma amigável e baseada em nuvem de código aberto usada para criar, testar e executar aplicativos e, finalmente, implantá-los na nuvem.

OpenShift é capaz de gerenciar aplicativos escritos em diferentes linguagens, como Node.js, Ruby, Python, Perl e Java. Um dos principais recursos do OpenShift é que ele é extensível, o que ajuda os usuários a suportar o aplicativo escrito em outras linguagens.

OpenShift vem com vários conceitos de virtualização como sua camada de abstração. O conceito subjacente do OpenShift é baseado na virtualização.

Virtualização

Em geral, a virtualização pode ser definida como a criação de um sistema virtual, em vez da versão física ou real de qualquer coisa, começando com o sistema, armazenamento ou sistema operacional. O principal objetivo da virtualização é tornar a infraestrutura de TI mais escalonável e confiável. O conceito de virtualização já existe há décadas e com a evolução da indústria de TI hoje, pode ser aplicado a uma ampla gama de camadas, desde o nível de sistema, nível de hardware, até virtualização de nível de servidor.

Como funciona

Ele pode ser descrito como uma tecnologia na qual qualquer aplicativo ou sistema operacional é abstraído de sua camada física real. Um dos principais usos da tecnologia de virtualização é a virtualização de servidor, que usa um software chamado hipervisor para abstrair a camada do hardware subjacente. O desempenho de um sistema operacional rodando em virtualização é tão bom quanto quando ele está rodando no hardware físico. No entanto, o conceito de virtualização é popular, pois a maior parte do sistema e do aplicativo em execução não exige o uso do hardware subjacente.

Arquitetura Física vs Virtual

Tipos de virtualização

  • Application Virtualization- Neste método, o aplicativo é abstraído do sistema operacional subjacente. Este método é muito útil no qual o aplicativo pode ser executado isoladamente, sem depender do sistema operacional subjacente.

  • Desktop Virtualization- Este método é usado para reduzir a carga da estação de trabalho na qual se pode acessar a área de trabalho remotamente, usando um cliente fino na mesa. Neste método, os desktops são executados principalmente em um datacenter. Um exemplo clássico pode ser uma Virtual Desktop Image (VDI) que é usada na maioria das organizações.

  • Data Virtualization - É um método de abstrair e fugir do método tradicional de gerenciamento de dados e dados.

  • Server Virtualization- Neste método, os recursos relacionados ao servidor são virtualizados, o que inclui o servidor físico, o processo e o sistema operacional. O software que permite essa abstração costuma ser chamado de hipervisor.

  • Storage Virtualization - É o processo de agrupamento de vários dispositivos de armazenamento em um único dispositivo de armazenamento gerenciado a partir de um único console central.

  • Network Virtualization - É o método em que todos os recursos de rede disponíveis são combinados, dividindo a largura de banda e os canais disponíveis, cada um dos quais independente um do outro.

OpenShift

OpenShift é um aplicativo Platform as a Service (PaaS) habilitado para nuvem. É uma tecnologia de código aberto que ajuda as organizações a mover sua infraestrutura e plataforma de aplicativos tradicionais de meios físicos virtuais para a nuvem.

O OpenShift oferece suporte a uma grande variedade de aplicativos, que podem ser facilmente desenvolvidos e implantados na plataforma de nuvem OpenShift. O OpenShift suporta basicamente três tipos de plataformas para desenvolvedores e usuários.

Infraestrutura como serviço (IaaS)

Nesse formato, o provedor de serviços fornece máquinas virtuais de nível de hardware com algumas configurações de hardware virtual predefinidas. Existem vários concorrentes neste espaço, começando pela nuvem AWS Google, Rackspace e muitos mais.

A principal desvantagem de ter IaaS após um longo processo de configuração e investimento é que, ainda se é responsável por instalar e manter o sistema operacional e pacotes de servidor, gerenciar a rede de infraestrutura e cuidar da administração básica do sistema.

Software as a Service (SaaS)

Com o SaaS, é o que menos se preocupa com a infraestrutura subjacente. É tão simples quanto plug and play, em que o usuário só precisa se inscrever para os serviços e começar a usá-los. A principal desvantagem dessa configuração é que só se pode realizar uma quantidade mínima de personalização, que é permitida pelo provedor de serviços. Um dos exemplos mais comuns de SaaS é o Gmail, onde o usuário só precisa fazer o login e começar a usá-lo. O usuário também pode fazer algumas pequenas modificações em sua conta. No entanto, não é muito útil do ponto de vista do desenvolvedor.

Plataforma como serviço (PaaS)

Pode ser considerado uma camada intermediária entre SaaS e IaaS. O alvo principal da avaliação de PaaS é para desenvolvedores nos quais o ambiente de desenvolvimento pode ser ativado com alguns comandos. Esses ambientes são projetados de forma que possam atender a todas as necessidades de desenvolvimento, desde um servidor de aplicação web com banco de dados. Para fazer isso, você só precisa de um único comando e o provedor de serviços faz as coisas por você.

Por que usar o OpenShift?

O OpenShift fornece uma plataforma comum para unidades corporativas hospedar seus aplicativos na nuvem sem se preocupar com o sistema operacional subjacente. Isso torna muito fácil usar, desenvolver e implantar aplicativos na nuvem. Um dos principais recursos é que ele fornece recursos de hardware e rede gerenciados para todos os tipos de desenvolvimento e teste. Com o OpenShift, o desenvolvedor de PaaS tem a liberdade de projetar seu ambiente requerido com especificações.

O OpenShift oferece diferentes tipos de acordo de nível de serviço quando se trata de planos de serviço.

Free - Este plano é limitado a três anos com 1 GB de espaço para cada um.

Bronze - Este plano inclui 3 anos e expande até 16 anos com 1GB de espaço por ano.

Sliver - Este é o plano de bronze de 16 anos, porém, tem capacidade de armazenamento de 6GB sem custo adicional.

Além dos recursos acima, o OpenShift também oferece uma versão local conhecida como OpenShift Enterprise. No OpenShift, os desenvolvedores têm a vantagem de projetar aplicativos escalonáveis ​​e não escaláveis, e esses designs são implementados usando servidores HAproxy.

Características

Existem vários recursos suportados pelo OpenShift. Poucos deles são -

  • Suporte a vários idiomas
  • Suporte a múltiplos bancos de dados
  • Sistema de cartucho extensível
  • Gerenciamento de versão do código fonte
  • Implantação com um clique
  • Suporte a vários ambientes
  • Fluxo de trabalho do desenvolvedor padronizado
  • Dependência e gerenciamento de build
  • Dimensionamento automático de aplicativos
  • Console da Web responsivo
  • Conjunto de ferramentas de linha de comando rico
  • Login SSH remoto para aplicativos
  • Suporte API Rest
  • Pilha de aplicativos de autoatendimento sob demanda
  • Serviços de banco de dados integrados
  • Integração Contínua e Gerenciamento de Liberação
  • Integração IDE
  • Depuração remota de aplicativos