Como uma migração para o Linux levou à criação da Amazon Web Services

A Amazon poderia ter usado essa situação difícil para negociar um acordo melhor com a Sun, publicou Rose, mas Jeff Bezos optou por uma abordagem mais radical. O CTO da Amazon, Rick Dalzell, orientou toda a organização de engenharia para substituir a Sun pela HP/Linux. Hoje em dia, ninguém pisca diante de uma medida como essa, mas em 2000 ela era relativamente ousada. Afinal de contas, o Linux 1.0.0, a primeira versão pronta para produção, só havia sido lançado em 1994.

“Seis anos depois, estávamos apostando a empresa nele, uma abordagem nova e arriscada na época”, disse Rose. O desenvolvimento do produto foi interrompido durante a transição. A empresa congelou todos os novos recursos por mais de um ano, pois enfrentava um enorme atraso, mas nada de novo poderia ser lançado até que eles concluíssem a mudança para o Linux.

Durante esse período, a receita diminuiu. A implosão das bombas ponto-base continuava, a economia estava entrando em recessão em 2001 e, em seguida, ocorreu o 11 de setembro. A Amazon esteve a poucos trimestres de ir à falência, disse Rose.

“Mas quando começamos a transição para o Linux, não havia como voltar atrás. Todos os senhores se empenharam em refatorar nossa base de código, substituir servidores e se preparar para a transição. Se funcionasse, os custos de infraestrutura seriam reduzidos em mais de 80%. Se falhasse, o site cairia e a empresa morreria”, escreveu ele.

Quando a transição foi concluída, o site continuou funcionando sem nenhuma interrupção. “O Capex foi maciçamente reduzido da noite para o dia. E, de repente, tínhamos uma infraestrutura infinitamente escalonável”, disse Rose. “Então, aconteceu algo ainda mais interessante. Como varejista, sempre enfrentamos uma enorme sazonalidade, com o tráfego e a receita aumentando a cada novembro/dezembro. Jeff começou a pensar: temos todo esse excesso de capacidade de servidor para 46 semanas/ano, por que não alugá-lo para outras empresas?”

Na mesma época, Bezos também estava interessado em desacoplar as dependências internas para que as equipes pudessem construir sem serem limitadas por outras equipes. As mudanças arquitetônicas necessárias para permitir esse modelo de acoplamento frouxo tornaram-se os primitivos de API do AWS. Bezos tinha uma visão interessante das coisas.