sábado, 14 de janeiro de 2006

Hotmail: administrando sistemas

Estou lendo uma ótima entrevista com Phil Smoot. Ele é gerente do grupo que desenvolve e mantém a plataforma Hotmail-MSN Communication e trabalha há 11 anos na Microsoft.
O problema deles é o proverbial "trocar a roda com o carro andando". Eles evoluem constantemente o sistema do Hotmail que roda em milhares de servidores e não pode parar. O jeito é manter um controle de mudanças ferrenho e contar com uma equipe altamente disciplinada. As mudanças são implementadas e testadas em laboratório. Depois são implantadas num conjunto de dez servidores. Se tudo correr bem eles a implantam em 100 servidores. Depois 1000. Até que todos os servidores tenham sido atualizados. O grande problema é que durante uma implantação (que eu imagino que possa durar várias horas) eles têm servidores e clientes rodando versões N e N+1 do sistema e todos têm que "falar" com todos.

Perguntado sobre que tipo de skills ele procura num administrador de sistemas quando está contratando um ele diz o seguinte:

The administrative mantra is to automate. Scripting can also go a long way. From an engineering point of view, the requirement has to be to build automation and instrumentation into the service from the get-go.

Perguntado sobre que ferramentas eles usam eu achei que ele ia falar que os servidores rodam BSD e tal, mas ele é fiel ao patrão e menciona todas as ferramentas de desenvolvimento da Microsoft.

Sobre spam ele diz que o problema é sério mas que a taxa de crescimento caiu e provavelmente estejamos no pico. Mas que pico... ele acha que 75% das mensagens circulando na Internet são spam.

Sobre backups ele é bastante claro dizendo que fitas já não servem mais. A solução é fazer backup constante em disco.

Mas a melhor de todas foi a resposta que ele deu quando perguntado se eles usavam interface de linha de comando ou interfaces gráficas para administrar todos os sistemas do Hotmail:

Our operations group never wants to rely on any sort of user interface. Everything has to be scriptable and run from some sort of command line. That's the only way you're going to be able to execute scripts and gather the results over thousands of machines.

E isso numa empresa da Microsoft! :-)

Ele fala mais sobre QA e formalização dos processos, capacity planning, storage, etc. Vale a pena pra qualquer administrador de sistemas.

Ah, e pra terminar teve a pergunta padrão: que conselho ele daria pra alguém que pretenda gerenciar um mega-sistema como o Hotmail:

I'd see if this person really wants to do it. Has he or she considered teaching? The best advice is just basically to keep everything as simple as possible—simple processes, simple SKUs, simple engineering. These systems get to be very big very fast. I don't think there's really any one particularly hard, gnarly problem, but when you add them all up, there are lots and lots of little problems. As long as you can keep each of those pieces simple, that seems to be the key. It's more of a philosophy, I think, than anything else.

2 comentários:

  1. Eles realmente merecem nossa admiração e respeito, afinal não deve ser fácil concorrer com o pessoal do Yahoo! e do Google, ainda mais sendo obrigados à usar apenas produtos da Microsoft... :-P

    E no final ele revela se apoiar em um dos pilares do jeito Unix de se fazer/manter algo: KISS

    Você imprimiu a entrevista? Me empresta ela depois?

    ResponderExcluir
  2. Este comentário foi removido por um administrador do blog.

    ResponderExcluir