Computação em nuvem

Características que um serviço precisa ter pra ser considerado Cloud Computing

Saiba quais são os principais requisitos para um serviço ser considerado cloud computing e quais os principais tipos e níveis de serviço.

há 5 anos 11 meses

Formação Administrador AWS
Conheça a formação em detalhes

Muitas pessoas costumam acreditar que, pelo simples fato de possuírem um servidor em um datacenter externo, já estão utilizando computação em nuvem ou cloud computing. Outro erro muito comum é pensar que qualquer serviço que vende processamento de dados externo é um serviço de nuvem. Na verdade, existem cinco pontos que caracterizam a computação em nuvem, segundo a NIST (National Institute of Standards and Tecnology). Veremos quais são.

Amazon Web Services (AWS) - Ferramentas de Rede e Distribuição de Conteúdo – Fundamentos
Curso Amazon Web Services (AWS) - Ferramentas de Rede e Distribuição de Conteúdo – Fundamentos
Conhecer o curso

1) Autosserviço sobre demanda

Um serviço de nuvem deve prover ferramentas para que o cliente possa administrar seus recursos de forma independente, sem que seja necessária a intervenção de um funcionário específico do serviço de nuvem, ou mesmo chegar a partes de mais baixo nível do datacenter. Geralmente essa administração é feita através de plataformas de administração web, SDKs ou APIs.

2) Amplo acesso via rede

Os serviços de nuvem devem ter amplo acesso via rede, permitindo que diversos dispositivos clientes possam se conectar aos recursos hospedados nele. Além da variedade de dispositivos, pela própria natureza da nuvem, a conectividade deve envolver meios de redundância, além da alta largura de banda. Estes pontos são muito importantes, já que a tendência é que uma grande quantidade de dispositivos façam parte de uma aplicação que esteja hospedada na nuvem.

3) Isolamento entre ambientes

Esse conceito também pode ser encontrado com nome de “agrupamento de recursos multi-inquilino”. Um inquilino (ou “tenant”, expressão inglesa comumente utilizada) é um cliente que utiliza uma determinada aplicação hospedada em um provedor de cloud computing, sendo que esta mesma aplicação é utilizada por vários e diferentes clientes ao mesmo tempo. Por isso, aplicações que dão suporte à utilização de vários clientes dentro da mesma estrutura são chamadas aplicações “multi-inquilino” (ou “multi-tenant”).

Basicamente, os serviços de nuvem devem possuir a capacidade de abrigar diversos ambientes sem que estes causem interferências entre si, evitando que as ações de um inquilino possam influenciar no ambiente e nos dados dos demais inquilinos. Estes ambientes podem, por exemplo, compartilhar um mesmo recurso (como um dispositivo de hardware ou até mesmo um banco de dados), sem que ocorram conflitos entre os inquilinos. Os diferentes inquilinos também não devem acessar dados que não sejam de sua propriedade.

Azure Virtual Machine - Fundamentos
Curso Azure Virtual Machine - Fundamentos
Conhecer o curso

4) Elasticidade rápida

O cliente deve ser capaz de aumentar os recursos computacionais rapidamente de forma manual ou automática, sem a necessidade de interação humana ou de processos demorados de encomenda de novos equipamentos. Por exemplo: se sua aplicação está enfrentando uma carga muito grande de processamento, o serviço deve prover uma maneira de se aumentar a capacidade do processador ou a quantidade de memória disponível para o processamento, além de permitir que retornemos as configurações para o estado inicial após a carga de processamento. Todo esse redimensionamento deve ocorrer de maneira rápida e sem a necessidade de intervenção de um funcionário do serviço de cloud computing.

5) Mensuração dos serviços

O serviço de nuvem deve permitir que seus clientes possam consultar, de forma fácil, a quantidade de recursos utilizados em um determinado intervalo de tempo. Entre estes recursos que são interessantes de serem mensurados, podemos citar o armazenamento utilizado, a capacidade computacional utilizada pelo serviço e a largura de banda (já que os serviços de nuvem geralmente calculam suas tarifas com base nestes números).

Se um serviço não possuir essas 5 características, não podemos o considerar como sendo um serviço de computação em nuvem.

Tipos de serviço de nuvem

Ainda seguindo a definição do NIST, existem 4 tipos de serviços de nuvem. O tipo da nuvem está ligado ao escopo de acesso. Em outras palavras, definimos o tipo da nuvem com base em quem pode alocar recursos dentro dela.

  • Nuvem Privada - Nuvem criada especificamente para uma corporação. Apenas recursos ligados à corporação podem ser alocados nela;
  • Nuvem Comunitária - Serviço de nuvem criado especificamente para um grupo fechado. Somente aquele conjunto de pessoas ou empresas podem usar seus recursos;
  • Nuvem Pública - Nesse tipo de nuvem, o serviço é aberto para qualquer pessoa ou empresa. É o tipo mais acessível, uma vez que não é necessário montar sua própria estrutura, como é o caso dos dois tipos anteriores;
  • Nuvem Híbrida - A nuvem híbrida combina características dos tipos público e privado com objetivo de suprir o ponto fraco de cada uma delas. Este é o tipo de nuvem que se encontra em maior ascensão no momento.

Nível de serviço de nuvem

Os serviços de nuvem ainda são classificados pelo nível de serviço:

  • IaaS (infrastruture as a Service) - A empresa de nuvem vende a infraestrutura de seus servidores como serviço. O cliente ainda continua responsável por toda a configuração do ambiente e sistema operacional;
  • PaaS (Platform as a Service) - A empresa, além de prover a infraestrutura do datacenter, também oferece a plataforma para o cliente fazer o deploy do seu software. O cliente geralmente não precisa se preocupar com itens como configurações de rede e sistema operacional;
  • SaaS (Software as a Service) - A empresa de nuvem provê o software pronto para o usuário utilizar. O cliente não precisa se preocupar com hardware ou desenvolvimento do software em questão, pois o produto já está pronto para ser usado.

Kubernetes - Rollouts, objetos de configuração, volumes e StatefulSet
Curso Kubernetes - Rollouts, objetos de configuração, volumes e StatefulSet
Conhecer o curso

Autor(a) do artigo

Elton Fonseca
Elton Fonseca

Professor e desenvolvedor. Formado em análise e desenvolvimento de sistema, pós graduado em engenharia e arquitetura de software. É autor de cursos em diversos temas, como, desenvolvimento back-end, cloud computing e CMSs. Nas horas vagas adora estudar sobre o mercado financeiro, cozinhar e brincar com pequeno Daniel. @eltonfonsecadev

Todos os artigos

Artigos relacionados Ver todos