Cloud Computing — Simplificando o tema com conceitos e terminologias

Thiago Pontes
6 min readJul 12, 2021

Olá pessoal,

O intuito deste artigo é trazer de uma maneira bem sucinta falar um pouco sobre Cloud Computing, vivemos uma era de transformação digital e essa transformação digital é guiada por um carro chefe, trata-se de Computação em nuvem.

Computação em Nuvem (do inglês Cloud Computing) é algo que mesmo para pessoas não pertencentes ao segmento de Tecnologia da Informação (TI), em algum momento de vossas vidas já lidou ou ainda lidará com tal tecnologia.

Portanto, nada mais justo de que explanarmos um pouco sobre o conceito e suas respectivas terminologias.

A definição dada através do National Institute of Standard Technologies ainda em 2011 diz que:

“A computação em nuvem é um modelo para permitir acesso onipresente, conveniente e de rede sob demanda a um conjunto compartilhado de recursos de computação configuráveis (Exemplo: Redes, servidores, armazenamento, aplicativos e serviços) que podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação do provedor de serviços. Esse modelo de nuvem é composto por cinco características essenciais, três modelos de serviço e quatro modelos de implantação.”

  • Autoatendimento sob demanda

Forneça recursos de computação conforme necessário automaticamente, sem exigir interação humana com o provedor de serviços.

  • Amplo acesso à rede

Os recursos estão disponíveis na rede e acessados por meio de mecanismo padrão.

  • Agrupamento de recursos

Os recursos de computação do provedor são agrupados para atender vários consumidores usando o modelo de multilocatário, com diferentes recursos atribuídos e reatribuídos dinamicamente de acordo com a demanda.

  • Rápida elasticidade

Os recursos podem ser provisionados elasticamente e liberados, em alguns casos automaticamente, para escalar rapidamente para fora e para dentro conforme a demanda.

  • Serviço medido

O uso de recursos pode ser monitorado, controlado e reportado, fornecendo transparência ao provedor e ao consumidor do serviço de utilização.

Principais Modelos de Serviços

On Premises: Durante muitos anos um dos modelos mais utilizados, por permitir que ambientes fisicamente pequenos pudessem comportar um alto número de servidores, através de virtualização. Para quem teve a experiência de trabalhar com VMware, Hyper-V entre outros, durante muitos anos servidores como estes eram administrado por Analista de Suporte, Administradores de Sistemas entre outros cargos pelo qual se faziam responsáveis pelo ambiente.

IaaS (Infraestrutura como Serviço): É o modelo pelo qual o provedor de serviço de computação em nuvem se faz responsável por cuidar de toda e estrutura de data-center, responsável por administrar toda a parte de refrigeração, elétrica, hardware e toda a parte de segurança física. Neste modelo o consumidor/cliente é responsável a partir da camada de Sistema Operacional (SO), onde que o mesmo é responsável pela instalação, configuração e administração do sistema.

PaaS (Plataforma como Serviço): Atualmente é o modelo que melhor trás custo benefício aos consumidores, uma vez que é possível provisionar aplicações e ter escalabilidade e o máximo de performance, modelo este que permite aos desenvolvedores ter as ferramentas e infraestrutura necessária para criação e hospedagem de seus aplicativos Web, sem a preocupação do gerenciamento do Sistema Operacional e toda o hardware necessário para hospeda-lo e mante-lo por parte de um Administrador de Sistema.

SaaS (Software como Serviço): O modelo de Software como Serviço é um modelo baseado na Web, neste modelo todo o pacote de infraestrutura física e lógica é de responsabilidade do provedor de serviço. Os principais exemplos de SaaS seriam: Dropbox, Google Drive, Office 365 entre outros.

High Availability (Alta Disponibilidade)

De maneira bem simples, os ambientes de computação configurados para fornecer disponibilidade quase em período integral são conhecidos como sistemas de alta disponibilidade.

Significa que esses sistemas possuem hardware e software redundantes que disponibilizam o sistema, apesar de qualquer tipo de falha, sistemas bem projetados de alta disponibilidade evitam ter pontos únicos de falha.

Disater Recovery (Recuperação de Desastre)

RTO — (Recovery Time Objective): é uma métrica que indica a duração prevista do tempo e um nível de serviço dentro do qual um processo de negócios deve ser restaurado após um desastre (ou interrupção), a fim de evitar consequências inaceitáveis associadas a uma interrupção nos negócios, refere-se a continuidade dos negócios.

RPO (Recovery Point Objective): é um índice que especifica a quantidade máxima de tempo em que dados recentes podem ter sido permanentemente perdidos no caso de um incidente grave e não é uma medida direta da quantidade dessa perda.

Exemplo: Digamos que seu RTO é de 24 horas e o RPO também, apesar de o período ser igual trata-se de algo totalmente diferente, veja o que eles implicam. Se RTO é de 24 horas, significa que se um desastre acontecer, você estará em conformidade de inatividade por 24 horas, por isso digamos que os processos de TI em vigor estejam lá para que você possa se recuperar dentro de 8 horas, se você recupera neste período significa que está OK, pois você pode tolerar 24hrs de inatividade (RTO). Agora se a recuperação levar 30 horas, você não estará OK com o RTO. Já no caso do RPO digamos que a maioria das empresas fazem algum tipo de backup e você realiza o backup as 00:00hrs e o desastre ocorre às 08hrs da manhã, você terá uma perca de dadosde 08horas e se seu RPO for de 24 horas, você estará em conformidade. No entanto, não é comum ter um RPO com este valor.

Terminologias Computação em Nuvem

Fault Tolerance (Tolerância a falha): Descreve como um sistema que continua a operar adequadamente mesmo após a falha de algum componente no ecossistema. Exemplificando: Imagina uma aplicação web, onde todas as solicitações oriunda da internet batem em um load balancer (balanceador de carga) e associado a esse load balancer está 3 servidores web, caso haja a falha de um dos servidores, ainda que haja degradação no serviço, a aplicação permanecerá disponível.

Scalability (Escalabilidade)

Scale-in(out)

Representa o crescimento horizontal, imagina uma aplicação que após uma grande demanda esperada ou inesperada necessite crescer o número de máquinas disponíveis para atender a demanda.

Scale-up(down)

Representa o crescimento vertical, basicamente o crescimento de recursos computacionais de uma máquina (cpu, memória).

CAPEX vs OPEX

Este é um tema bastante bacana de ser abordar, imagina que você está criando uma empresa do zero e necessita realizar um investimento em infraestrutura, locar um espaço onde será construído seu CPD (Central de Processamento de Dados), com isso terá que adquirir servidores, no breaks, ar-condicionado entre outros requisitos para manter o local, de maneira bastante simplista esse gasto inicial para suportar a infraestrutura que está sendo criada trata-se do CAPEX.

A computação em nuvem é um exemplo clássico de OPEX, imagina se essa empresa que você está criando nascesse em um provedor de cloud, esses gastos iniciais para um ambiente On premise (aprendemos acima) seriam evitados, pois todos sabemos que o investimento em servidores robustos exige um capital elevadíssimo, com isso de maneira totalmente responsável você poderia gastar conforme o seu uso (Pay-as-you-go), termo bastante comum em Computação em Nuvem e a medida que os seus negócios fossem expandido-se você poderia aumentar a sua infraestrutura em seu provedor (Azure, AWS, GCP, OCI entre outros).

Espero ter de alguma forma explicado um pouquinho desse gigante da era de transformação digital.

--

--

Thiago Pontes

Graduado em Redes de Computadores e pós-graduado em Gestão de TI, atuo como Gerente Cloud.