O que é PaaS (Plataform as a Service) e quais existem ?

Atualizado: Jun 4

O termo PaaS, acrônimo de Platform as a Service, ou em português, Plataforma como Serviço, nada mais é do que um serviço de hospedagem mais abrangente e poderoso, que inclui hardware e software, e variados tipos de aplicações disponíveis através da internet. Em outras palavras, contratamos um aplicativo funcionando e não nos preocupamos com hardware, software, recursos de armazenamento ou segurança necessários. O que é entregue é um sistema ou aplicativo operando, conforme desejado. Fica muito mais simples para quem contrata.

A forma tradicional de planejar uma aplicação nova na internet é projetar o sistema em todos os detalhes. Precisamos escolher o hardware, especificando processador, memória, espaço de armazenamento, etc. Precisamos também escolher todo o software que estará sendo utilizado. Qual o sistema operacional? Windows ? Linux? Qual banco de dados? Qual o firewall a ser utilizado? Qual linguagem de programação? Enfim, exige um nível de conhecimento técnico muito mais abrangente.


A proposta do PaaS é oferecer um atalho e pular todos esses detalhes e ir direto ao ponto. Por que no final de tudo, o que de fato queremos é apenas ter um serviço para oferecer a nossos clientes, seja um ERP, um WebMail, um sistema de mensagem ou um sistema de monitoramento de veículos, por exemplo.


Nesse modelo e negócio, os fornecedores de PaaS oferecem kits de desenvolvimento, ferramentas de banco de dados e recursos de gerenciamento de aplicativos. Esses kits são recursos virtuais para criar, implantar e lançar aplicativos de software, reduzindo a necessidade de desenvolvimento de software de back-end.


As empresas utilizam PaaS para terceirizar a hospedagem, a construção de bancos de dados, os recursos de segurança e armazenamento de dados na nuvem. Além disso, elas costumam usar nuvens PaaS como plataformas escaláveis ​​para aplicativos novos ou em expansão para públicos maiores. Isso evita investimentos de longo prazo em tempo de desenvolvimento e middleware através de um modelo de pagamento escalável, conforme a necessidade de crescimento. Isso porque o serviço tende a funcionar por meio de um modelo de precificação por taxa de uso, permitindo crescimento e flexibilidade.


PaaS também é usado por equipes de desenvolvimento como uma alternativa para construir e hospedar os back-ends de aplicativos com um ambiente de desenvolvimento integrado (IDE). Os serviços de banco de dados e armazenamento hospedados incluem recursos semelhantes aos produtos back-end móveis como um serviço (mBaaS), mas são especificamente para aplicativos móveis.


A seguir iremos apresentar alguma das melhores opções do mercado.


1 - AWS Elastic Beanstalk


AWS Elastic Beanstalk

O AWS Elastic Beanstalk é um serviço de orquestração oferecido pela Amazon Web Services para implantar aplicativos que orquestram vários serviços da AWS, incluindo EC2, S3, SNS (Simple Notification Service), CloudWatch, escalonamento automático e Elastic Load Balancers.


Com o AWS Elastic Beanstalk é possível implantar e dimensionar aplicativos e serviços da Web desenvolvidos com Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker em servidores familiares, como Apache, Nginx e Passenger e IIS.


O Elastic Beanstalk fornece uma camada adicional de abstração sobre o servidor e o SO (Sistema Operacional). Dessa forma, os usuários veem uma combinação pré-construída de sistema operacional e plataforma, como o 64bit Amazon Linux 2014.03 executando Ruby 2.0 ou 64bit Debian jessie v2.0.7 executando Python 3.4 (pre-configurado com Docker).


A implantação requer que um número de componentes seja definido: um 'aplicativo' como um 'contêiner' lógico para o projeto, uma 'versão' que é uma compilação implantável do executável do aplicativo, um 'modelo de configuração' que contém informações de configuração para o ambiente do Beanstalk. Finalmente, um 'ambiente' combina uma 'versão' com uma 'configuração' e as implementa. Os próprios arquivos executáveis ​​são enviados como arquivos para o S3 de antemão e a 'versão' é apenas um ponteiro para isso.


2 - AWS Lambda

O AWS Lambda é uma plataforma de computação sem servidor e orientada a eventos fornecida pela Amazon como parte do Amazon Web Services. É um serviço de computação que executa código em resposta a eventos e gerencia automaticamente os recursos de computação exigidos por esse código. Foi introduzido em novembro de 2014.


O objetivo do Lambda, em comparação com o AWS EC2, é simplificar a criação de aplicativos menores e sob demanda que sejam responsivos a eventos e novas informações. O AWS segmenta a inicialização de uma instância do Lambda em milissegundos de um evento. Node.js, Python, Java, Go, Ruby e C# através do .NET Core são todos oficialmente suportados a partir de 2018.


O AWS Lambda oferece suporte a executáveis ​​nativos do Linux com segurança, chamando a partir de um tempo de execução suportado, como o Node.js. Por exemplo, o código Haskell pode ser executado no Lambda.


O AWS Lambda foi projetado para casos de uso, como uploads de imagens ou objetos, para o Amazon S3, atualizações para tabelas do DynamoDB, respostas a cliques do site ou a reação a leituras de sensores de um dispositivo conectado à IoT (Internet Of Things). O AWS Lambda também pode ser usado para provisionar automaticamente serviços de back-end acionados por solicitações HTTP personalizadas e "desativar" esses serviços quando não estiverem em uso, para economizar recursos. Essas solicitações HTTP personalizadas são configuradas no AWS API Gateway, que também pode manipular a autenticação e a autorização em conjunto com o AWS Cognito. A partir do upload do seu código e o Lambda cuida de tudo o que é necessário para executar e dimensionar seu código com alta disponibilidade. Você pode configurar seu código para ser acionado automaticamente de outros serviços da AWS ou ligá-lo diretamente de qualquer aplicativo da Web ou móvel.


Ao contrário do Amazon EC2, que custa por hora, mas medido por segundo, o AWS Lambda é medido em incrementos de 100 milissegundos. Os valores de uso abaixo de um limite documentado estão dentro da camada gratuita do AWS Lambda - que não expira 12 meses após a inscrição da conta, ao contrário da camada gratuita para alguns serviços da AWS.


3 - AWS Serverless Application Repository


O AWS Serverless Application Repository é um repositório gerenciado para aplicativos sem servidor. Ele permite que equipes, organizações e desenvolvedores individuais armazenem e reutilizem aplicativos, e montem e implantem com facilidade arquiteturas sem servidor de novas maneiras eficientes. Com o Serverless Application Repository, não é necessário clonar, criar, empacotar ou publicar o código-fonte no AWS antes da implantação. Em vez disso, é possível usar aplicativos pré-desenvolvidos do Serverless Application Repository na sua arquitetura sem servidor, ajudando você e suas equipes a reduzir o trabalho duplicado, garantir as melhores práticas organizacionais e chegar ao mercado mais rapidamente. A integração com o AWS Identity and Access Management (IAM) fornece um controle de nível de recurso de cada aplicativo, permitindo que você compartilhe publicamente aplicativos com todos, ou de maneira privada com contas AWS específicas. Para compartilhar um aplicativo que você criou, publique-o no AWS Serverless Application Repository.


Cada aplicativo é empacotado com um modelo do AWS Serverless Application Model (SAM) que define os recursos da AWS utilizados. Os aplicativos compartilhados publicamente também incluem um link para o código-fonte do aplicativo. Não há custo adicional para o uso do repositório de aplicativos sem servidor; você paga apenas pelos recursos da AWS utilizados nos aplicativos que implanta.


Use aplicativos pré-desenvolvidos em suas implantações sem servidor, eliminando a necessidade de clonar, criar, empacotar ou publicar o código-fonte no AWS antes da implantação. Ou desenvolva e publique aplicativos sem servidor uma vez, armazene-os no Serverless Application Repository, e use-os de maneira privada entre equipes ou com uma comunidade maior para reduzir os esforços duplicados e acelerar fluxos de trabalho de desenvolvimento. Com isso você pode criar as melhores práticas organizacionais nas suas arquiteturas sem servidor para ajudar a garantir a consistência entre equipes. Use as permissões para compartilhar aplicativos com contas AWS específicas.


4 - Google App Engine


O Google App Engine (geralmente chamado de GAE ou simplesmente App Engine) é uma Plataforma como Serviço e plataforma de computação em nuvem para desenvolver e hospedar aplicativos da Web em data centers gerenciados pelo Google. Os aplicativos são colocados em 'sandbox' e executados em vários servidores. O App Engine oferece escalonamento automático para aplicativos da Web - conforme o número de solicitações aumenta para um aplicativo, o App Engine aloca automaticamente mais recursos para o aplicativo da Web para lidar com a demanda adicional.


O Google App Engine é gratuito até um determinado nível de recursos consumidos e apenas no ambiente padrão, mas não em um ambiente flexível. As taxas são cobradas por armazenamento adicional, largura de banda ou horas de instância exigidas pelo aplicativo. Foi lançado pela primeira vez como uma versão de pré-visualização em abril de 2008 e saiu da pré-visualização em setembro de 2011.


As linguagens de programação suportadas no ambiente padrão incluem Python, Java (e, por extensão, outras linguagens da JVM, como Kotlin, Groovy, JRuby, Scala, Clojure), Go, PHP e Node.js. Todas as linguagens de programação disponíveis no ambiente padrão também estão disponíveis em ambiente flexível. Ruby e C# estão disponíveis apenas no ambiente flexível. Os contêineres Docker arbitrários também são suportados.


Os frameworks web Python que são executados no Google App Engine incluem Django, CherryPy, Pyramid, Flask, web2py e webapp2, bem como um framework de webapp personalizado escrito pelo Google e vários outros desenvolvidos especificamente para a plataforma que surgiu desde o lançamento. Qualquer estrutura do Python que suporte o WSGI usando o adaptador CGI pode ser usada para criar um aplicativo. Bibliotecas de terceiros escritas em Python puro também podem ser carregadas.


O Google App Engine suporta muitos padrões e estruturas Java. O principal para isso é a tecnologia servlet 2.5, usando o Jetty Web Server de código aberto, juntamente com outras tecnologias como JSP. O JSF (Java Server Faces) opera com algumas soluções alternativas. Uma versão mais recente do Java padrão do App Engine na versão Beta suporta Java8, Servlet 3.1 e Jetty9.


Embora o banco de dados integrado, o Google Cloud Datastore, possa não ser familiar aos programadores, ele é acessado e suportado com JPA, JDO e pela simples API de baixo nível. Existem várias bibliotecas e estruturas alternativas que você pode usar para modelar e mapear os dados para o banco de dados, como o Objectify, Slim3 e o framework Jello.


O Spring Framework funciona com o GAE. No entanto, o módulo Spring Security (se usado) requer soluções alternativas. O Apache Struts 1 é suportado e o Struts 2 é executado com soluções alternativas.


O framework web Django e os aplicativos executados nele podem ser usados ​​no App Engine com modificações. O Django-nonrel tem como objetivo permitir que o Django trabalhe com bancos de dados não relacionais e o projeto inclui suporte para o App Engine.


5 - Oracle Java Cloud Service

Com o Oracle Java Cloud Service, as organizações podem executar qualquer aplicativo Java EE no Oracle Cloud. Como o Oracle Database Cloud Service, o Oracle Java Cloud Service é instantaneamente provisionado, baseado em assinatura e totalmente gerenciado pela Oracle.


O Oracle Java Cloud Services é baseado no servidor de aplicativos Oracle WebLogic Server, e suporta estruturas de desenvolvimento populares, como o Oracle ADF e o Spring. Para facilitar o desenvolvimento, o serviço oferece suporte à integração com IDEs comumente usados ​​(Ambientes de Desenvolvimento Integrado), incluindo Eclipse, NetBeans e Oracle JDeveloper. Os desenvolvedores podem usar o Oracle Java Cloud Service para criar novos aplicativos Java ou usá-lo para estender os aplicativos de software como serviço (SaaS) implantados no Oracle Cloud.


Com o Oracle Java Cloud Service, as organizações podem criar um ambiente de produção para aplicativos corporativos em minutos. As instâncias são criadas com apenas alguns cliques e vêm pré-configuradas com o Oracle Database Cloud Service. Isso elimina a abordagem comum em que os desenvolvedores precisam passar semanas para criar scripts personalizados para a criação de ambientes de aplicativos.


Como parte do Oracle Cloud, o Oracle Database Cloud Service e o Oracle Java Cloud Services são implantados em uma infra-estrutura corporativa baseada no Oracle Exadata Database Machine e no Oracle Exalogic Elastic Cloud. Os serviços são voltados para alta performance e disponibilidade. Os serviços oferecem recursos completos de backup e restauração do sistema, centros de dados em vários locais geográficos e segurança física e lógica de força industrial. Além disso, o Oracle Cloud conta com suporte multilíngüe 24 horas por dia, 7 dias por semana, para garantir que as necessidades dos clientes em várias regiões sejam atendidas.


Em resumo, a Oracle Cloud Platform Services oferecem aos desenvolvedores de aplicativos uma maneira de acelerar a inovação, evitar a complexidade e reduzir os custos de desenvolvimento. Os serviços são corporativos, baseados em padrões abertos e projetados para serem fáceis de usar. Em vez de ter que esperar pelo acesso a ambientes de desenvolvimento, o Oracle Cloud Platform Services oferece acesso instantâneo a ambientes em autoatendimento. Basear-se em padrões abertos permite que os desenvolvedores aproveitem as habilidades existentes em Java, SQL e outros padrões, bem como aproveitem as ferramentas de desenvolvimento que já são familiares para eles.


6 - IBM Cloud Foundry

O Cloud Foundry é uma plataforma de aplicativos de nuvem aberta como serviço (PaaS) regido pela Cloud Foundry Foundation, que garante a implantação rápida, fácil e confiável de aplicativos nativos da nuvem. O Cloud Foundry garante que os aspectos de criação e implementação da codificação permaneçam cuidadosamente coordenados com quaisquer serviços anexados, resultando em iteração rápida, consistente e confiável de aplicativos.


O software foi originalmente desenvolvido pela VMware e depois transferido para a Pivotal Software, uma joint venture da EMC, VMware e General Electric.


Você pode estender o Cloud Foundry usando implementações da IBM ou da comunidade enquanto continua a receber liberações certificadas da IBM. Esse recurso oferece a capacidade de usar recursos novos ou especializados que nem sempre estão presentes nas implantações do Cloud Foundry.


7 - IBM Cloud Functions

Com o IBM Cloud Functions, é possível usar qualquer linguagem de programação para escrever códigos leves que executam a lógica de aplicativos de maneira escalável. É possível executar código sob demanda com solicitações via API, baseadas em HTTP de aplicativos ou automaticamente em resposta a serviços do IBM Cloud e até eventos de terceiros. A plataforma de programação Function-as-a-Service (Faas) é baseada no projeto de código aberto Apache OpenWhisk.


Como o Cloud Functions não tem servidor, você não está limitado aos idiomas que pode usar e não precisa gastar tempo explicitamente provisionando infraestrutura de back-end. Você pode se concentrar em escrever a lógica do aplicativo em vez de se preocupar com escalonamento automático, alta disponibilidade, atualizações ou manutenção. Fora da caixa, a IBM fornece hardware, rede, administração de software, balanceamento de carga, plugins e assim por diante. Você apenas tem que trazer o código!


O gateway de API permite que você exponha facilmente suas ações como terminais RESTful. É possível designar ações para terminais específicos. É possível até mesmo ter verbos (get, put, post, delete) do mesmo terminal designado a diferentes ações.


Um pacote combina as ações e os acionadores de 'feed' de eventos necessários para realizar um conjunto comum de tarefas. Por exemplo, o pacote IBM Cloudant fornece duas ações, leitura e gravação, e um feed acionador chamado de mudanças. O feed de mudanças faz com que os acionadores sejam disparados quando documentos forem incluídos no banco de dados Cloudant especificado. Alguns outros pacotes disponíveis automaticamente com o IBM Cloud Functions incluem: Push Notifications (para aplicativos móveis), Message Hub, IBM Watson, The Weather Company, Slack e GitHub.


8 - Azure Functions


O Azure Functions é uma solução para executar facilmente pequenos trechos de código, ou "funções", na nuvem. Você pode simplesmente escrever o código de que necessita para o problema em questão, sem se preocupar com todo o aplicativo ou a infraestrutura para executá-lo. O Functions pode tornar o desenvolvimento ainda mais produtivo e você pode usar a linguagem de desenvolvimento de sua escolha, como C#, F#, Node.js, Java, Python ou PHP. Pague somente pelo tempo de execução do seu código e confie no Azure para dimensioná-lo conforme a necessidade. O Azure Functions permite desenvolver aplicativos sem servidor no Microsoft Azure.


O Functions é uma ótima solução para processamento de dados, integração de sistemas, trabalho com a IoT (Internet das coisas) e criação de APIs e microsserviços simples. Considere o Functions para tarefas como processamento de imagens ou pedidos, manutenção de arquivos ou tarefas que você deseja executar de maneira agendada.


O Azure Functions dá suporte a gatilhos, que são maneiras de iniciar a execução do seu código, e associações, que são maneiras de simplificar a codificação de dados de entrada e de saída.


O Azure Functions integra-se com uma variedade de serviços do Azure e de terceiros. Esses serviços podem disparar a sua função e iniciar a execução ou podem servir como entrada e saída para seu código.


As funções do Azure têm dois tipos de planos de preços. Escolha a opção que melhor atende às suas necessidades:

  • Plano de consumo – quando sua função é executada, o Azure fornece todos os recursos computacionais necessários. Você não precisa se preocupar com o gerenciamento de recursos e paga apenas pelo tempo de execução do seu código.

  • Plano do Serviço de Aplicativo – executa suas funções da mesma forma que os aplicativos Web. Quando você já estiver usando o Serviço de Aplicativo para os outros aplicativos, poderá executar suas funções no mesmo plano sem custo adicional.

9 - Azure Web App

O Serviço de Aplicativo do Azure permite que você crie e hospede aplicativos Web, back-ends de dispositivos móveis e APIs RESTful na linguagem de programação de sua escolha sem gerenciar a infraestrutura. Eles oferecem o dimensionamento automático e alta disponibilidade, compatível com Windows e Linux e permite implantações automatizadas do GitHub, Azure DevOps ou qualquer repositório GitHub.


Você cria, implanta e dimensiona rapidamente aplicativos Web criados com as estruturas populares .NET, .NET Core, Node.js, Java, PHP, Ruby ou Python, em contêineres ou em execução em qualquer sistema operacional. O ambiente atende a rigorosos requisitos de desempenho, segurança e conformidade de nível empresarial usando a plataforma totalmente gerenciada para suas tarefas operacionais e de monitoramento.


Alem disso o ambiente oferece uma rápida integração de código-fonte do GitHub, a depuração dinâmica e a publicação com um clique diretamente do IDE do Microsoft Visual Studio. É possível conectar facilmente o banco de dados de sua preferência e aproveitar um ecossistema de pacotes de OSS, de APIs, de conectores e de serviços por meio do Azure Marketplace, acelerando o desenvolvimento. É possível adicionar rapidamente SSL e domínios personalizados, integração de SSO (logon único) a provedores de identidade populares e monitoramento de integridade do aplicativo aos seus aplicativos com o Portal do Azure.


O ambiente oferece alta disponibilidade nas regiões do Azure ao implantar serviços de dados e de host em várias localizações. É possível dimensionar vertical e horizontalmente de maneira automática com base no desempenho do aplicativo ou em regras personalizáveis para lidar automaticamente com picos na carga de trabalho e, ao mesmo tempo, minimizar os custos fora dos horários de pico. Cumpra os requisitos mais rigorosos de escalabilidade e de desempenho de aplicativo.


Está disponível relatórios de desempenho e integridade do aplicativo, de ponta a ponta. O Azure Monitor fornece exibições detalhadas de uso do recurso, enquanto o Application Insights fornece informações mais aprofundadas da taxa de transferência, dos tempos de resposta, da utilização da memória e da CPU e das tendências de erro do aplicativo.


10 - Jelastic

A Jelastic é um provedor de serviços em nuvem que combina PaaS (Platform as a Service) e CaaS (Container as a Service) em um único pacote para provedores de hospedagem, empresas de telecomunicações, empresas e desenvolvedores. A plataforma está disponível como nuvem pública em mais de 60 data centers em todo o mundo, nuvem privada (virtual e local), híbrida e multicloud. O Jelastic fornece suporte para ambientes Java, PHP, Ruby, Node.js, Python, .NET, Go e contêineres Docker personalizados.


A Jelastic foi fundada em 2011 como uma nuvem pública. Inicialmente, era uma PaaS especificamente voltada para hospedagem Java. Em 2012, a empresa recebeu o prêmio Java Duke Choice.


Em 2013-2015, a plataforma adicionou suporte a PHP, Ruby, Python, Node.js, .NET e suporte a contêineres Docker. A última adição em tempo de execução foi em 2017, integrando o Go. Em 2014, foi introduzida a solução de nuvem privada e, em 2015, a plataforma já poderia ser usada como híbrida e multi-nuvem.


A Jelastic fornece modelo de precificação de pagamento conforme o uso dentro da nuvem pública. Os recursos são cobrados em base horária: RAM e CPU (unidade de recurso do cloudlet), espaço em disco, tráfego externo, IP público e SSL. O preço para cada unidade de recurso depende do provedor de hospedagem escolhido e pode ser estimado em uma base mensal, diária ou horária no painel de desenvolvimento. As despesas de hospedagem na nuvem podem ser rastreadas e otimizadas usando detalhes de faturamento integrados para toda a conta ou aplicativo específico.


A instalação em nuvem privada é cobrada mensalmente em uma base de licença por servidor físico. Existem dois tipos de licenciamento - para instalação com autoadministração adicional e para instalação com serviços gerenciados.


11 - Alibaba Function Compute

O Alibaba Cloud Function Compute é um serviço de computação orientado a eventos e totalmente gerenciado. Com o Function Compute, você pode criar rapidamente qualquer tipo de aplicativo ou serviço sem considerar gerenciamento ou O & M. Você pode concluir um conjunto de serviços de back-end para processar dados multimídia em poucos dias.


Você pode criar e fazer o upload de códigos sem se preocupar em adquirir e gerenciar recursos de infraestrutura. O ambiente prepara recursos de computação para você e executa seus códigos em seu nome de forma elástica e confiável.



Além disso, o ambiente fornece consulta de log, monitoramento de desempenho, alarmes e outros recursos.


Você paga apenas pelos recursos realmente consumidos ao executar os códigos. Nenhuma taxa é incorrida para códigos de aplicativos que não são executados.


Ele integra diferentes serviços de maneira orientada a eventos. Quando o serviço de origem de eventos aciona um evento, a função associada é chamada automaticamente para processar o evento.


Você pode usar recursos de computação na nuvem com eficiência. Você pode requisitar um servidor de suas especificações exatas em um curto período de tempo.


No entanto, a computação em nuvem mais atual ainda precisa de servidores e outras infraestruturas. O gerenciamento e a utilização desses recursos são difíceis e caros. Ele foi projetado para reduzir os custos de computação e melhorar a eficiência. Esse serviço de computação permite gerenciar seu aplicativo em vez de infraestrutura e fornece um modelo sem servidor para o design de aplicativos.


Com o Function Compute, você não precisa gerenciar a infraestrutura da camada inferior. Você só precisa implantar o código na função e usar um evento para acioná-la, para executar o serviço sem problemas. Você não precisa se preocupar com o ambiente de implementação, o aumento de escala do servidor, o tempo de inatividade do servidor ou outros problemas. O ambiente suporta escalonamento elástico e Pay-As-You-Go.


O serviço totalmente gerenciado permite que você se concentre mais em inovação de negócios em vez de gerenciamento de infraestrutura.


O escalonamento automático em tempo real e o balanceamento de carga dinâmico em milissegundos ajudam você a controlar o tráfego.


Você é cobrado com base na quantidade de código executada e na duração da execução. A duração da execução do código é calculada em milissegundos.


Suporta várias linguagens de programação, incluindo Java, Python, PHP e NodeJS.


Saiba Mais


5 visualizações

© 2005-2020 EzBiz Sistemas

work-with-us-4.gif
  • Instagram ícone social
  • YouTube ícone social
  • Twitter Social Icon
  • LinkedIn Social Icon
  • Facebook Social Icon