HISTORIA DO HOTMAIL
O Hotmail nasceu em 4 de julho de 1996, criado por uma startup fundada por Sabeer Bhatia e Jack Smith no Vale do Silício. Ele foi um dos primeiríssimos serviços a oferecer email gratuito baseado na web. Originalmente, Hotmail era escrito "HoTMaiL", para enfatizar que ele usava HTML na interface do usuário na web. O Hotmail rapidamente se tornou popular e, no final de 1997, já tinha milhões de usuários. No final de 1997, a Microsoft adquiriu o Hotmail e, posteriormente, o integrou a outra aquisição, o Jump, um serviço de calendários baseado na web. O Hotmail continuou a crescer muito rápido - alcançando dezenas de milhões de usuários em apenas alguns anos. Hoje, o Hotmail já ofereceu mais de um bilhão de caixas de entrada e tem várias centenas de milhares de usuários ativos no mundo.
O Hotmail passou por várias mudanças desde 1996. Quando ele começou, oferecia email grátis com um limite de armazenamento de 2 MB. Com o tempo, nós fomos aumentando os limites de armazenamento para 2 GB e 5 GB. Atualmente, oferecemos aumentos constantes de armazenamento, o que quer dizer que você simplesmente não precisa se preocupar com limites de espaço. (Para evitar abusos, temos que limitar a taxa de aumento do seu armazenamento total, mas, se você adicionar coisas numa quantidade razoável, nunca atingirá esse limite.) Na verdade, já temos alguns usuários com bem mais de 10 GBs em suas caixas de entrada.
É claro que a interface de usuário mudou muito, também. O Hotmail foi o primeiro a oferecer inovações de segurança como verificações de antivírus para anexos. Integramos o serviço do calendário, integramos um painel de leitura e adicionamos regras, verificação ortográfica, pesquisa, web messenger e muito mais.
Mas, com o passar dos anos, também fizemos mudanças profundas no software, mudanças que você não consegue ver. Eu quero falar um pouco sobre como nosso software é feito e os tipos de mudanças que fizemos com o passar dos anos, para aproveitar melhor a tecnologia, aumentar a eficiência da nossa equipe de desenvolvimento e integrar o Hotmail e o Calendar aos outros serviços do Windows Live.
Uma arquitetura que dura
No último post do blog, Arthur de Haan mostrou para vocês um pouquinho da arquitetura básica do Hotmail. A arquitetura montada pelos fundadores, há mais de treze anos, foi bem feita e permitiu que o Hotmail crescesse rapidamente, mas, ainda assim, fizemos tremendas mudanças e aperfeiçoamentos, com o tempo. Ao mesmo tempo que muita coisa mudou, duas grandes ideias sobreviveram ao teste do tempo e têm nos servido particularmente bem:
•Unidades de escala - o Hotmail é feito de "clusters" ou unidades de escala que permitem a nossas equipes de operadores aumentar a capacidade online sem nenhuma "surpresa" e gerenciar o serviço como uma coleção de subsistemas independentes. Isso oferece mais confiabilidade e escalabilidade e também permite distribuirmos o poder de processamento por vários data centers ao redor do mundo. Cada cluster cuida de milhões de usuários - temos bem mais de cem clusters e adicionamos novos com frequência.
•Armazenamento separado do processamento - o Hotmail tem vários subsistemas, mas dois dos mais importantes são o Frontend e o Backend. O Frontend é o conjunto de servidores de interagem com o mundo exterior. Esses servidores fazem todo processamento - tudo, desde a simples formatação das páginas que você vê quando usa o serviço até passar o antivírus nos anexos. O Backend é onde seus dados são armazenados. Separar esses dois sistemas tem dois benefícios principais.
O primeiro é que, como a interface entre os dois sistemas não muda com frequência, as equipes estão livres para inovar tanto na interface do usuário quanto nos sistemas de armazenamento, ao mesmo tempo. Então, por exemplo, em nossa versão 2007, uma equipe fez uma nova interface do usuário com um painel de leitura e vários outros novos recursos, enquanto a outra equipe aumentou os limites de armazenamento em vários graus de magnitude.
O segundo principal benefício de separar o Frontend do Backend é que nós podemos dimensionar nossos sistemas com alguma independência e manter o hardware funcionando com bastante eficiência. Em outras palavras, o hardware do Frontend é otimizado para velocidade de processamento, enquanto o hardware do Backend é otimizado para armazenamento e operações de entrada e saída.
Trocando o motor do avião em pleno voo
Enquanto o sistema básico do Hotmail resistiu ao tempo, muita coisa mudou. Um dos maiores desafios de um serviço como o Hotmail é que, quando fazemos mudanças, temos que garantir que manteremos o serviço funcionando mesmo enquanto as alterações estiverem sendo feitas. Talvez seja um pouco exagerado, mas eu gosto da analogia de trocar o motor de um avião durante o voo! Nós somos muito bons em fazer esse tipo de mudança e conseguimos fazê-las com alguma frequência.
Duas das maiores mudanças já feitas envolveram (adivinha!) os subsistemas do Frontend e do Backend.
A partir de 2004, a equipe de engenharia do Hotmail reescreveu totalmente o Backend, tirando-o de um sistema de armazenamento caro e dedicado baseado em Unix e colocando-o em um sistema que usa Windows Server e Windows SQL Server para usarmos computadores e unidades de disco normais, acessíveis, para que possamos oferecer, aos usuários, limites de armazenamento que não eram possíveis antes. O alcance dessas mudanças foi enorme - tivemos que trocar fisicamente o hardware nos data centers para novo hardware com novo software e também mover os dados de nosso velho sistema para o novo sistema, sem interromper o serviço para nossos clientes. É claro, isso não aconteceu da noite para o dia. Foi um projeto complexo que levou anos para terminar, por causa das limitações físicas de velocidade de cópia dos dados para as novas unidades de disco.
Mais recentemente, o Hotmail foi atualizado para a última versão do SQL server, o que, dentre outras coisas, nos permitiu reduzir muito o tempo de inatividade para manutenção. O Hotmail é a maior implantação do Windows SQL Server no mundo, com milhares de computadores e dezenas de milhares de bancos de dados SQL.
Em 2005, a equipe de engenharia do Hotmail passou por um processo similar, reescrevendo o Frontend, e reconstruiu tanto o Hotmail quanto o Calendar do zero. O velho software foi escrito em C++ e Perl e nos serviu bem por muitos anos. Mas a equipe saiba que precisávamos reescrever os serviços em uma linguagem moderna, gerenciada, para aproveitar as novas tecnologias sendo desenvolvidas por muitas outras equipes da Microsoft. Então, todo o Frontend foi reescrito em C# e ASP.Net, aproveitando o Windows Server e a mais nova versão do IIS - o servidor da web da Microsoft - para trazer o Hotmail para o mundo moderno. Essas alterações deixaram nossa equipe de desenvolvimento mais eficiente e nos permitiram compartilhar códigos com todos os outros serviços do Windows Live e com outras equipes da Microsoft.
O que vem por aí
Nos últimos anos, a equipe do Hotmail fez a reengenharia do serviço do zero, ao mesmo tempo em que o Hotmail crescia num ritmo impressionante. Fizemos investimentos críticos para deixar o nosso software do jeito que queríamos e para nos dar a capacidade de oferecer grandes recursos, grande desempenho, grande confiabilidade e grande integração com o Windows Live.
Nenhum comentário:
Postar um comentário