O blog entrou de férias em julho, mas a razão é simples.
Depois de quatro anos na função de Arquiteto de Infra-Estrutura da equipe de D&PE da Microsoft Brasil, resolvi aceitar uma nova proposta e encarar atividades diferentes.
Este blog vai desaparecer? A resposta é simples e direta: Não.
Mas, então, o que muda?
O meu dia-a-dia deixa de ser dedicado a temas de infra-estrutura e se expande muito mais, para incluir análises do mercado de tecnologia como um todo, independente de se tratar de temas de infra-estrutura, desenvolvimento ou serviços online.
O efeito mais direto é que estarei falando sobre assunto mais amplos, com uma visão focada em como a tecnologia influencia a vida de pessoas e empresas e como a Microsoft se posiciona em novos cenários, num mercado cada vez mais competitivo.
Vamos em frente!
900 milhões de peças de Lego armazenadas diariamente. 170 quilômetros quadrados de prateleiras. Robôs subindo e descendo, armazenando e retirando material. Um total de 19 bilhões de peças que podem ser armazenadas por ano.
Vale a pena uma leitura no post do Gizmodo: 65-foot-high Lego Cathedrals Store 19 Billion Pieces a Year.
- Finalmente liberada a versão final. Os links para download devem ficar prontos ainda hoje ao final da tarde;
- A ZDNet já publicou uma avaliação inicial;
- Agora, além dos sites MSDN e Technet já estarem virtualizados, a Microsoft Ops já está com 25% do www.microsoft.com virtualizado em Hyper-V.
Divirtam-se! E fiquem ligados no blog do time de virtualização.
550 milhões de usuários, 2 bilhões de pesquisas por mês, 10 bilhões de pageviews por mês, 8 bilhões de mensagens via Messenger por dia!
Não é brincadeira.
Ajuda a entender o contexto dos dois webcasts que eu e o Waldemir fizemos. A arquitetura de datacenters, de aplicativos e de bancos de dados não é trivial.
Fonte: Microsoft's big switch to server/client computing
Aproveitando de novo a vontade de falar de GreenIT apresentada no post anterior, quero chamar a atenção para o site institucional da Microsoft sobre meio-ambiente. É lá que falamos de nossos planos, colocamos whitepapers sobre o assunto etc. É o nosso Portal Verde. Vale a pena dar uma passada por lá se quiser acompanhar a evolução de nossas iniciativas, como membros da indústria e como produtores de software.
Vale a pena dar uma olhada num estudo sobre a percepção na visão de executivos, disponível no site GreenFactor. O press-release pode ser acessado facilmente em http://www.greenfactorstudy.com/GreenFactor_Release_06-18-08.pdf.
Apesar de eu recomendar esta leitura, fica uma marca especial (representada no título deste post) que é o de leitura crítica. Vejam o gráfico que eles colocam no press-release:
No thumbnail acima, é quase que evidente que a Microsoft é a terceira colocada numa percepção de adequação à iniciativa mundial de TI verde, mas não é bem assim. Se expandirmos o gráfico, veremos o seguinte:
Os três primeiros colocados estão, efetivamente, empatados. O mesmo desvio visual ocorre:
- Comparando Google com Nokia (ambas com 15%);
- Comparando Fujitsu com Xerox (ambas com 10%);
- Comparando Cisco com NEC (uma com 7%, outra com 6%, mas com barras do mesmo tamanho);
- Comparando Oracle com Symantec (uma com 6%, mas com uma barra muito menor que a NEC; outra com 5% mas com o mesmo tamanho de barra que a anterior)
- Comparando Nortel com EMC (ambas com 2%).
Quando eu apontei esses problemas visuais aqui na Microsoft, alguém achou que poderia ser por causa de eventuais arredondamentos nos cálculos. Mas aí, de novo, uma leitura um pouco mais atenta indica que todas as empresas que estão empatadas são colocadas em ordem alfabética, eliminando esta possibilidade.
Deixo para vocês a leitura e a conclusão sobre o estudo, mas o que me preocupou é o fato de que algumas pessoas vão simplesmente bater o olho no gráfico e tirar conclusões errôneas sobre o assunto.
Meu recado é: leiam tudo com mais carinho e evitem tirar conclusões precipitadas baseadas em títulols de artigos e gráficos mal construídos.
Como não é muito difícil encontrar disparidades desse tipo por aí, acho que vou abrir um novo tipo de série mesmo, a Leitura Crítica.
Alguns de vocês devem ter lido meu post sobre um conto de ficção científica escrito em 1946, Uma Lógica Chamada Joe. Pois é, a Wired colocou no ar um artigo falando sobre um megacomputador, composto pela infinidade de computadores que estão hoje sobrando em nossas mãos e o estão chamando de One Machine. E não tem nenhuma referência ao conto do Murray Leinster. Cheguei a este artigo através de um post do Kim Cameron. Boa leitura para vocês.
Eu e Waldemir vamos continuar o webcast da semana passada, apresentando algumas conclusões para os ouvintes. A primeira parte da conversa foi muito legal… É gratificante chegar ao fim do webcast e ver que temos perguntas pendentes aguardando por resposta… E mais importante é ter perguntas pertinentes ao assunto.
Para quem quiser participar da segunda (e última parte), o link é http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032381115&culture=pt-BR.
Até lá!
Mudou de nome, mudou de forma. O nome agora é Infrastructure Planning and Design.
O principal motivador foi o de tornar mais efetiva a documentação em relação às mudanças de versões de produto, que engessaram e dificultaram um pouco o WSSRA (que ainda está disponivel para download).
O processo de criar a documentação mudou, inclusive dando oportunidade aos aficionados de consultar os documentos que ainda estão em produção, usando o acesso ao nosso site de betas públicos, o Connect.
Vale a pena olhar e opinar. Aproveitem também a oportunidade de acompanhar os documentos que ainda estão em processo de preparação.
Na quinta-feira desta semana (29 de junho) vou fazer uma mesa-redonda sobre infra-estrutura e Web no Mix Essentials, que vai rolar aqui na Microsoft em São Paulo(http://www.msdnbrasil.com.br/mixessentials/registrese.html). O assunto não vai ser sobre como configurar o IIS7 para a melhor performance, mas sim sobre como se pode usar a web como infra-estrutura. Nada de PPT, somente conversa olho-no-olho. :-)
Este deveria ser o pensamento que norteia a vontade de ser "verde". Mas parece que continua não sendo.
A onda do pensamento "verde" vem do fato, sempre bem escondido para a manutenção de nosso conforto, de que os recursos naturais da forma como os consumimos e por causa do nosso desleixo no descarte dos dejetos, tendem a se esgotar (parece que mais rapidamente do que o inicialmente projetado). Esta mensagem tem aparecido fortemente em todo tipo de mídia, online ou offline, e passou a ser forte peça de marketing de um número cada vez maior de empresas, preocupadas muito mais em "parecer verde" do que realmente "ser verde".
Como não podia deixar de ser, a "onda verde" chegou em TI. Hoje é parte do marketing de boa parte das empresas da indústria de tecnologia ressaltar suas "iniciativas verdes" ou mesmo apresentar "produtos verdes". Alguns, efetivamente, nada mais são do que aquele velho produto embrulhado num papel de presente mais bonito (muito mais parecidos com o Cavalo de Tróia). E, como sempre, a leitura cuidadosa e crítica dessas iniciativas é importante para que as decisões corretas sejam tomadas.
Durante uma das mesas-redondas sobre Green IT do RAF 2008, eu apresentei as seguintes provocações: a) para empresas que pensam seriamente em redução de custos, o "TI verde" é um efeito colateral; b) a partir do momento em que os governos possuam legislações efetivas sobre o que é "ser verde" e reforçar a sustentabilidade como uma das regras de comportamento da sociedade, "TI verde" passa a ser o componente principal com a redução de custos passando a ser o efeito colateral; c) quando as bolsas de valores colocarem a sustentabilidade como regra para a adesão ao mercado acionário, as empresas terão mais empenho no assunto, mas "TI verde" e redução de custos serão os efeitos colaterais de uma necessidade econômico/financeira: a sustentabilidade da própria empresa, sua longevidade.
É esse o ponto que acredito ser o fundamental para acreditar em "iniciativas verdes". Empresas que prezam sua longevidade, que não parecem ser apenas iniciativas para o rápido enriquecimento de seus fundadores, têm uma necessidade muito maior de integrarem a "filosofia verde" em seus fundamentos do que as outras. Vejo esse exemplo não só nas grandes empresas de TI (que são hoje governadas por conselhos multi-disciplinares e grandes investidores, muitas delas já blindadas contra os caprichos de seus fundadores) mas também em outras indústrias, inclusive a financeira que, por não ser produtoras de bens duráveis ou não duráveis, não deveria ter marketing de destaque neste assunto. Mas algumas das empresas deste segmento seguem fortemente a "linha verde", pois para manter sua longevidade, para embarcar em mercados antes difíceis de serem explorados, têm colocado a "filosofia verde" dentro de suas atitudes e não só seu marketing.
A aculturação dos fornecedores, dos funcionários, dos consumidores, a escolha adequada dos componentes, o investimento em qualidade para a durabilidade e não para a produção de um número cada vez maior de descarte, é uma base sólida para a transformação das empresas em empresas que têm a sustentabilidade com um de seus pilares.
Eu me lembro bem das aulas de biologia, em que brincávamos de fazer culturas de bactérias nas placas de Petri. O crescimento dessas culturas nos momentos iniciais era fenomenal e depois a taxa de crescimento caía, migrando para uma "morte" da cultura. Uma das razões: o crescimento descontrolado da população, somada à falta de crescimento da fonte de alimento e à crescente presença de dejetos no meio-ambiente, decretavam a falência daquela cultura. Na hora em que fiz esta primeira experiência (e já faz tempo, acreditem) eu pensei: será que um dia isso acontecerá conosco? Santa inocência, eu acreditei que não.
Bom feriado para todos.
Dois termos: um que está na moda (interoperabilidade) e um que já está na fase madura (portabilidade). Apesar da ordem imposta pelo título, quero falar primeiro de portabilidade, com dois de seus modelos básicos: binária e de código-fonte.
A portabilidade binária nos permite mover um executável de uma máquina para outra sem que seja necessária a recompilação do código-fonte original. A atualização de hardware mantendo a mesma arquitetura de CPU com modelos mais rápidos e eficientes é um modo fácil de conseguir a portabilidade binária. Isso serve tanto para o mundo de máquinas com arquitetura especializada (mainframes ou dispositivos embarcados, dois extremos) quanto para o mundo em que o hardware é commodity como na computação pessoal, em que a arquitetura x86 é dominante. Mas a compatibilidade binária, apesar de teoricamente fácil quando se pensa apenas em CPU, é muito mais difícil de ser conseguida quando mudamos de uma base de sistema operacional para outra (OSX vs Windows vs Linux). Difícil não, impraticável. Por que? Porque entre esses sistemas (e mesmo entre versões do mesmo sistema) não há garantia de que a mesma API esteja disponível, dificultando este tipo de portabilidade.
Muitas empresas e/ou profissionais, por esta razão, se especializaram na portabilidade de código-fonte. Escolha uma linguagem genérica, disponível em diversas plataformas de hardware e suportada em diversos sistemas operacionais, para que você possa, apenas com a recompilação e linkedição, gerar uma versão para cada plataforma. Bacana, por um tempo. Por que? Porque a busca por uma linguagem universal de programação traz como efeito colateral a dificuldade em acompanhar a evolução dos sistemas operacionais, em representar algoritmos em linguagens mais adequadas e, mais recentemente, acompanhar a evolução dos dispositivos computacionais. Não é fácil imaginar uma aplicação COBOL sendo executada em um telefone celular (sem deméritos, mas é difícil pensar em telefone celular hoje sem pensar em telas sensíveis a toque ou altamente amigáveis a vídeos e música).
Por causa disso, um mix entre esses dois tipos de portabilidade apareceu: linguagens intermediárias. É possível mover aplicativos de um lado para outro sem se preocupar com arquiteturas de CPU e sistemas operacionais quando implantamos uma abstração desses recursos, que é justamente o que a JVM (Java Virtual Machine) e o CLR (Common Language Runtime) do .Net Framework fazem. Crie um código em uma linguagem, transforme-o em uma linguagem intermediária e execute-o em diversas arquiteturas de CPU e SO com o auxílio de uma camada de abstração. Apesar deste fundamento comum, a linha de evolução de cada uma dessas duas tecnologias segue caminhos bastante distintos: JVM, mono-linguagem em sua concepção inicial adaptando-se ao mundo multi-linguagem, e .Net Framework, multi-linguagem já em sua concepção inicial.
Pensando exclusivamente no metal sobre a qual essas aplicações executam, a existência de uma camada de abstração entre o código objeto e a arquitetura de hardware/sistema operacional impõe um certo "desperdício" de recursos computacionais que, geralmente, levam a uma performance não otimizada para a máquina que está sendo utilizada. Mesmo assim, diversas técnicas de otimização e heurística dessas máquinas virtuais permitem com que os tempos de execução não fiquem tão ruins assim. A vantagem desse tipo de solução é a possibilidade de usar o mesmo código-fonte e às vezes o mesmo código intermediário para a execução em uma estação de trabalho ou em um dispositivo móvel (desde que ambos tenham instalada a mesma camada de abstração).
É bacana quando não se pensa na interação humana. Cada dispositivo possui características próprias de interação com o usuário. Agora, imaginem a dificuldade de fazer um código único para o Surface ou para um browser.
Aqui entra em ação a primeira palavra do título: interoperabilidade. Ela representa a capacidade de sistemas poderem interagir com base num conjunto bem definido de protocolos, mensagens, APIs e formatos de arquivos.
Isolemos as camadas, as funcionalidades, os dispositivos e pensemos estruturadamente para aproveitar todas as experiências que TI já tem no design de código reaproveitável, desenho de interfaces de comunicação, protocolos e afins. Por que não aproveitar o design avançado de um dispositivo para tirar o melhor proveito dele, para atrairmos mais consumidores para o nosso negócio? Por que não podemos aproveitar o que existe de melhor em tudo o que já está em produção, consumindo toda esta lógica de outra forma, compondo novos comportamentos, criando até novas lógicas apenas conectando processos já existentes em um outro fluxo lógico?
Para quem está lendo este último parágrafo e pensando em SOA, é por aí mesmo. SOA não exige, nem exigirá, que tudo seja feito na mesma plataforma nem que seja feito na mesma linguagem. SOA é fundamentado em interoperabilidade e não em portabilidade. Definam-se as interfaces (entrada e saída), definam-se os tipos aceitáveis de dados, seus domínios de valores, definam-se as políticas de acesso aos processos lógicos, seu nível de segurança e seu SLA para que, independente da plataforma consumidora ou produtora, a comunicação entre as partes funcione de forma ótima.
Este é também um dos fundamentos do que chamamos Software+Services, solução de arquitetura que tanto o Otávio quanto o Waldemir já falaram bastante. Use o melhor de cada mundo, de cada dispositivo, para criar e reaproveitar o que há de bom, sem reinventar a roda a cada novo projeto.
Evidentemente, não é nada simples e exige uma quantidade enorme de neurônios queimados em fases de arquitetura e planejamento. É necessário garantir que protocolos, interfaces, políticas de acesso, definições de dados, etc estejam utilizando esquemas comuns (bem vindo, WSDL; bem-vindo WS-Policy, bem-vindo WS Basic Profile). Este é o fundamento do mundo interoperável.
Me diga como você fala, me diga como você se comporta, que eu não preciso saber como você funciona.
Bem-vinda, interoperabilidade.
O time de virtualização soltou mais uma notícia: os sites do MSDN e do Technet já estão em produção usando o Hyper-V RC0. O resumo deste trabalho pode ser encontrado aqui.
Prá quem quiser ter um gostinho sobre como os nossos sites são operados, vale a pena dar uma olhada no Techcenter do Microsoft.com Engineering Operations Team. Um overview de como os sites funcionam pode ser visto aqui.