A revolução da computação em nuvem

Uma estatística chocante — A Internet antes da computação em nuvem — Computação em nuvem — Uma revolução nos recursos
Amazon tem sido um nome familiar desde a minha adolescência. Com o advento do Prime e frete grátis em 2005, a empresa entrou em setores que estavam presos na fisicalidade. O espaço é limitado, a menos que seja digital. A internet oferece todas as opções e conveniências que você não encontra no Walmart Supercenter local.
Todos nós vimos as notícias do apocalipse do varejo. Assistimos ao colapso da JC Penney, Brooks Brothers e dezenas de outras lojas de varejo, antes conhecidas . Os gigantes restantes giraram. Eles se tornaram digitais, abrindo sites para disputar o mercado que a Amazon já engolia. A Amazônia é um titã. É um mercado.
Ou é? Você sabia que em 2021, o mercado online da Amazon representou apenas 26% de seus lucros? Os outros $ 18,5 bilhões foram compostos exclusivamente por sua plataforma de computação em nuvem, Amazon Web Services (AWS). Aquele nome familiar que você pensou que conhecia é apenas uma agitação lateral voltada para o público que esconde um gigante tecnológico.
A Internet Antes da Computação em Nuvem
Para entender a computação em nuvem, primeiro você precisa mergulhar no básico da internet.

A internet é inteiramente construída sobre a comunicação entre computadores. Cada jogador importante na internet (o cliente, o servidor, o banco de dados) é um computador projetado para funções específicas.
O primeiro desses computadores, o cliente , foi criado para você. É interativo. Você pode digitar, clicar, rolar, arrastar, soltar, passar o mouse, apontar — seu navegador pode processar essas ações, também chamadas de eventos. O navegador pode ouvi-los e executar operações para responder a esses eventos quando eles são executados.
Alguns desses eventos, no entanto, como enviar um formulário, não podem ser tratados sozinhos pelo navegador do seu computador. Digamos que você esteja se inscrevendo para uma nova conta no Medium. Você insere suas informações e as envia. Essas informações são então transmitidas para outro computador em uma localização geográfica diferente por meio do seu roteador. O computador que recebe as informações é chamado de servidor . A informação em si é um pedido .
Um servidor é construído para processar informações e retornar uma resposta . Este é o ciclo de solicitação-resposta . Quando você envia as informações da sua conta do Medium e é redirecionado para uma página de login com a confirmação de que sua nova conta foi criada, isso ocorre porque o servidor enviou ao seu computador uma resposta de que a conta foi criada. Os servidores fornecem respostas . Mas o que significa criar uma conta? Onde a conta existe?

É aqui que entram os bancos de dados . O servidor executa a lógica nas solicitações e envia informações ao banco de dados. Quando você criou sua conta no Medium, todas as suas informações foram enviadas do cliente (seu computador) para o servidor e depois para o banco de dados onde foram transformadas em uma representação computadorizada dentro do hardware do banco de dados. A internet é formada por computadores, sussurrando uns com os outros através de milhões de quilômetros de fios.
Infraestrutura Tradicional
Embora a internet possa parecer uma ideia abstrata, na verdade é uma coleção de coisas físicas – hardware. Esse hardware custa dinheiro para construir, manter e alimentar. Antes da computação em nuvem, as empresas precisavam criar, atualizar, potencializar e armazenar esses recursos por conta própria. Este foi um esforço caro e complicado que a pessoa média não podia pagar.
Sem falar que as empresas sofriam com o desperdício de recursos. As empresas tiveram que construir sua infraestrutura para períodos de alto tráfego. Durante esses períodos, os sites consomem mais recursos. Se a infraestrutura de uma empresa não está em uso, mas ainda precisa ser mantida, isso é um desperdício de dinheiro.
A máquina virtual e o contêiner
Entra em cena a máquina virtual (VM) para resolver um dos nossos dois problemas: o desperdício de recursos. Uma VM é um subcomputador baseado em software dentro de uma máquina física. Ele recebe apenas uma parte dos recursos (CPU, memória, armazenamento) do host e possui seu próprio kernel (o software que alimenta todas as funções básicas de um computador).

Uma única máquina física pode executar muitas máquinas virtuais. Todas essas VMs se comportam como computadores reais e são executadas em seus próprios ambientes de computação graças ao seu kernel separado. É importante observar que esses são ambientes isolados — uma VM não pode afetar a máquina host ou outras VMs operando nela.
Os contêineres, semelhantes às máquinas virtuais, também são ambientes completamente isolados que nos permitem executar aplicativos. Ao contrário das VMs, no entanto, elas não contêm seu próprio kernel. Em vez disso, eles compartilham um kernel na máquina host. Eles são leves e requerem poucos recursos. Muitos contêineres e VMs podem compartilhar recursos em uma única máquina física.
Essas tecnologias iniciaram uma mudança de paradigma na computação. Agora que várias máquinas ou contêineres virtualizados podem executar ambientes de computação separados em uma única máquina física, servidores e bancos de dados podem compartilhar seus recursos. Na verdade, as empresas poderiam até vender recursos extras se quisessem. Uma empresa pode fornecer espaço e energia em seu hardware para executar uma máquina virtual que alimenta o aplicativo de um cliente.
Foi assim que a AWS começou em 2006. Só que, em vez de vender recursos extras de computação para alguns indivíduos, eles decidiram transformar os recursos de computação em todo o seu negócio.
Computação em Nuvem
A AWS define a computação em nuvem como a venda e entrega de poder de computação, armazenamento, aplicativos e outras ferramentas por meio de uma plataforma de serviços pela Internet. A AWS permite que você compre espaço e tempo em seu hardware, e você paga apenas pelos recursos que usa, enquanto os usa.
É difícil subestimar as imensas mudanças que vieram junto com a computação em nuvem e a AWS. A enorme sobrecarga exigida pela configuração e manutenção da infraestrutura interna não existe mais. Agora, você pode criar um aplicativo, conteinerizá-lo com uma ferramenta como o Docker e implantá-lo na AWS com apenas alguns cliques.
Não há mais necessidade de desperdício de recursos em servidores e bancos de dados. A AWS vende seus recursos disponíveis para milhões de empresas e indivíduos, todos compartilhando seu poder computacional particionado e capacidades de armazenamento. Precisa hospedar um servidor? O AWS EC2 cobre você. Precisa armazenar informações do usuário em um banco de dados? Crie uma instância de banco de dados com o AWS RDS. Na verdade, a AWS oferece dezenas de recursos diferentes para todos, desde grandes corporações até pequenas empresas e indivíduos como você.
Esses não são os únicos benefícios oferecidos pela computação em nuvem. Outro grande benefício é a velocidade. Se você tentou configurar seu próprio servidor, uma questão urgente é onde colocá-lo. Esta não é uma questão trivial. Um dos maiores custos de velocidade em uma rede é a distância. Ou seja, distância do cliente solicitando dados ao servidor que emite a resposta. Maior distância geográfica corresponde a tempos de carregamento mais longos.

Em seguida, vem a computação em nuvem, onde uma empresa como a AWS pode (e tem) configurar infraestrutura em países de todo o mundo. Você quer lançar seu aplicativo em Cingapura? Há um centro de dados para isso. E o Brasil? A AWS cuida de você. Agora seus usuários podem enviar e receber informações muito mais rápido do que antes.
Outro grande benefício da computação em nuvem é o particionamento de recursos. Lembre-se, você só paga pelos serviços que usa, quando os usa. Imagine que você é um varejista que vende decorações de Natal. Você está executando um site hospedado pela AWS. Na maior parte do ano, você não recebe muito tráfego. Então, dezembro rola. Você colocou alguns anúncios. Você é destaque em um segmento nacional de notícias matinais para se sentir bem.
De repente, o negócio está crescendo. As solicitações para o seu site disparam. Todos e sua avó querem seus enfeites personalizáveis e enfeites de árvore de gengibre. A questão é: como seu servidor lida com o tráfego se sua infraestrutura foi configurada assumindo uma certa quantidade de tráfego e sua suposição estava errada?
Na infraestrutura tradicional, não. Seu aplicativo pode estar em risco de latência ou falha se você projetou seu sistema para lidar com um número esperado de interações e esse número foi excedido. Com a computação em nuvem, no entanto, existem ferramentas incorporadas ao sistema que replicarão automaticamente seu servidor ou banco de dados em contêineres e particionarão mais recursos para seu aplicativo. Na AWS, ele é incorporado a um serviço abrangente chamado Elastic Beanstalk, que permite implantar, provisionar, balancear a carga e dimensionar automaticamente seu aplicativo de acordo com suas necessidades. Você paga pelos recursos de que precisa, somente quando precisa deles. Este ano, o Natal está salvo.
Uma revolução nos recursos
A computação em nuvem revolucionou o mercado ao disponibilizar essas ferramentas para todos. As pequenas empresas agora têm a mesma infraestrutura que uma empresa da Fortune 500 já cultivou e manteve meticulosamente. Os dados podem ser armazenados e servidos rapidamente em todo o mundo. O alto tráfego de entrada pode ser tratado com dimensionamento automatizado. As empresas não precisam mais se preocupar com a complexidade do design de hardware de servidor e banco de dados. Graças à computação em nuvem, o futuro dos negócios é rápido, escalável e acessível.