Platform-As-A-Service (PAAS) é um dos modelos de serviço associados à computação em nuvem. Nesse modelo, o ambiente de software desempenha um papel fundamental na criação de uma solução de software personalizada. Uma plataforma PAAS fornece um ambiente de desenvolvimento integrado com todas as ferramentas necessárias para criar e implantar um aplicativo em nuvem sofisticado. Este artigo aprofunda os fundamentos desse modelo enquanto aprende sobre seu conceito em relação a outros modelos de serviço e ferramentas disponíveis.
Uma visão geral
Existem três modelos básicos de serviço em nuvem:IAAS, PAAS e SAAS. Entre eles, PAAS e IAAS estão intimamente relacionados. A semelhança está em seu objetivo; ambos tentam resolver o problema de gerenciar e publicar serviços de software de forma eficaz para o usuário final. A diferença, no entanto, está na forma como eles prestam seus serviços. Por exemplo, no IAAS o foco é fornecer infraestrutura como recurso primário. Ele assimila diferentes componentes de infraestrutura, como máquinas virtuais, contêineres, rede e outros serviços relacionados sob a bandeira de uma única estrutura padrão. O administrador e os engenheiros então distribuem recursos na forma de aplicativos e serviços. A coesão inerente desse modelo facilita o gerenciamento e facilita a entrega de infraestrutura de ponta a ponta.
O PAAS, por outro lado, adota o código como sua primeira abordagem. Os operadores e programadores do desenvolvedor usam um conjunto de linguagens de programação e estruturas para projetar a solução de software e implantá-los no final do serviço. Os engenheiros de serviço de PaaS geralmente não precisam configurar ou mesmo entender a infraestrutura de baixo nível subjacente porque tudo é cuidado em seu nome. Esta é a distinção em que o IAAS cuida desses componentes, enquanto o PAAS se concentra em fornecer a plataforma para serviços de software.
Na verdade, a distinção entre os modelos de serviço em nuvem geralmente se confunde porque os modelos estão intimamente ligados uns aos outros em uma estrutura piramidal. Os serviços de software fornecidos pelo PAAS precisam da infraestrutura da plataforma para executar coisas como espaço de armazenamento, memória, poder de processamento e assim por diante. Sem eles, não podemos obter uma plataforma (PAAS) e, sem a plataforma pronta, não podemos executar a solução de software (SAAS). Portanto, há uma diferença tênue à medida que nos aprofundamos no modelo de serviço em nuvem. Isso pode ser bem ilustrado com uma estrutura de pirâmide, como mostrado na Figura 1.
Figura 1: A pirâmide de serviços de software
O modelo de serviço PAAS
Este modelo descreve o software que fornece o ambiente de tempo de execução, desenvolvimento e ferramentas de implementação. Um desenvolvedor de software usa esse ambiente e ferramentas para criar uma solução de software personalizada. A plataforma inclui um conjunto de linguagens de desenvolvimento, estruturas de aplicativos e outras ferramentas de construção, como apontar e clicar ferramentas que ajudam até mesmo não desenvolvedores a criar uma solução de software. A ferramenta PAAS geralmente fornece um ambiente de desenvolvimento integrado completo para ajudá-lo, desde o desenvolvimento do kickstart até sua implantação como parte de seu serviço. Ele também possui um suporte de design de interface de usuário padrão completo, como HTML, JavaScript e outras tecnologias de mídia avançada.
Os usuários finais do PAAS geralmente são programadores, desenvolvedores, geeks e até mesmo pessoas semitécnicas, ou podem ser qualquer pessoa que saiba como trabalhar com a plataforma e as ferramentas. É claro que o grau de interação varia desde a mera alimentação de dados até a recuperação deles para criar uma solução completa e sofisticada. Isso é determinado pelo grau de liberdade de funcionalidade permitido pelo provedor da plataforma. O usuário final do PAAS não é obrigado a manter ou gerenciar o hardware ou o software. A única parte desempenhada por eles é usar o ambiente para o desenvolvimento. Em suma, o provedor de serviços PAAS é, portanto, responsável por todas as atividades operacionais, manutenção e gerenciamento de seu próprio ciclo de vida do produto.
Algumas das principais vantagens do modelo PAAS são as seguintes:
- Baixa manutenção e compra de hardware, servidores, espaço de armazenamento, poder de processamento caros e assim por diante.
- Baixo custo de manutenção; o provedor de serviços em nuvem assume a responsabilidade de administração.
- O serviço pode ser dimensionado rapidamente para cima ou para baixo sob demanda.
Existem alguns problemas com o PAAS também.
- Devido à dependência da plataforma, a portabilidade é um problema.
- Como os dados são mantidos no armazenamento em nuvem, a segurança é um problema.
Desenvolvimento de PAAS
O PAAS fornece uma série de serviços que abstraem a infraestrutura de aplicativos, o sistema operacional e o middleware, juntamente com uma equipe de desenvolvedores para criar, testar e implantar uma solução de software com pouca assistência de TI. Existem ferramentas de autoatendimento e sob demanda, recursos, automação e contêineres de tempo de execução de plataforma que auxiliam em todo o gerenciamento do ciclo de vida do aplicativo (consulte a Figura 2).
Figura 2: O modelo de serviço PAAS
Além dos recursos de dimensionamento, a plataforma oferece alta disponibilidade juntamente com ferramentas automáticas de configuração, gerenciamento e balanceamento de carga.
O PAAS expõe suas múltiplas cópias no ambiente Cloud. Como resultado, ele pode atender a um requisito comercial isolado de maneira distinta. Isso é crucial para aplicativos com problemas de conformidade ou como conjuntos de aplicativos internos versus conjuntos de aplicativos externos. As ferramentas e normas de construção de aplicativos são, no entanto, comuns para desenvolvedores, mesmo trabalhando em cópias separadas de ambientes. O serviço PAAS pode mesclar recursos e dados locais para colorir o aplicativo com um toque personalizado para uma variedade de serviços da Web.
O IAAS fornece os blocos de construção para um PAAS eficiente. Isso ocorre porque os desenvolvedores que criam em um ambiente de nuvem obtêm melhor flexibilidade se tiverem acesso profundo à infraestrutura subjacente da plataforma. O acesso a servidores de aplicativos, servidores Web e bancos de dados facilita para os desenvolvedores aumentar ou diminuir a capacidade e a qualidade do serviço fornecido. Isso é vital não apenas para o aplicativo, mas também para a capacidade geral do PAAS.
Ferramentas PAAS
O Google App Engine é um dos exemplos populares do modelo de serviço PAAS Cloud. Publica APIs usadas pelos programadores para criar uma solução de software. O Google também fornece as ferramentas necessárias, como estrutura de desenvolvimento, sistema de arquivos e armazenamento. Os fornecedores que criam uma solução PAAS usando APIs do Google são basicamente desenvolvedores que fornecem a solução completa para o cliente. A esse respeito, o Google também atua como um fornecedor de PAAS que oferece muitos serviços da Web para desenvolvedores. Além disso, Google Maps, Google Earth, Gmail e similares são alguns dos serviços oferecidos aos clientes que são apropriadamente chamados de serviços SAAS, mas como um todo eles também estão em conformidade com o modelo de serviço PAAS.
O problema com o modelo de serviço PAAS é que ele vincula o desenvolvedor e o usuário final a uma plataforma específica oferecida pelo fornecedor. Por exemplo, um aplicativo criado usando a API do Google que funciona no Google App Engine deve funcionar apenas nesse ambiente específico. Portanto, a possibilidade de extensibilidade além do suporte de um fornecedor específico é bastante limitada.
Há um número crescente de fornecedores de PAAS atualmente no mercado. Eles oferecem serviços como parte de serviços de nuvem privados e públicos. Por exemplo, Google, Amazon Web Services e Facebook visam usuários corporativos para oferecer seus serviços, o OpenShift da Red Hat oferece um data center privado, Jelastic oferece serviços em nuvem para criar aplicativos Java e PHP com codificação mínima. Também possui parceiros internacionais de hospedagem e data centers. Alguns outros nomes são plataforma Salesforce, IBM Bluemix, plataforma Oracle Cloud, Windows Azure. Heroku, Ubuntu for Cloud, CloudBees, AppFog, Caspio, Cloud Foundry (código aberto), Iron Foundry (código aberto) e assim por diante.
Conclusão
Nesta era da Internet, o PAAS é ideal para criar aplicativos com reconhecimento de nuvem, não apenas para computadores, mas também para muitos dispositivos portáteis. Isso aproveita a tendência crescente de suporte econômico para os consumidores de TI também para programas BYOD (Bring Your Own Device). Um consumidor precisa do mesmo aplicativo disponível não apenas em seus computadores, mas também em muitos dispositivos portáteis, como telefones celulares. O PAAS tornou isso possível agora e, nos próximos anos, a distinção entre diferentes modelos de serviços em nuvem será bastante irrelevante.