As empresas e organizações que antes dependiam de data centers caros para alojar seus recursos de processamento agora estão mudando seus custos e esforços de manutenção para soluções escaláveis e baseadas no pagamento conforme o uso. Nuvem é um conceito amplo que fornece uma ampla gama de soluções para um número muito grande de usuários. A maioria das pessoas se refere a uma solução em nuvem em termos de modelo de implantação e modelo de serviços. A escolha do modelo de serviço certo é vital para o fornecimento de soluções baseadas em nuvem. Existem três modelos de serviço em nuvem: Software como Serviço (SaaS), Plataforma como Serviço (PaaS) e Infraestrutura como Serviço (IaaS). Cada modelo de serviço em nuvem fornece um nível de abstração que reduz os esforços exigidos pelo consumidor para construir e implantar sistemas. Hoje, porém, estamos prestes a ajudá-lo a entender algumas diferenças importantes entre IaaS e PaaS.
A infraestrutura como serviço (IaaS) está na camada mais baixa da hierarquia de entrega de serviços e fornece um datacenter virtual na nuvem. IaaS não é realmente um novo conceito. De fato, as pessoas têm se colocado nos data centers desde que eles existem. Ele fornece os recursos de computação muito básicos - máquinas com sistemas operacionais e armazenamento como serviços padronizados na rede. Ele fornece infraestrutura completa, geralmente um ambiente de virtualização de plataforma, como um serviço, juntamente com armazenamento e rede brutos. O IaaS fornece um mecanismo para que as pessoas substituam todas as suas necessidades de hardware do data center. Os serviços comuns de IaaS incluem balanceamento de carga, provisionamento de host, conectividade de rede, firewalls e armazenamento. Ela exige a capacidade de abstrair recursos, além de fornecer conectividade física e lógica a esses recursos e fornecer um conjunto de APIs, que permitem a interação com a infraestrutura pelos clientes. O exemplo mais proeminente de IaaS é o Amazon Web Services (AWS).
Além da IaaS, vários serviços em nuvem fornecem suporte à camada de aplicativos para o trabalho de big data, às vezes chamado de soluções gerenciadas, ou Platform as a Service (PaaS). O que é IaaS para infraestrutura, PaaS é para aplicativos. Abstrai muitas das funções padrão de nível de pilha de aplicativos e fornece essas funções como um serviço. Ele fornece a tecnologia de hardware subjacente, como servidores virtuais, sistemas operacionais, soluções de banco de dados, ferramentas de desenvolvedor e suporte de rede. O hardware e o software são gerenciados pelo provedor da plataforma. O provedor facilita a implantação de aplicativos em nuvem, gerenciando a plataforma de desenvolvimento de software em nuvem, eliminando a necessidade de configurar ou dimensionar itens como banco de dados e reduzindo sua carga de trabalho e carga de manutenção. Os desenvolvedores não precisam se preocupar em executar atualizações de hardware ou sistema operacional. Em vez disso, eles têm controle sobre os aplicativos implantados e, possivelmente, as configurações do ambiente de hospedagem de aplicativos. Hoje, os conhecidos provedores de soluções PaaS incluem o Windows Azure e o Google App Engine.
O IaaS e o PaaS são muito diferentes um do outro e a Plataforma como Serviço não é um recurso da Infraestrutura como Serviço. O que é IaaS para infraestrutura, PaaS é para aplicativos. O IaaS é sobre recursos e por recursos, queremos dizer servidores, discos, redes e endereços IP. O IaaS fornece todos esses recursos sob demanda. PaaS é tudo sobre aplicativos. Um aplicativo é um sistema, uma combinação de código e todos os serviços que se comunicam com esse código a qualquer momento e não é um recurso.
O modelo IaaS fornece um datacenter virtual na nuvem. Com o IaaS, você obtém servidores dedicados com endereços IP dedicados. É a versão mais rápida da hospedagem na web dedicada em termos de provisionamento. Ele permite que o provedor de infraestrutura abstraia detalhes e recursos específicos da infraestrutura, além de fornecer conectividade física e lógica a esses recursos. No entanto, o uso de IaaS apenas leva você até agora com aplicativos de big data; eles não abordam nada em um nível superior. Combine o poder da hospedagem dedicada com a facilidade da hospedagem compartilhada e você obtém PaaS.
O IaaS, como o nome sugere, fornece infraestrutura de computação em nuvem e é um meio de fornecer recursos de computação muito básicos - máquinas com sistemas operacionais e armazenamento como serviços padronizados na rede. O IaaS fornece servidores físicos e virtualizados, armazenamento de dados baseado em nuvem e muito mais. O PaaS abstrai grande parte das funções padrão de nível de pilha de aplicativos e fornece essas funções como um serviço. Ele fornece a tecnologia de hardware subjacente, como servidores virtuais, sistemas operacionais, soluções de banco de dados, ferramentas de desenvolvedor e suporte de rede.
O exemplo mais proeminente de infraestrutura como serviço é o Amazon Web Services (AWS), que é o nome dado pela Amazon às suas ofertas de computação em nuvem. Seus produtos Elastic Compute Cloud (EC2) e Simple Storage Service (S3) oferecem serviços básicos de computação e armazenamento. Outros exemplos de IaaS são o Google Compute Engine, o CISCO Metapod, o Rackspace, o DigitalOcean etc. Os conhecidos fornecedores de soluções PaaS incluem o Windows Azure, o Google App Engine. Force.com, Apache Stratos, Heroku, OpenShift e muito mais.
Em poucas palavras, o que é IaaS para infraestrutura, PaaS é para os aplicativos. O IaaS é sobre recursos e por recursos, queremos dizer servidores, discos, redes e endereços IP. O IaaS fornece todos esses recursos sob demanda. O PaaS, por outro lado, fornece a tecnologia de hardware subjacente, como servidores virtuais, sistemas operacionais, soluções de banco de dados, ferramentas de desenvolvedor e suporte de rede. Abstrai muitas das funções padrão de nível de pilha de aplicativos e fornece essas funções como um serviço. Cada modelo de serviço em nuvem fornece um nível de abstração que reduz os esforços exigidos pelo consumidor para construir e implantar sistemas.