O que é computação em nuvem? Conheça os modelos e os provedores de nuvem que estão fortes no mercado
Published: 2020-03-30 13:47:59

Bom, hoje o artigo será mais conceitual, sei que a prática é mais valiosa para o dia a dia, mas antes da prática vem a teoria e nada melhor que a gente reforçar isso. Vejo que a demanda de computação em nuvem tem crescido de forma elevada e a tendência é ficar ainda mais forte nos próximos anos. O objetivo aqui hoje é mostrar alguns dos principais conceitos de cloud, fundamentos e alguns exemplos de serviços em nuvem.

- Mas afinal, o que é computação em nuvem?

Basicamente podemos dizer que computação em nuvem é você acessar recursos de armazenamento, redes e computação pela Internet. No mundo digital de hoje, qualquer empresa que opera precisa de muitos recursos computacionais para executar seus aplicativos em grande escala, e possui muitos dados que precisam ser armazenados e processados, é nessa etapa que computação em nuvem é usada, agilidade, flexibilidade, alta disponibilidade fazem parte do modelo de nuvem.

- Entendendo os termos elasticidade e escalabilidade.

Antes de prosseguirmos com outras definições e exemplos, devemos entender dois conceitos que estão completamente ligados em nuvem, que são os termos elasticidade e escalabilidade. Vamos entender basicamente ambos os termos:

A) Escalabilidade na nuvem: podemos dizer que é a capacidade pela qual podemos alterar o tamanho ou a contagem de aplicativos ou instâncias na nuvem. Por exemplo: você tem 3 vms em execução para um servidor web, mas esses 3 não são suficientes para suportar a carga. Nesse ponto, você precisa escalar sua vm (máquina virtual). Após a expansão, você terá 4 vms para o servidor web gerenciar a carga de trabalho e processamento, isso seria o entendimento de escalabilidade. 

B) Elasticidade na nuvem: podemos dizer que é a capacidade de aumentar ou diminuir recursos de infraestrutura dinamicamente, conforme necessário, para se adaptar às mudanças na carga de trabalho maximizando o uso de recursos. A elasticidade significa basicamente que a disponibilidade e o desempenho dos recursos (máquinas virtuais, databases, redes) podem ser aumentados ou diminuídos automaticamente para atender às mudanças na demanda dos clientes. A elasticidade é a capacidade de reconfiguração para responder a variação da demanda. Esse potencial garante a otimização dos recursos computacionais.

- Características da computação em nuvem.

Bom, existem muitos exemplos que são características de um modelo de nuvem, podemos citar:

1- Rapidez e agilidade;
2- Acesso simplificado e global aos recursos;
3- Manutenção simples;
4- Confiabilidade;
5- Provisionamento de recursos sob demanda.

- Modelos de serviço de computação em nuvem.

Existem três principais modelos de serviços de computação em nuvem, através dos quais podemos aproveitar os benefícios dos serviços em nuvem. Eles são **SaaS**, **PaaS** e **IaaS**. Vamos ver isso em breve:

**SaaS — Software como serviço**. Geralmente, sempre que exigimos algum software, precisamos comprar licenças e, se necessário, pagar taxas mensais. Porém, com o SaaS, podemos usar software online que podemos acessar de várias plataformas. Isso nos poupa dinheiro, porque precisamos pagar apenas pelo uso. Alguns exemplos conhecidos de SaaS incluem Google G Suite, Microsoft Office 365, serviço de webmail, etc.

**PaaS — Platforma como serviço**. Esse tipo de serviço usado principalmente pelos desenvolvedores de aplicativos para desenvolver e gerenciar os aplicativos usando plataformas online fornecidas pelo provedor de serviços em nuvem. O modelo de entrega de serviços permite que o cliente alugue servidores virtualizados e serviços associados para executar aplicativos existentes ou desenvolver e testar novos softwares. Exemplos de PaaS são muitos, AWS beanstalk, Google App Engine (GAE), IBM bluemix entre outros.

**IaaS — Infraestrutura como serviço**. Com esses serviços, uma organização pode usar a infraestrutura virtual fornecida pelos provedores de serviços. Isso economiza muitos investimentos em infraestrutura, como componentes de rede, hardware, armazenamento etc. O que significa que os clientes podem usar equipamentos de propriedade do provedor de serviços que eles não precisam gerenciar. O Iaas fornece a infraestrutura necessária para as empresas desenvolverem suas próprias plataformas, para serem usadas no ambiente e nos clientes. É como um servidor virtual altamente escalável, que ao contrário dos servidores tradicionais, ele pode ser usado a qualquer hora, em qualquer lugar, esse seria basicamente o modelo de IaaS.

Abaixo um exemplo de modelos de computação em nuvem:

![Fonte Edureka](https://dev-to-uploads.s3.amazonaws.com/i/8wemjgx0sujjb55vsocu.png)

- Tipos de modelos de implantação de computação em nuvem.

**Nuvem pública —** é um modelo que de nuvem que é aberto ao público, para se usar existe uma taxa, onde você cria uma conta para usar os recursos. A Amazon AWS possui um serviço de nuvem  pública.
**Nuvem privada —** Nesse tipo, a infraestrutura de nuvem pertence é controlada pela própria organização, é uma nuvem particular e operada dentro da empresa. Normalmente é usada por empresas que precisam ter alta segurança dos dados, dados que não podem ser hospedados fora da empresa.
**Nuvem híbrida —** Essa é uma combinação de mais de um modelo de nuvem, elas são conectadas entre si, podemos citar que é usada para informações sigilosas, e em muitos casos quando um determinado provedor de nuvem fornece um serviço mais em conta ou recurso, que a nuvem privada não fornece. 

- Vantagens de usar uma nuvem:

1- Minimiza os gastos em tecnologia;
2- Globalização da mão de obra barata, reduzindo o custo de capital;
3- Melhora a acessibilidade do banco de dados;
4- Ajuda a melhorar a flexibilidade do banco de dados;
5- Fácil de usar;
6- Monitoramento eficaz de projetos;
7- Ajuda a alcançar uma escala econômica.

- "Players" de cloud.

Relacionado aos provedores de nuvem, temos 3 que são atualmente os maiores do mercado. 
- Amazon AWS
- Microsoft Azure
- Google Cloud Plataform

![Players](https://dev-to-uploads.s3.amazonaws.com/i/l42u9eyffmflmyao8yhf.png)

Ambos os provedores de nuvem oferecem um ambiente semelhante à um datacenter, espaço físico, e outros componentes. A responsabilidade de hardware, licenças de todos os softwares, instalações, manutenções e upgrades são todas do fornecedor do serviço, o consumidor ou cliente paga apenas pelo serviço utilizado.

Podemos destacar também outras características que são, acesso de qualquer local, acesso multiplataforma física e lógica.Existe a escalabilidade e elasticidade, como já mencionamos acima, neste artigo, é a capacidade de aumentar ou diminuir os recursos de acordo com a demanda do cliente.

- Fontes utilizadas.

a) [Amazon AWS: O que é computação em nuvem](https://aws.amazon.com/pt/what-is-cloud-computing/?nc1=f_cc).
b) [Cloud Computing - AWS, Google Cloud e Azure - Dados na nuvem](https://www.udemy.com/course/cloud-computing-aws-google-cloud-azure/).
c) [Bóson Treinamentos: O que é Cloud Computing - Computação em Nuvem](https://www.youtube.com/user/bosontreinamentos).

Bom, espero que tenha agregado um breve aprendizado sobre computação em nuvem, a parte de teoria é muito importante, assim que você ler o artigo, escolha um player de cloud (AWS,GCP, Azure), abra uma conta gratuita e inicie seus projetos, estudos utilizando um ambiente real. Alguns artigos publicados anteriormente eu mostro o uso de algumas ferramentas em cloud, isso pode ajudar você a começar sua jornada. Desejo sucesso! #VAIIII