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.
Curso Amazon Web Services (AWS) - S3 - Fundamentos
Conhecer o curso1) 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.
Curso Azure App Service - Fundamentos
Conhecer o curso4) 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.