O que é a PaaS?

Copiar URL

Uma Plataforma como serviço (PaaS) oferece uma plataforma de cloud computing completa (hardware, software e infraestrutura) que simplifica como os desenvolvedores criam, implantam e gerenciam aplicações. A solução de PaaS permite ao usuário desenvolver, executar e gerenciar apps sem o trabalho de criar e manter a infraestrutura ou plataforma que normalmente está associada a esses processos.

Muitas vezes essas plataformas são baseadas na nuvem, mas podem ser executadas em infraestrutura on-premise. Para ofertas gerenciadas, um provedor de PaaS hospeda os componentes de hardware e software em sua própria infraestrutura, oferecendo uma plataforma que pode ser utilizada como uma solução integrada, um stack de soluções ou um serviço conectado via internet.

Acesse o guia prático para conhecer a estratégia de nuvem híbridaPágina disponível no idioma inglês (Portuguese, Brazil não disponível)

Uma PaaS baseada em Kubernetes pode ser usada como a plataforma de aplicações na qual o software baseado em containers é executado, escalado e gerenciado. Por exemplo, as versões de serviços em nuvem do Red Hat® OpenShift® são ofertas de PaaS gerenciadas.

Normalmente, o termo "como serviço" refere-se a um serviço oferecido por terceiros para sua empresa se concentrar no que realmente importa, como desenvolvimento de código e relacionamento com clientes. Outras opções de "como serviço" são Infraestrutura como serviço (IaaS) e Software como serviço (SaaS).

IaaS vs PaaS vs SaaS

IaaS significa que um provedor usa uma nuvem para gerenciar a infraestrutura para você, ou seja, servidores, rede, virtualização e armazenamento. O usuário tem acesso por uma interface de programação de aplicações (API) ou um dashboard, basicamente alugando a infraestrutura. Ele gerencia coisas como sistema operacional, apps e middleware, enquanto o provedor cuida de hardware, rede, disco rígido, armazenamento e servidores, tendo também a responsabilidade de realizar reparos e solucionar problemas de interrupção e hardware.

SaaS é quando um provedor gerencia uma aplicação para você. O provedor atualiza o software, corrige bugs e executa outras tarefas gerais de manutenção. Você se conecta a ele por meio de um navegador ou API. Dessa forma, não é necessário instalar uma aplicação localmente em cada computador.

Acelere o desenvolvimento de apps com o Red Hat OpenShift

Existem duas categorias diferentes de PaaS: modelos de implantação (que determinam onde a infraestrutura é armazenada fisicamente e quem tem acesso a ela) e tipos especializados (que especificam qual problema de software a plataforma está configurada para resolver).

1. Modelos de implantação de PaaS

Os modelos de implantação determinam quem é o proprietário do hardware subjacente e o quão isolado é o seu ambiente de desenvolvimento.

  • PaaS pública: como o modelo mais comum, uma PaaS pública reside inteiramente na infraestrutura compartilhada de um provedor de nuvem pública. O usuário faz login, faz o upload do código e o fornecedor gerencia todo o resto. Nesse modelo, você troca o controle granular sobre localizações de dados e configurações de segurança por custos baixos e zero manutenção.
  • PaaS privada: com a mesma experiência de desenvolvedor simples de uma PaaS pública, uma PaaS privada é implantada inteiramente dentro do firewall isolado de uma empresa (seja em um data center on-premise ou em uma rede de nuvem privada). Ela oferece um alto nível de segurança e compatibilidade, mas uma equipe interna é totalmente responsável pela manutenção do hardware físico e aplicação de patches no software da plataforma.
  • PaaS híbrida: os modelos híbridos oferecem às empresas flexibilidade para dividir os fluxos de trabalho entre espaços públicos e privados. Por exemplo, uma empresa pode manter o processamento de dados altamente confidenciais em uma PaaS privada, mas transferir automaticamente para uma PaaS pública ao enfrentar um pico de tráfego.

2. Ofertas especializadas de PaaS

Com a evolução do mercado de nuvem, as ofertas de PaaS genéricas se concentraram em soluções de nicho, feitas para lidar com tarefas de desenvolvimento altamente especializadas. 

  • iPaaS (PaaS de integração): ao conectar sistemas amplos e dispersos, uma iPaaS oferece a infraestrutura necessária para desenvolver pipelines de dados automatizados entre aplicações de software completamente separadas, como conectar dados de CRM a um banco de dados interno.
  • AIPaaS (PaaS de inteligência artificial): com foco no desenvolvimento, treinamento e implantação de modelos de IA, uma AIPaaS oferece clusters pré-configurados de GPUs avançadas, frameworks de machine learning e pipelines de limpeza de dados. Assim, os desenvolvedores não precisam criar servidores de IA do zero.
  • cPaaS (PaaS de comunicação): desenvolvida especialmente para os desenvolvedores adicionarem mensagens de texto SMS, chamadas de voz por VoIP ou chats por vídeo em suas aplicações, uma cPaaS contém bibliotecas de código pré-empacotadas, APIs e conexões de rede celular. 
  • mPaaS (PaaS mobile): com ferramentas integradas especializadas para smartphones, a mPaaS simplifica o desenvolvimento de aplicativos mobile.

Você não precisa escolher apenas uma. Uma empresa moderna pode criar o aplicativo mobile principal usando uma mPaaS pública, vincular-se a servidores internos usando uma iPaaS e executar todo o ecossistema em uma implantação em nuvem híbrida.

A Plataforma como serviço (PaaS) é amplamente usada por equipes de engenharia porque ela gerencia a complexa infraestrutura de backend para os desenvolvedores se concentrarem apenas em escrever o código da aplicação. 

  • A PaaS oferece uma base integrada para desenvolvimento e gerenciamento de APIs. Ferramentas de roteamento e gateways de segurança pré-configurados permitem que diferentes sistemas de software se comuniquem instantaneamente, sem precisar configurar regras de rede do zero. Em resumo, o usuário aluga a infraestrutura.
  • A PaaS também é o mecanismo por trás do DevOps e dos pipelines de integração/implantação contínuas (CI/CD). Quando os desenvolvedores enviam um novo código, a PaaS aciona automaticamente os fluxos de trabalho de teste, empacota a aplicação e a implanta diretamente em ambientes de produção, reduzindo bastante os erros humanos e diminuindo o tempo de implantação de dias para minutos.
  • A PaaS é excelente para gerenciar o esforço por trás de microsserviços e análises de big data. Como ela pode criar clusters enormes de servidores em nuvem instantaneamente e desativá-los quando uma tarefa é concluída, as organizações a usam para executar modelos analíticos de curto prazo e com grande volume de dados ou isolar com segurança partes individuais de aplicações (como um mecanismo de pagamento autônomo) sem configurações manuais complexas.
  • A PaaS é altamente eficaz para escalar implantações de Internet das Coisas (IoT). Como a IoT envolve milhares de dispositivos dispersos enviando métricas ininterruptas e em tempo real, a PaaS disponibiliza a estrutura de backend escalável necessária para capturar com segurança esses fluxos massivos de dados, processá-los instantaneamente e acionar alertas de aplicações.

Os benefícios de usar um ambiente de PaaS incluem a transferência das responsabilidades de manutenção de servidores, atualização do software de infraestrutura e configuração de uma plataforma personalizada para desenvolvimento de aplicações. Um provedor de PaaS pode hospedar a plataforma e disponibilizar o ambiente para a execução de aplicações.
 
As equipes de software podem desenvolver e implantar aplicações sem se preocuparem com a manutenção e a preservação da infraestrutura subjacente. Dessa forma, você obtém mais desenvolvimento e inovação com menos distração, além de reduzir a quantidade de configuração e codificação de infraestrutura. Como ela está presente na nuvem, a PaaS também permite escalabilidade e fácil migração.

As organizações que escolhem ambientes de PaaS para o desenvolvimento de aplicações podem aproveitar vários benefícios.

  • Aproveitar habilidades e investimentos existentes. Os desenvolvedores podem acessar sistemas operacionais, middleware, frameworks e outras ferramentas de desenvolvimento, além de usar as linguagens que conhecem para codificar rapidamente.
  • Reduzir custos. Os preços da PaaS permitem que você pague pelo que usa, em vez de investir em grandes quantidades de infraestrutura de computação on-premise que pode ficar ociosa na maior parte do tempo.
  • Reduzir os ciclos de desenvolvimento de aplicações. A PaaS pode ajudar as equipes de desenvolvimento a acelerar o desenvolvimento de aplicações e reduzir o tempo necessário para implantar novos softwares. As equipes autônomas de desenvolvimento e entrega podem usar a plataforma para entregar funcionalidades empresariais em um ritmo acelerado, com menos esforço de coordenação. 
  • Possibilitar o DevOps eficaz.  As estratégias de DevOps unem desenvolvedores e equipes de operações de TI. Dessa forma, você pode desenvolver e implantar aplicações com rapidez usando a entrega contínua. A plataforma digital da empresa pode ser usada como uma interface entre diferentes equipes para melhorar a comunicação e a colaboração, reduzindo a coordenação em etapas. 
  • Manter medidas de segurança. Com um provedor de PaaS, você assegura o gerenciamento uniforme de decisões relacionadas a práticas de segurança. Os serviços baseados em nuvem se beneficiam de equipes altamente qualificadas que se concentram exclusivamente na segurança.
  • Aumentar a produtividade. Os desenvolvedores podem obter rapidamente as ferramentas e os recursos de que precisam por meio de recursos self-service. Os ambientes de desenvolvimento são provisionados automaticamente. Dessa forma, as equipes podem se concentrar em trabalhos que agregam valor, em vez de se preocuparem com o gerenciamento rotineiro da infraestrutura.

Quando usada com eficiência, uma PaaS pode reduzir a carga cognitiva da equipe técnica, que é sobrecarregada com as pressões de entrega e o aumento da dívida técnica, dois dos muitos obstáculos à transformação. Além disso, ela pode incentivar o aprendizado e a adoção de novos comportamentos.

Escolher uma PaaS significa priorizar a velocidade de desenvolvimento em detrimento da autonomia da infraestrutura. Para apps simples, a velocidade compensa. Para grandes empresas altamente regulamentadas, a falta de controle geralmente força uma migração de volta para a infraestrutura tradicional.

Ao escolher uma solução de PaaS, considere:

  • Dependência de fornecedor: os provedores de PaaS usam ferramentas proprietárias para facilitar a implantação. Isso pode tornar a migração um desafio.
  • Funcionalidades incluídas: sua aplicação funciona bem com elas? Conforme sua aplicação cresce, desenvolve-se e adquire cada vez mais usuários, você precisa obter uma escalabilidade facilitada com seu provedor e ter as opções necessárias disponíveis.
  • Segurança e conformidade: com uma PaaS, seus dados e código são armazenados em um ambiente gerenciado de terceiros. Fica mais difícil manter a conformidade com padrões rigorosos da indústria, como HIPAA ou SOC 2. Você depende da postura de segurança e dos controles de acesso do provedor.
  • Controle limitado da infraestrutura: com uma PaaS, você pode não ter visibilidade ou controle sobre os sistemas operacionais subjacentes, configurações de servidor ou componentes de hardware. Se a aplicação exigir personalização, uma PaaS pode não ser a melhor opção.
  • Número de usuários: quanto mais usuários e mais específico for o código, mais lenta será a execução da sua aplicação e mais difícil será a migração de um provedor de serviços para outro, caso seja necessário.

As soluções Red Hat oferecem segurança, comunidade e décadas de experiência com flexibilidade para crescer e expandir junto a suas ideias. Com stacks sob demanda e templates pré-criados de início rápido, você pode começar a desenvolver sua aplicação com apenas um clique.

As ofertas de PaaS do Red Hat OpenShift incluem o Red Hat OpenShift Service on AWS, o Microsoft Azure Red Hat OpenShift e o Red Hat OpenShift Dedicated.

Com o Red Hat OpenShift, você pode automatizar o gerenciamento do ciclo de vida para ter mais segurança, soluções operacionais personalizadas e portabilidade de apps. Você também pode padronizar os fluxos de trabalho de desenvolvedores, simplificar a entrega, oferecer suporte a vários ambientes e habilitar a integração contínua com o gerenciamento automatizado de versões.

O Red Hat OpenShift também é uma plataforma Kubernetes com foco em segurança e suporte, que oferece treinamento e consultoria especializados para clientes que precisam de mais suporte.

Teste o Red Hat OpenShift

Recurso

Introdução ao Azure Red Hat OpenShift

Apoie a criação de aplicações e implementação de recursos usando o Azure e o Red Hat OpenShift para a implantação do serviço completo de clusters do OpenShift totalmente gerenciados.

Teste as soluções Red Hat gratuitamente

Experimente as soluções Red Hat: ganhe experiência prática, prepare-se para exames de certificação e avalie a viabilidade das soluções para sua empresa em um ambiente real e sem gastar nada.

Leia mais

O que são IaaS, PaaS e SaaS?

IaaS, PaaS e SaaS são tipos de serviços em nuvem e oferecem diferentes níveis de controle, flexibilidade e gerenciamento de infraestrutura.

Red Hat Cloud Services: Portfólio de serviços em nuvem

Red Hat Cloud Services é um portfólio de serviços em nuvem gerenciado para desenvolver e implantar apps com rapidez e segurança em ambientes híbridos e multicloud.

Gasto comprometido: entenda como funciona e quais suas vantagens

"Gasto comprometido" é um termo usado para descrever o valor em dinheiro que o cliente se compromete a investir em soluções ou serviços em um determinado período.

Serviços de nuvem: conteúdo adicional