Quando a gente começa aprender sobre nuvem, nos deparamos com uma série de conceitos que podem parecer super confusos no primeiro momento e muitas das vezes dão um nó nas nossas mentes. E assim, com a cultura de cloud vindo cada vez mais forte, conhecer e entender esses conceitos vem sendo fundamental para planejar da melhor forma o uso das várias ferramentas de nuvem no nosso dia a dia, sejam elas para serviços que utilizamos, como acessamos uma aplicação ou até mesmo quando precisamos criar uma infra inteira do zero.
É bem comum vermos em vários lugares as siglas IAAS, PAAS, SAAS quando a gente fala sobre cloud computing. Esses termos são indispensáveis para entender o grau de controle e personalização que temos sobre a nossa aplicação em um provedor de nuvem. As siglas tem os seguintes sgnificados:
- IAAS: Infraestrutura como Serviço
- PAAS: Plataforma como Serviço
- SAAS: Software como Serviço
Junto com esses conceitos de computação temos a matriz de responsabilidade compartilhada, que é basicamente a definição dquem é responsável pelo quê quando estamos lidando com um provedor de nuvem. É por meio dela que a gente entende o que os termos IAAS, PAAS, SAAS realmente são e quais os deveres do usuário e da nuvem na utilização de cada um.
Obs: Para os exemplos de serviços em cloud, o provedor será a AWS.
IAAS - INFRAESTRUTURA COMO SERVIÇO
No IaaS, o cloud provider provê pra gente os recursos básicos de computação para montarmos nossa infra sob demanda (Você “aluga” um servidor). Nesse modelo a gente basicamente adquiri servidores, armazenamento ou rede em nuvem ao invés de comprar um hardware físico.
Um bom exemplo de IAAS na AWS é o EC2. Nesse serviços as responsabilidades são separadas da seguinte forma:
RESPONSABILIDADE DA AWS
- Manter o hardware físico do serviço (servidores, rede, armazenamento)
- Manter o data center seguro
- Manter a disponibilidade e redundância do serviço (NÃO DA SUA APLICAÇÃO)
- Fornecer o sistema operacional do serviço
RESPONSABILIDADE DO USUÁRIO
- Instalar o sitema operacional
- Instalar algum middleware para sua aplicação
- Gerenciar o backup e DR da sua aplicação
- Instalar o sistema operacional do serviço
- Se preocupar com os patches e atualizações do seu S.O
- Gererenciar a configuração de desempenho da sua instância
- Segurança da Aplicação
- Cuidar dos dados gerados pela aplicação
- Fazer a configuração dos containers
Usar o IaaS no seu dia a dia pode fazer com que você tenha uma gerência maior do serviço que está hospedando a sua aplicação, mas por outro lado as suas responsabilidades tendem a ser maior também, o que pode dar mais trabalho e ter um tempo maior de configuração.
Para deixar o entendimento mais fácil, vou usar a famosa analogia “Pizza as Service”.
Nesse cenário é como se a gente comprasse uma pizza congelada na pizzaria e fosse assar em casa. A gente teria que se preocupar com vários detalhes até o momento de consumir a pizza como, ter que pre aquecer o forno, ter objetos que nos ajudem a comer como talheres, copos, mesa, cadeira e também com a bebida que vamos tomar em conjunto. Por mais que tenhamos aqui muitas coisas para fazer a gente tem todo controle sobre como a pizza vai ser preparada.
PAAS — PLATAFORMA COMO SERVIÇO
Ao contrário do IaaS, o PaaS é um modelo onde a gente não precisa gerenciar nada da infra subjacente. O que a gente faz, é se preocupar com a nossa aplicação, definir os parâmetros dela e usar o serviço escolhido pois todas as tarefas de gerencia são realizadas pelo cloud provider.
Na AWS um exemplo bem legal é o fargate, que gerencia pra você toda a infra subjacente em containers e você se preocupa com a parametrização da sua aplicação. As responsabilidades são separadas da seguinte forma:
RESPONSABILIDADE DA AWS
- Manter o hardware físico do serviço (servidores, rede, armazenamento)
- Manter o data center seguro
- Manter a disponibilidade e redundância do serviço (NÃO DA SUA APLICAÇÃO)
- Fornecer e instalar o sistema operacional do serviço
- Servir como middleware para sua aplicação
- Se preocupar com os patches e atualizações
- Fazer a orquestração dos containers
- Garantir a execução e escalonamento dos containers
RESPONSABILIDADE DO USUÁRIO
- Gerenciar o backup e DR da sua aplicação
- Instalar a aplicação
- Cuidar dos dados gerados pela aplicação
- Fazer a configuração dos containers
- Segurança da Aplicação
Usar o PaaS para as nossas aplicações é pode ser mais benefico em relação ao IaaS (Quando não precisamos ter um controle ou gerencia maior da nossa infraestrutura), pois não precisamos nos preocupar com a infra subjacente, manutenção do servidor, conseguimos escalar de maneira fácil, muitos serviços ou plataformas PaaS possuem segurança integrada como criptografias e afins, e o melhor é que o nosso tempo maior será para desenvolvimento da aplicação.
No nosso cenário da Pizza as Service, no modelo PaaS seria como se a gente pedisse um delivery. A pizzaria(cloud provider) se preocupa com todo o preparo da pizza como massa, recheio e entrega, você precisa se preocupar somente em se preparar para comer a pizza.
SAAS — SOFTWARE COMO SERVIÇO
O SaaS é um modelo com menos responsabilidades para o usuário e consequentemente com o nivel de abstração mais alto entre os demais modelos citados anteriomente. Aqui, o cloud provider faz a gerencia de toda infraestrutura e plataformas e o usuário só se preocupa em acessar a aplicação pela internet.
Um bom exemplo de SaaS é a Netflix, onde ao invés da gente correr em uma loja para comprar um filme, a gente simplesmente faz uma assinatura com nossos dados e usa esse serviço sem nos preocupar com nada a respeito dele no quesito de infraestrutura, desenvolvimento da aplicação, disponibilidade, etc, a gente só quer acesso ao conteudo da aplicação.
Usando o cenário da Netflix, as responsabilidades ficariam assim:
RESPONSABILIDADE DA NETFLIX
- Manter toda a infraestrutura
- Desenvolver a aplicação
- Manter a disponibilidade e redundância do serviço
- Se preocupar com a segurança de todo o serviço/aplicação
- Se preocupar com a disponibilidade e escalabilidade
RESPONSABILIDADE DO USUÁRIO
- Usar boas práticas para segurança da conta, como senhas fortes
- Estar de acordo com os termos e conformidades da aplicação
- Tomar cuidado com a visualização dos dados pessoais na aplicação
Pra fechar a analogia do Pizza as Service, no modelo PaaS esse cenário se aplica quando vamos a pizzaria e comemos nossa pizza lá mesmo. Aqui a gente não se preocupa com nada, somente em chegar e consumir o alimento enquanto a pizzaria fornece tudo para gente.
CONSIDERAÇÕES
As ideias, conceitos, modelos, analogias que falamos nesse blogpost são bem importantes e servem de exemplos para nos mostrar como o gerenciamento e a responsabilidade compartilhada entre indivíduos/usuários e a nuvem/provedores de serviços operam em conjunto.
E no final de tudo podemos dizer que cloud computing e seus modelos de serviço são super parecidos com uma pizzaria, pois sempre tem uma escolha que funciona para gente em uma determinada ocasião, seja ela assar pedir a pizza em um app de delivery ou ir atá pizzaria e comer por lá.
Top comments (0)