Agora iremos tratar de outra camada da computação em nuvem: a PaaS, Plataforma como Serviço ou, em inglês, Platform as a Service. Começaremos apresentando as principais finalidades de um PaaS demonstrando a quem se destina. Trataremos também das principais características dos serviços PaaS e de como são importantes para empresas que precisam desenvolver suas aplicações e necessitam de acesso facilitado a recursos avançados. Em seguida, trataremos dos conceitos de alocação dinâmica e de como viabilizou os serviços PaaS concluindo com o Google App Engine que entra como bom exemplo de ecossistema de desenvolvimento e teste de aplicações, um verdadeiro PaaS.

FINALIDADE DOS MODELOS DE PLATFORM AS A SERVICE PAAS

Acredito que já mencionei o principal triunfo da computação em nuvem uma dezena de vezes e a cada instância trazia um ponto distinto, mas é importante que se perceba as enormes vantagens de se ter uma estrutura lógica tão variada como a oferecida pelos provedores e com isso imaginar que empresas de tecnologia ou aquelas que demandam muito poder de processamento em sua atividade podem contratar tal poder, tais recursos sem necessariamente tê-los dentro de suas instalações, o que representa a base das Plataformas como Serviços ou PaaS. De acordo com  Macedo, Pedron e Catela (2014: 15)

[…] abstrai-se da infraestrutura, alimentando a interface de programas aplicacionais, em cloud computing. É a ligação entre o hardware e as aplicações. Devido à importância das plataformas, grandes empresas estão a tentar dominar as plataformas em cloud computing. São exemplos a Google App Engine e a Plataforma de Serviços Azure, da Microsoft;

Portanto, o objetivo dos PaaS é de oferecer a plataforma lógica com suporte completo e atualizações periódicas evitando a compra de licenças, hardware de alto desempenho e colocando a empresa apenas na gestão do que produz. De acordo com Positivo Tecnologia (2018: online)

Enfim, o PaaS fornece uma plataforma flexível, mas, ao mesmo tempo, robusta o suficiente para que as organizações desenvolvam as próprias aplicações com base em linguagem, framework ou qualquer outra tecnologia. Além disso, permite a utilização de uma infraestrutura adequada para os aplicativos. O Microsoft Azure é um excelente exemplo para entender como esse tipo de serviço funciona.

Conforme Microsoft (2020: online) conceitua, PaaS é:

[…] um ambiente de desenvolvimento e implantação completo na nuvem, com recursos que permitem a você fornecer tudo, de aplicativos simples baseados em nuvem a sofisticados aplicativos empresariais habilitados para a nuvem. Você adquire os recursos necessários por meio de um provedor de serviços de nuvem em uma base paga conforme o uso e os acessa por uma conexão com a Internet segura.

Assim como IaaS, PaaS inclui infraestrutura – servidores, armazenamento e rede –, além de middleware, ferramentas de desenvolvimento, serviços de BI (business intelligence), sistemas de gerenciamento de banco de dados e muito mais. PaaS é criado para dar suporte ao ciclo de vida do aplicativo Web completo: compilação, teste, implantação, gerenciamento e atualização.

Portanto, como prática comum a soluções em nuvem, os serviços PaaS promovem economia dos gastos e da complexidade de se contratar tais soluções ofertando a mais inovadora solução de infraestrutura e middleware de aplicativo, sem deixar de mencionar os Kubernetes, aplicações de desenvolvimento, entre outros.

FUNCIONAMENTO DE UM PAAS

Voltado em grande parte a empresas de tecnologia, os serviços PaaS eliminam as preocupações destas empresas com tecnologia, infraestrutura e com isso existe uma maior otimização dos processos de implementação de novas aplicações desenvolvidas. Claro que com toda esta facilidade, assim como outras formas de serviços cloud, a empresa pode se dedicar mais a sua atividade principal e deixar que questões de estrutura e sistema fiquem a cargo dos provedores. Sobre o modelo PaaS, Carissimi (2015: 8) afirma que:

No modelo PaaS, o cliente final são os desenvolvedores de aplicações em software. Esse modelo fornece a seus clientes um ambiente completo composto por todos os recursos necessários para o desenvolvimento de software em uma ou mais linguagens de programação tais como compiladores, depuradores, bibliotecas e um sistema operacional.

Uma migração para uma solução PaaS permite maior fôlego à empresa pois com serviços de estrutura lógica on-demand a empresa não mais se preocupa com a capacidade de seus servidores e se vão aguentar toda a depuração dos seus novos projetos, por exemplo. Mas Carissimi (2015: 8) ressalta que existem limitações:

[…] o ambiente de desenvolvimento pode ter limitações quanto às linguagens de programação, gerenciadores de banco de dados, sistema operacional, etc, ou seja, ele não é uma plataforma completa genérica, mas sim uma plataforma completa para uma determinada finalidade. Além do desenvolvimento de aplicações, no modelo PaaS, a plataforma pode ser “alugada” para hospedar sites web ou para prover serviços do tipo SaaS. São exemplos de PaaS, o Windows Azure Platform, Force.com, Google AppEngine, entre outros.

De acordo com Positivo Tecnologia (2018: online) as principais características de um serviço PaaS são:

O PaaS é, portanto, um ecossistema muito favorável para o desenvolvimento,  teste e implementação de software com a capacidade de abrigar qualquer tipo de empresa e produzir praticamente qualquer software, sem exigir que o cliente tenha hardware sofisticado.