Quais são as camadas de arquitetura de PaaS?

Entenda um pouco sobre as camadas de arquitetura de PaaS. Muito parecido com o mercado de nuvem em geral, o mercado de PaaS também está começando a esquentar - e a campanha publicitária é desenfreada.

Existem várias dezenas de provedores de PaaS. Entretanto, metade dos quais ainda são desconhecidos pela maioria dos consumidores.

Arquitetura PaaS

As três principais Camadas de Arquitetura de PaaS

1 - Controlador de Nuvem

2 - Serviços de Armazenamento

  • Objeto
  • NoSQL
  • Relacional
  • Armazenamento em bloco

3 - Loja de aplicativos em serviços de armazenamento

  • Simples de escalar aplicativos
  • Recuperação mais fácil de falha

As cinco fases funcionais de um PaaS são:

  1. Implantação
  2. Provisionamento
  3. Gerenciamento do ciclo de vida
  4. Gerenciamento de serviços
  5. Comunicando

1 - Implantação da arquitetura PaaS

A fase de implantação é responsável por mover um aplicativo de sua origem para o PaaS. Normalmente, isso inclui a máquina de um desenvolvedor. Algumas das maneiras comuns de fazer isso incluem:

  1. Executar um controle remoto no PaaS e manipular git pusheventos de clientes. Heroku, OpenShift, Flynn e Dokku usam esse método. Por outro lado, Elastic Beanstalk usa uma variação sobre isso.
  2. Enviar o código como um pacote, geralmente compactado. O Cloud Foundry usa esse método, assim como o Stackato.
  3. Compilar o código localmente e copiando o executável resultante para o PaaS.

Quando um PaaS recebe uma implantação, inicia os processos para mover o aplicativo para um estado em execução. A ordem exata desses processos varia, por isso vou mantê-los na ordem em que eles apareceram acima.

2 - Provisionamento

Na fase de provisionamento, o PaaS configura a infraestrutura necessária para executar o aplicativo. Infraestrutura é um termo amplo e algumas vezes nebuloso, mas aqui estão alguns objetivos comuns de provisionamento:

  1. Configurando contêineres e, ou instâncias de computação.
  2. Configurando a rede
  3. Instalação ou configuração de serviços do sistema operacional, por exemplo: Apache.
  4. A instalação ou configuração de bibliotecas, por exemplo, Ruby Gems.

Muitos sistemas PaaS distribuem responsabilidades de provisionamento em várias ferramentas. Uma ferramenta pode criar uma instância de computação, enquanto outra ferramenta pode instalar bibliotecas. Mas todos estão compartilhando a mesma responsabilidade: crie o ambiente em que o aplicativo será executado.

Consulte também

3 - Gerenciamento do ciclo de vida

Depois que o PaaS tiver uma cópia do aplicativo e um ambiente capaz de executá-lo, ele precisará gerenciar a execução do aplicativo. Este é o gerenciamento do ciclo de vida. Tarefas comuns do gerenciamento do ciclo de vida incluem:

  1. Iniciando o aplicativo.
  2. Monitorando o estado de execução do aplicativo.
  3. Monitorando ou relatando o consumo de recursos do aplicativo.
  4. Reiniciando um aplicativo em caso de falha.
  5. Parando ou reiniciando o aplicativo sob comando.

Alguns sistemas PaaS mínimos oferecem apenas gerenciamento básico do ciclo de vida, por exemplo: inicialização e parada. Enquanto isso sistemas altamente sofisticados podem incluir implantações de dimensionamento automático, aceleração automática e quente. Então, vamos ver o gerenciamento nas camadas de arquitetura de PaaS.

4 - Gerenciamento de Serviço

Essa fase não é aquela que todas as camadas de PaaS realizam. Na verdade, eu chegaria ao ponto de dizer que não é uma peça obrigatória de PaaS, mas certamente é útil quando presente.

Todos os sistemas PaaS executam aplicativos (afinal, para que servem). Mas alguns vão além e fornecem serviços que podem ser anexados a um aplicativo. Esses serviços são executados fora do contêiner do aplicativo ou da instância de computação.

Os serviços podem incluir:

  1. Bases de dados.
  2. Sistemas de arquivos em rede.
  3. Filas de mensagens.
  4. Caches.
  5. Log agregado.

Por que nem todos os sistemas PaaS precisam dessa camada? Um dos motivos é que muitos provedores de nuvem já possuem serviços comparáveis ​​na forma de DBaaS, MQaaS e assim por diante.

5 - Relatórios e Monitoramento

Esta fase final de camadas de arquitetura de PaaS é a mais banal. A maior parte do ciclo de vida do aplicativo não é gasta em implantação, provisionamento ou gerenciamento de serviços. É certamente, gasto correndo.

Muitas, mas nem todas, as plataformas PaaS fornecem pelo menos algum nível de relatório. aqui estão alguns exemplos:

  1. Amazon Elastic Beanstalk se integra ao AWS Cloud Watch e também agrega arquivos de log do sistema por aplicativo.
  2. ActiveState Stackato fornece um console da web com logs abundantes e pode mostrar estatísticas em tempo real sobre um aplicativo e seu ambiente circundante.
  3. Heroku pode opcionalmente enviar eventos para um back-end do Loggly.

Durante a vida útil de um aplicativo, há muitas coisas interessantes que podem ocorrer. Portanto, há eventos do ciclo de vida que gostaríamos de conhecer, como reinicializações. Entretanto, existem condições ambientais de interesse, como a utilização de recursos e o desempenho do sistema. E é claro, existem dados de aplicativos que gostaríamos de monitorar, como arquivos de log e métricas de aplicativos.

Palavras finais sobre Camadas de Arquitetura de PaaS

Grandes aplicativos da web são essenciais para o sucesso no mercado atual. O objetivo é otimizar a alocação de recursos:

Não apenas para criar, implantar, gerenciar e dimensionar aplicativos da Web, mas também para garantir o foco necessário na inovação contínua - crucial para o sucesso contínuo.

iCloud Tutoriais
Logo