Resumo: Infraestrutura como um Serviço (IaaS) é uma infraestrutura de computação em nuvem que oferece recursos de computação, rede e armazenamento pela Internet, por meio de um modelo de assinatura com escalabilidade. Como é oferecido como um serviço de assinatura, ele pode evoluir ou diminuir conforme necessário, proporcionando maior flexibilidade em comparação com as infraestruturas na premissa.
No início dos anos 2010, a velocidade da internet aumentou a um ponto em que os serviços digitais poderiam ser entregues pela internet, provocando a revolução da nuvem. As empresas começaram a mover seus aplicativos para modelos de software como um serviço (SaaS). A partir daí, houve um aumento no tráfego da Web que exigia mais recursos de hardware e a necessidade de novas ferramentas para automatizar o gerenciamento de hardware. As empresas começaram a oferecer recursos de infraestrutura baseados em nuvem e ferramentas de gerenciamento como serviço, ou infraestrutura como um serviço (IaaS).
O que é infraestrutura como um serviço?
IaaS é uma infraestrutura de computação em nuvem que oferece recursos de computação, rede e armazenamento pela Internet por meio de um modelo de assinatura com escalabilidade. É um serviço de nuvem fundamental que pode criar ou complementar a plataforma como serviço (PaaS) e SaaS. Muitas equipes ágeis e de DevOps usam IaaS para criar plataformas. Como é oferecido como um serviço de assinatura, ele pode ser escalado para mais ou menos conforme necessário, proporcionando maior flexibilidade em comparação com as infraestruturas na premissa.
IaaS é uma coleção de recursos computacionais físicos e virtuais que oferecem os recursos necessários para executar aplicativos e cargas de trabalho na nuvem. Os provedores de IaaS podem gerenciar os data centers de um cliente, provisionar computação virtual e oferecer serviços de rede e armazenamento aos clientes.
A hospedagem tradicional "bare metal" dá acesso direto ao hardware e controle das especificações de hardware pela internet. Por outro lado, não oferece computação, rede e armazenamento virtualizados. Com a hospedagem bare metal, o acesso remoto é concedido e dado ao cliente de hospedagem, que então faz a conexão remota com a máquina e a configura. Ela pode oferecer um desempenho superior ao IaaS para coisas como computação de GPU, computação de alto desempenho, dados de análise e muito mais. No entanto, não inclui os benefícios da IaaS, como a capacidade de provisionar e dimensionar recursos com rapidez.
Construído sobre a hospedagem bare metal é "hospedagem compartilhada" ou "hospedagem virtual". A hospedagem compartilhada usa a virtualização para fragmentar uma máquina individual em máquinas virtuais separadas. A virtualização é o processo de nível de sistema no qual recursos como RAM, CPU, disco ou rede podem ser virtualizados e representados como vários recursos individuais. Essa virtualização de recursos permite que uma única máquina física hospede vários locatários como se estivessem em máquinas separadas.
Ao dimensionar a hospedagem virtual e bare metal para data centers ou uma infraestrutura de cluster, você cria IaaS. Em vez de usar uma máquina, uma sala cheia de servidores pode ser virtualizada em unidades computacionais individuais.
Ao trazer configuração e provisionamento remotos para salas cheias de servidores, o IaaS permite a computação em nuvem. Além de recursos do sistema operacional, o IaaS também oferece recursos de infraestrutura pré-configurados e de serviço completo, como balanceadores de carga, gerenciamento de DNS, servidores de e-mail, portas de segurança e muito mais. Estes recursos são muitas vezes dispendiosos para desenvolver e manter como esforços de primeira parte.
Como o IaaS se relaciona com contêineres?
Hoje em dia, muitas soluções de IaaS oferecem hospedagem de contêineres, ou contêineres como serviço (CaaS), como parte da infraestrutura disponível. CaaS é uma forma de hospedagem de contêineres com base em IaaS que permite que desenvolvedores de software e departamentos de TI carreguem, organizem, executem, escalem e gerenciem contêineres usando virtualização baseada em contêineres. O CaaS usa contêineres como o recurso principal, em vez de máquinas virtuais (VMs).
Quais plataformas tecnológicas populares oferecem IaaS?
Alguns exemplos populares de IaaS incluem Amazon AWS, Microsoft Azure, Google Cloud, DigitalOcean e Linode. Algumas das plataformas que oferecem soluções de IaaS na premissa incluem Amazon Outposts, Azure Stack e Google Anthos. Se sua organização quiser criar seu próprio IaaS, existem algumas soluções populares como OpenStack, VMware vCloud e Azure Stack.
IaaS, PaaS e SaaS são camadas diferentes de uma pilha de serviços em nuvem. IaaS é a camada base inferior e forma a infraestrutura subjacente que permite e suporta PaaS e SaaS.
PaaS é uma infraestrutura que dá suporte ao desenvolvimento de aplicativos. PaaS oferece aos desenvolvedores acesso a linguagem de programação gerenciada e ecossistemas de banco de dados nos quais eles podem implementar automaticamente seu código de aplicativo. Assim os desenvolvedores podem manter o foco no código de lógica de negócios principal e não na manutenção de sua infraestrutura de ambiente de programação preferida. Alguns ecossistemas PaaS populares são Ruby on Rails, Node.js Express e Python Django.
Os produtos SaaS são aplicativos de software especializados totalmente funcionais oferecidos pela nuvem, como CRMs, aplicativos de calendário, webmail, e-commerce e muito mais. Um SaaS pode ser construído em um PaaS. PaaS disponibiliza o ecossistema de linguagem e banco de dados em que os desenvolvedores escrevem código para criar SaaS.
A IaaS permite que sua organização dimensione as necessidades de infraestrutura de acordo com a demanda. É uma vantagem, pois muitas organizações não querem uma infraestrutura fixa e precisam evoluir sua infraestrutura para responder às necessidades em evolução. A IaaS dá às equipes de desenvolvimento de software mais autonomia para os recursos de requisição conforme necessário, sem depender de um administrador de sistemas que faça tudo manualmente. Ela reduz o custo de pessoal e ajuda a desenvolver equipes de DevOps enxutas.
Alguns motivos pelos quais uma organização pode querer implementar IaaS incluem:
Atrito e atrasos ao tentar configurar ou requisição de novos recursos de hardware
Altos custos de infraestrutura que não são contabilizados com o uso
Incapacidade de ajuste rápido a picos no tráfego
Se sua organização não usar IaaS, vai enfrentar uma curva de aprendizado e um custo de comutação. Pode ser mais fácil usar uma oferta popular de IaaS de terceiros, que pode economizar custos associados à compra de hardware necessário para instalar IaaS. O desafio muitas vezes reside em aprender a usar as APIs da plataforma de terceiros e migrar os recursos existentes para essa plataforma.
Se uma organização já tiver um data center e quiser implementar e gerenciar um IaaS, pode ser um esforço caro e demorado.
Como implementar IaaS
Existem dois caminhos populares para implementar IaaS. O primeiro é o caminho hospedado, onde uma organização cria uma conta com um host IaaS de terceiros. Antes de selecionar um provedor hospedado, é importante primeiro entender as necessidades específicas de sua empresa para servidores, rede e armazenamento, uma vez que existem vários provedores que oferecem diferentes níveis de recursos. Depois que um provedor é selecionado e uma conta é estabelecida, uma organização precisa identificar partes da infraestrutura existente que sejam mais adequadas para migrar para o novo host. Este deve ser um processo incremental.
Uma alternativa é estabelecer uma arquitetura IaaS na premissa com seu hardware existente, o que envolve a seleção de uma plataforma de tecnologia IaaS, como OpenStack, VMware vCloud ou Azure Stack. A implementação do IaaS é feita usando hardware separado da infraestrutura existente. Quando o IaaS estiver instalado e operacional, o mesmo processo de migração que o caminho hospedado deve ocorrer.
O IaaS foi criado a partir de um histórico de avanço na administração do sistema e no gerenciamento de hardware. Ele dá às empresas de todos os tamanhos acesso a recursos de tecnologia de infraestrutura sem a necessidade de comprar, manter e gerenciar uma infraestrutura na premissa. Assim, até mesmo a menor startup pode ter acesso à infraestrutura de nível empresarial, o que promove a inovação.