Fundamentos da computação em nuvem

Por que a computação em nuvem existe

Os atrasos de compra, o hardware ocioso e os gastos antecipados que tornavam a TI tradicional dolorosa, e as 3 tecnologias que precisaram convergir antes que a nuvem pudesse substituí-la.

Iniciante 13 minutos 4 Objetivos de aprendizado
  1. Explicar os problemas de custo e velocidade que a TI tradicional on-premises criava para times em crescimento
  2. Rastrear as 3 tecnologias que precisaram convergir antes de a computação em nuvem ser possível
  3. Identificar os anos de lançamento da AWS, do Google App Engine e do Microsoft Azure
  4. Distinguir a ideia com décadas de existência por trás da nuvem da tecnologia recente que a tornou prática

Uma data de lançamento que ninguém acerta de verdade

Imagine um time preparando o lançamento de um produto novo daqui a 6 meses. Antes de escrever uma única linha de código, alguém precisa responder a uma pergunta que ninguém consegue acertar com precisão: quantos servidores vão ser necessários no dia do lançamento? Se o time calcular abaixo, o site cai assim que chega tráfego real. Se calcular acima, a empresa acabou de gastar dezenas de milhares de dólares em máquinas que vão passar a maior parte da vida ociosas, zumbindo em um rack, consumindo eletricidade, esperando um pico de tráfego que talvez nunca chegue.

Esse cálculo antes era inevitável. Comprar um servidor não era uma decisão do mesmo dia. Um pedido de compra, uma cadeia de aprovações, o envio do fornecedor, a instalação no rack e a configuração de rede facilmente somavam semanas antes de o hardware servir para alguma coisa. Depois que chegava, alguém do time precisava mantê-lo funcionando: aplicar patches de segurança, trocar discos que falhavam, manter a sala fria, e com o tempo aposentá-lo e substituí-lo, tenha o negócio crescido até aquela capacidade ou não.

Este é o mundo que a computação em nuvem veio resolver: uma compra grande e antecipada (um gasto de capital, ou CapEx) feita meses antes de você realmente precisar daquela capacidade, baseada em um cálculo que muitas vezes dá errado em um sentido ou no outro. Mais adiante neste domínio você vai ver esse modelo de custo comparado em detalhe com a alternativa de pagamento por uso da nuvem.

Uma ideia mais antiga que o computador pessoal

É tentador pensar na nuvem como uma invenção nova dos anos 2000. Não é. A ideia central, deixar vários usuários compartilharem um computador grande e caro em vez de cada um ter o seu, vem dos anos 60. Os mainframes daquela época custavam mais do que a maioria das empresas conseguia justificar comprar sozinha, então fornecedores e universidades construíram sistemas de time-sharing: dezenas de pessoas conectadas ao mesmo mainframe físico através de terminais remotos, cada uma convencida de que tinha a máquina só para si. Em meados dos anos 60, centenas de empresas já vendiam acesso a tempo de computação compartilhado dessa forma.

O time-sharing não sobreviveu aos anos 70 e 80. Os minicomputadores, e depois os computadores pessoais, ficaram baratos o bastante para as empresas simplesmente comprarem sua própria computação em vez de alugar uma fatia da de outra pessoa. O mercado de mainframes compartilhados desmoronou, mas a ideia de fundo, que muitos usuários podiam dividir um mesmo bloco grande de poder de computação, nunca desapareceu. Só precisava de tecnologia melhor para voltar.

As 3 peças que precisaram se encaixar

A computação em nuvem moderna precisou de 3 avanços separados convergindo antes de conseguir funcionar na escala que você vê hoje.

O primeiro foi a virtualização: software que deixa uma máquina física rodar vários sistemas independentes e isolados ao mesmo tempo, com segurança. A IBM já tinha provado que isso era possível em mainframes desde os anos 70, mas ficou como um truque exclusivo de mainframes por décadas. Isso mudou em 1999, quando a VMware trouxe a virtualização prática para os servidores x86 comuns que a maioria das empresas usava, transformando uma especialidade de mainframes em algo que qualquer data center podia rodar. A próxima lição explica exatamente como isso funciona.

O segundo foi o acesso a internet confiável e barata. O time-sharing dos anos 60 significava discar para uma máquina específica através de uma linha dedicada. Uma nuvem precisa poder ser alcançada de qualquer lugar, com conexões de internet comuns, algo que só ficou realista quando a banda larga se espalhou nos anos 90 e 2000.

O terceiro foi uma empresa disposta a alugar sua capacidade sobrando em grande escala. A Amazon já tinha construído data centers enormes para lidar com seus próprios picos de tráfego de varejo, como a temporada de fim de ano, e percebeu que essa capacidade ficava quase sem uso o resto do ano. Em 2006, ela abriu essa infraestrutura para o público como Amazon Web Services, com o Amazon EC2 para computação e o Amazon S3 para armazenamento. O Google seguiu em 2008 com o Google App Engine, e a Microsoft lançou o Microsoft Azure em 2010. Em apenas 4 anos, os 3 provedores que ainda dominam o mercado hoje já estavam no ar.

O que a nuvem realmente elimina

Junte as peças e você vai ver exatamente o que mudou. O jogo de adivinhar capacidade quase desaparece, porque você pode adicionar ou remover servidores em minutos em vez de semanas. A espera de várias semanas para o hardware chegar e ser instalado desaparece, porque não há hardware sendo enviado para você. A grande compra antecipada desaparece, porque você paga pelo que usa enquanto usa em vez de comprar equipamento antes de precisar dele. E o trabalho de manutenção constante, aplicar patches, resfriar, trocar discos que falham, passa para o provedor, cujo negócio inteiro é fazer isso em uma escala que nenhuma empresa sozinha conseguiria igualar.

Nada disso torna a ideia dos anos 60 nova de novo. Torna ela, pela primeira vez, prática: segura para rodar em escala, alcançável de qualquer lugar, e oferecida como um serviço ao qual você simplesmente assina em vez de construir você mesmo.

Para onde isso leva

Os problemas desta lição, o cálculo caro, a compra lenta e a manutenção constante, são o "por quê". A próxima lição traz o "o quê" formal: a definição exata que a computação em nuvem precisa cumprir para merecer esse nome, para você conseguir distinguir um serviço de nuvem de verdade de um data center que alguém simplesmente chama assim.