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.

quinta-feira, 12 de janeiro de 2006

Papotech: Home Cinema

O PapoTech é o único podcast nacional que eu ouço regularmente. A dupla João Gandara e Vinicius Lobo produz semanalmente uma hora e pouco de um papo bem divertido sobre novidades tecnológicas bem variadas: hardware, software, Windows (nem tudo é perfeito, né?), Mac, fotografia digital, audio e video.

O João foi meu colega no CPqD até poucos anos atrás e conseguiu passar para o podcast um estilo de conversa irônico e sarcástico que sempre foi sua marca registrada. Ele já foi criticado por monopolizar o programa e não deixar o Vinicius falar muito, mas com o dobro da idade do colega é natural que suas sinapses recebam impulsos com maior freqüência. :-)

No episódio 16 o assunto principal foi a construção de um Home Theater (ou Home Cinema, como eles preferem). O assunto começou aos 22m25s do programa e durou 35 minutos. Vale a pena ouvir também o podcast especial de dois minutos sobre o Dolby headphone no qual eles mostram a tecnologia que a Dolby desenvolveu pra simular (muito decentemente) o efeito Dolby 5.1 num par de headphones stereo normais. Eu o ouvi no meu iPod com os headphones padrão (os branquinhos que não são lá essas coisas) e o efeito é realmente muito legal.

BTW, pra quem gostar desse episódio, sugiro ouvir o episódio 10 no qual eles inseriram dez minutos (a partir dos 57m10s) de erros de gravação dos primeiros episódios. Eu estava dirigindo enquanto ouvia e quase tive que parar no acostamento de tanto que eu ria.

Parabéns, João e Vinicius.

quinta-feira, 8 de dezembro de 2005

a Very Short Essay on Doubt

O texto abaixo eu li no eSkeptic.

a Very Short Essay on Doubt

(composed of very famous quotes)

by Michael Canfield

I think we ought always to entertain our opinions with some measure of doubt. I shouldn’t wish people dogmatically to believe any philosophy, not even mine.

— Bertrand Russell

To have doubted one’s own first principles is the mark of a civilized man.

— Oliver Wendell Holmes Jr

If you would be a real seeker after truth, it is necessary that at least once in your life you doubt, as far as possible, all things.

— Descartes

But,

The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts.

— Bertrand Russell

The best lack all convictions, while the worst / Are full of passionate intensity.

— Yeats

Doubt is not a pleasant condition, but certainty is absurd.

— Voltaire

Therefore,

Doubt ‘til thou canst doubt no more … doubt is thought and thought is life. Systems which end doubt are devices for drugging thought.

— Albert Guerard


sexta-feira, 18 de novembro de 2005

"Everything Sun does will be Open Source"

Assim disse Jonathan Schwartz num painel na Web 2.0 Conference no qual foi entrevistado pelo Tim O'Reilly. Baixem o audio e ouçam a partir dos 39m35s:

"Everything Sun does will be Open Source. Everything... The message I will give to the software companies specifically is: get to Open Source quickly, there's no downside that I can see. By the way, get to 'free' quickly, there's no downside there that I can see. The value may have to come from something else... but there's immense value in being able to reach the broadest market in the world. You know, once you get that community and that volume, try to figure out what are the responsible ways to go create value for your shareholders."
Bastante forte, vindo do COO e Presidente de uma empresa do tamanho da Sun. Vale a pena ouvir o resto do audio, que já está no final.

Bem no início, a partir dos 4m40s, Tim pede pro Jonathan falar sobre como a Sun vê o fenômeno Open Source. Jonathan usa o termo free algumas vezes, mas fica claro que ele está se referindo ao preço e não à liberdade. De qualquer modo, ele e o Tim acabam trocando algumas farpas pontudas, a briga parece que vai ser feia mas o Tim acaba colocando panos quentes...

quinta-feira, 10 de novembro de 2005

Less is More

Jason Fried é o CEO da 37signals, a empresa que emprega David Heienemeir Hansson, autor e evangelizador de Ruby on Rails, o framework pra desenvolvimento de aplicações web mais em evidência atualmente. Mas vou deixar pra falar de RoR em outra oportunidade. O tópico de hoje é o keynote speech que o Jason proferiu na recente conferência Web2.0.

A palestra se chama "Less as a Competitive Advantage". Jason argumenta que uma startup precisa de muito menos recursos do que se imagina para vingar. Precisar não é bem o termo... na verdade, ele argumenta que é mais vantajoso começar com menos dinheiro, menos pessoas, menos tempo, menos abstrações e menos software. Parece estranho e até meio ingênuo, mas o cara é bastante persuasivo, principalmente se você o ouve... coisa que você pode fazer ouvindo o podcast Distributing the Future: Web 2.0 Day Two. Ouça a partir de 22m10s, por 7m10s. Vale a pena.

Pra quem prefere ler, ele falou sobre o mesmo assunto no seu blog.

Em outra palestra interessante o mesmo Jason fala do Basecamp, que é uma ferramenta web de gerenciamento de projetos que a 37signals negocia na base de hosting, i.e., você não baixa e instala a ferramenta mas cadastra-se no site e a utiliza sempre nos servidores da 37signals, pagando uma taxa de utilização. BTW, ela é a aplicação showcase do RoR. Mas, a palestra fala sobre as lições que o pessoal da 37signals aprendeu durante o desenvolvimento do Basecamp.

"A palestra foca em quatro princípios: reduzir massa, aceitar restrições, evitar abstrações excessivas no processo de desenvolvimento e adminitrar as dívidas. Jason explica como ele aprendeu que 'menos é mais' quando se trata de features e enfatiza a importância de se construir 'meio produto, não um produto meia-boca'. O sucesso de Basecamp demonstra que as lições aprendidas pela 37signals em contruí-lo têm enorme valor."

sábado, 5 de novembro de 2005

Podcasting

Ganhei um iPod mini num sorteio durante a X Conferência Anual sobre o Futuro da Tecnologia, promovida pelo Gartner em agosto. Não posso mais dizer que nunca ganhei nada em sorteio. O bichinho é realmente de fazer inveja. Tem capacidade pra 4GB, o que permite manter umas 1000 músicas.

Mas não é música o que eu tenho ouvido nele e sim podcasts. O termo podcast é um neologismo feito pela junção de broadcast com iPod. A idéia é que ao invés de você ouvir programas de rádio com hora marcada (broadcasts) você baixa o programa em MP3, salva no iPod e ouve quando quiser. É razoavelmente conveniente e bastante interessante, isto é, quando você consegue descobrir programas interessantes pra baixar.

Nos últimos dois meses eu devo ter ouvido mais de 40 programas. Na maioria, palestras e entrevistas. Alguns são muito bons. Mas é preciso saber garimpar no meio de tanta coisa média ou ruim disponível. Um ótimo site pra baixar palestras e entrevistas é o IT Conversations. Há centenas de programas pra baixar, mas o mais interessante é que ao baixá-los você recebe um email pra poder votar na qualidade do programa. Assim, é possível descobrir os programas mais bem cotados. Logo na primeira página há uma lista dos Highest Rated. Eu devo ter ouvido quase todos e não me arrependi de nenhum.

Outro site legal é o NerdTV, do Robert Cringely. São entrevistas com uma hora de duração com pessoas interessante (a.k.a. nerds) da área de tecnologia. Os shows são filmados, mas eu cansei de ter que ficar parado na frente do micro pra ver e agora baixo só o MP3 pra ouvir depois.

Pra quem gosta de Perl, vale a pena ficar de olho no Perlcast, do Josh McAdams. Semanalmente ele grava um programa de notícias recentes para a comunidade. Frequentemente ele grava entrevistas com pessoas interessantes da comunidade.

Mas pra acompanhar as novidades, nada melhor que usar um agregador de feeds. Eu uso o Bloglines e minha lista de feeds, ou blogroll, pode ser vista aqui.

Vou tentar comentar alguns dos melhores podcasts que eu já ouvi nos próximos dias.

terça-feira, 30 de agosto de 2005

Hyperthreading versus Dual-core CPUs

Ontem o Enéas me apresentou um problema que estava ocorrendo numa PowerEdge 6800 com quatro processadores Xeon. Um processo Java, que funcionava direito numa PowerEdge 6600 com dois processadores Xeon, travava na 6800.

No final das contas o problema foi resolvido desabilitando a função de hyperthreading (HT) dos processadores, o que pode ser feito via BIOS ou via um argumento (noht) para o kernel do Linux. O efeito colateral da mudança é que com o HT habilitado cada Xeon se apresenta como dois processadores virtuais enquanto que com o HT desabilitado cada Xeon é um processador. Deste modo, ao desabilitar o HT, os usuários passaram a ver somente quatro ao invés de oito processadores.

Bem, o fato é que eu não sabia direito o que é hyperthreading. Então recorri à wikipedia. Vale a pena ler os tópicos sobre Hyper-threading e sobre Dual-core (DC).

Notem que são duas tecnologias diferentes cujo efeito é fazer com que um processador físico se apresente para o sistema operacional como dois processadores lógicos.

Os Xeons da 6800 implementam HT. Parece que a Intel está pra lançar novas versões do Xeon implementando DC, mas por enquanto só a AMD já vende este tipo de coisa.

Pelo que entendi, um processador DC contém realmente dois processadores num mesmo chip. Eles compartilham o barramento de I/O e o cache secundário, de modo que pode haver mais contenção pelo barramento do que numa solução com dois processadores físicos, mas há menor consumo de energia, de espaço e de dinheiro.

Já com HT é apenas um processador com dois conjuntos de registradores, de modo que ele pode manter simultaneamente o estado de duas threads do sistema operacional e melhor utilizar suas unidades de controle. Mas o ganho efetivo de desempenho é da ordem de 15% em relação a uma CPU sem HT. Bem menos que com DC.