Pplware

DevDays09 – O 1º dia…

Chegando há pouco a casa, após dia recheado de conferências bem interessantes, deixo-vos aqui o relato da minha experiência, algumas curiosidades e principalmente das novidades que tive oportunidade de tomar conhecimento ao longo deste primeiro dia do evento DevDays09, realizado no Instituto Superior Técnico, campus Taguspark.

Dado que o começo do evento estava previsto para as 9h30, foi necessário acordar bem cedo para chegar ao local com uma boa margem, proceder a um rápido check-in (e ficar ainda cerca de 20 minutos sem nada fazer…), e apreciar a beleza das instalações do Taguspark.

Pouco depois da hora prevista, começou a KeyNote, apresentada por um dos representantes da Microsoft em Portugal que, à semelhança de Steve Ballmer, bem tentou animar os developers, obtendo um “SIIIM” em resposta ao seu “Estão preparados?”, sem grande resultado.

Embora o ânimo matinal não fosse o melhor, foi com empenho que obedecemos ao orador: dizer “Bom dia, como está?” ao developer à nossa esquerda e direita. Foi uma forma bem-humorada de começar um dia que se previa longo.

Nesta KeyNote, foram basicamente apresentadas algumas linhas gerais do que se iria passar nas próximas horas, começando por uma sensibilização a todos os participantes em relação à crise económica e financeira em que vivemos actualmente, referindo estratégias, pontos de partida e atitudes necessárias à superação de toda esta conjectura. “É em momentos difíceis que paramos e pensamos, qual a melhor estratégia para ultrapassar as nossas dificuldades.”

Após esta breve motivação, foram apresentados alguns dos produtos mais recentes da Microsoft, que iriam ser apresentados em maior detalhes nestes 2 dias de conferência.

Foi feita uma demonstração do Windows 7, mostrando as suas potencialidades, que todos nós conhecemos, pelo menos os leitores assíduos do Pplware, tais como a já conhecida renovada barra de tarefas, inovações na interface que facilitam a interacção com o utilizador e, por falar em interacção, o tão esperado multi-touch nativamente incorporado, assim como a compatibilidade com sensores tais como acelerómetros, sensores de temperatura, GPS, e outros dispositivos que permitem ao utilizador obter uma experiência (ainda) mais rica.

Foi ainda feita uma demonstração ao vivo da mesa que incorpora o Microsoft Surface, trazendo para isso, 3 developers de 3 empresas que conceberam em 2 semanas pequenas aplicações destinadas a esta nova tecnologia, prevista para breve em Portugal. Apesar dos ocasionais lags na interface do Surface, originados também pelo facto de 4 pessoas estarem constantemente a tocar no ecrã, a demonstração decorreu com relativo sucesso.

Um simples “jogo da carica” que marcará presença no próximo Super Bock Super Rock, um leitor de jornais em PDF revolucionado pela interacção multi-toque simulando um verdadeiro jornal a ser folheado, arrastado e aproximado, e ainda um gestor de ficheiros clínicos, que poderá ser utilizado por exemplo num hospital em que, recorrendo apenas a 2 cartões de médico, é possível trocar ficheiros de pacientes, ver radiografias, vídeos de ecografias (usando o Silverlight), foram algumas das aplicações que mostraram ao público as potencialidades desta mesa.

A última demonstração utilizou o Silverlight, já a caminhar para a 3ª versão, demonstrando as suas capacidades recorrendo ao site da Superbock em que foi possível visualizar, ordenar e seleccionar facilmente cartazes de cinema, com uma interacção agradável com o utilizador, não presente na tecnologia Flash à qual estamos habituados.

E não poderia deixar de se falar no novo Windows Azure, a nova plataforma especial para execução de aplicativos da Web, baseada nos conceitos de cloud-computing, que foi também introduzido nesta altura, mas que guardarei para as próximas linhas, visto que as minhas próximas 2 conferências dedicaram-se exclusivamente à explicação desta nova tecnologia.

Introduction to Windows Azure and the Azure Service Platform (parte 1 e 2), por Beat Shwegler Sendo assim, após um pequeno intervalo que chegou para beber um capuccino quentinho para acordar e aquecer a alma, encaminhei-me para um dos anfiteatros, já fora da hora prevista, como é habitual neste tipo de eventos.

Instalei-me prontamente na 1ª fila, muito por causa da falta dos meus óculos para ver ao longe que infelizmente não estavam comigo, bloco de notas e caneta prontos, e deu-se início à apresentação.

Não vou aqui explicar o que é o Windows Azure, sugiro que dêem uma olhada no artigo publicado anteriormente aqui no Pplware.

O PORQUÊ O orador começou por nos elucidar acerca do porquê da utilização do cloud-computing, referindo razões como a escalabilidade, que requer aumentos de base de dados SQL, mais servidores web, mais re-estruturação da rede, originando um investimento desajustado em determinadas altura do ano (por exemplo a Amazon na altura do Natal) e desta forma, espaço que ficará inutilizado.

Como exemplos de serviços que estejam nestas condições, foi referido o serviço web 2.0 Facebook, que actualmente atingiu os 175 milhões de utilizadores!

Pretende-se reduzir ao máximo o consumo de energia, atingindo a máxima eficiência possível permitida pela tecnologia actual, praticando desta forma o Green IT, ou seja, uma tecnologia verde, amiga do ambiente.

Já no Windows Server 2008 se notam melhorias significativas no consumo de energia face o Windows Server 2003, mas não deixam de ser completamente absurdos os consumos de energia causados pelos datacenters que, não gastam a maior parte da energia nos seus CPUs (1%) ou mesmo nos seus discos, mas sim na refrigeração, esse flagelo que tanto condiciona o funcionamento destas pequenas grandes brincadeiras que custam 500 milhões de dólares cada, e ocupam cerca de 10 campos de futebol.

Como solução para este problema chegam a ser construídos inclusivé, datacenters em locais muito frios, como na Islândia ou mesmo Antártida, para tirar partido das temperaturas ambiente e assim poupar energia.

Como já foi dito, o aumento de custos nos servidores torna-se exponencial à medida que é necessária mais capacidade de processamento de dados. Tarefas como:

E outras rotinas necessárias ao correcto funcionamento de um servidor, tornam-se repetitivas, demoradas e mais que tudo, dispendiosas.

A SOLUÇÃO A solução passa naturalmente por um sistema operativo baseado em cloud-computing, que é similar a um Desktop, mas formado por um conjunto de servidores conectados.

Vantagens:

Alguns modelos de programação para a cloud:

Entenda-se por consistência uma espécie de fidelidade de transmissão de dados e, sendo eventual a consistência de dados, significa que os efeitos causados pela mudança dos mesmos serão eventualmente observados, ou seja, não obrigatoriamente no preciso momento em que essa mudança ocorre.

 O que é o Azure Services Platform? É uma plataforma de serviços em nuvem, escalada para a Internet, alojada nos datacenters da Microsoft, que fornecem um sistema operativo e um conjunto de serviços para developers que podem ser usados individualmente ou em conjunto. Mais informações aqui.

São-nos dadas instâncias de computação virtuais com especificações mais ou menos pré-definidas, por exemplo:

Exemplo da arquitectura (passado à pressa de um slide precioso 🙂 ):

Acabada a profunda explicação acerca do porquê, das vantagens e da arquitectura do Windows Azure, deu-se um pequeno intervalo, na linguagem geek um “Coffee Break”, em que para meu espanto, encontro maçãs ao pé do precioso café. É que para quem não sabe, diz-se que a maçã é um óptimo estímulo para o cérebro, competindo mesmo com a cafeína.

Comida a bela da maçã um pouco à pressa, fui de imediato para a parte 2 da sessão, e encontro metade do anfiteatro vazio… Ou assustaram-se, ou o que vamos falar a seguir é do agrado de poucos: estruturas de dados.

O Windows Azure utiliza 3 estruturas de dados base: tabelas, filas e blobs.

Para quem está familiarizado com o Microsoft SQL Services, as tabelas no Windows Azuree diferem destas em alguns pontos:

Fazendo-se um trade-off, ou seja, sacrificando a Consistency em troca da Capability e Disponibility (CAP).

Conferindo assim as seguintes vantagens:

Temos tabelas em que as linhas são entidades e as colunas são propriedades, num máximo de 255, e cada entidade tem uma PartitionKey que confere escalabilidade e uma RowKey que confere um ID único dentro da partição. Podemos ter ainda TimeStamps que ajudam na obtenção dos resultados mais actuais e um máximo de 1MB de dados.

Como se pode programar para Azure? Em qualquer IDE, mas o Visual Studio permite uma melhor integração.

Para terminar, o orador simulou um development storage service que consistia num serviço normalíssimo em Windows, e que permite emular uma cloud, para fazer debugging. Podem ser simuladas ainda diferentes instâncias a correr em simultâneo.

Depois do processo de debugging, basta submeter o ficheiro de código e configuração ao site do Azure, e assim temos a nossa aplicação terminada, pronta para a vida real.

Acabada a demonstração, seguiram-se algumas questões, e… hora do almoço! Depois de tanto palavrão informático e de tanto homem à frente (vocês sabem o que sofro), chega a hora de acomodar o estômago, conversando com a minha companhia, está claro, masculina! 😛

Findo o almoço, próxima conferência!

Windows 7 para Geeks, por Miguel Caldas Esta tarde pretendia ser uma tarde dedicada exclusivamente ao Windows 7, não só porque é algo que me interessa, como é algo que eu sei que vos interessa!

Adoro este tipo de apresentações, dadas por um típico geek de Linux, mas que trabalha para a Microsoft, imaginem a combinação, deveras explosiva.

O senhor Miguel Caldas começou por avisar todos os que se encontrassem no anfiteatro que saíssem enquanto podiam, porque o que iriam presenciar seria o extremo do geekismo. Acrescentem ainda gestos dignos do apocalipse e uma possante voz que envergonha qualquer vilão de desenhos animados.

Ele começou por perguntar quem já tinha experimentado o Windows 7 Beta, ao que respondi com o meu inocente levantar de mão, verificando que cerca de metade dos presentes já tinham feito o mesmo.

“O Windows 7 é um grande avanço nos sistemas operativos Windows” enfatizou. “Agora, vou tirar a camisola da Microsoft e digo: O Windows 7 é mesmo um grande avanço nos sistemas operativos Windows”.  Risota geral.

Ele começou por dar uma noções acerca do kernel do Windows 7, dizendo que este é igual ao kernel do Windows Server 2008, supostamente deveria ser a versão 7 (daí o “7”), mas de facto é a versão 6.1 que consta no Windows 7. “Um kernel permite bootar e aceder à rede. Ponto”.

De seguida mostrou-nos alguns gráficos ilustrativos de dados relativos à performance, ciclos desnecessários no código, etc. avisando sempre “Eu sei que estes gráficos são da Microsoft. Mas acreditem que há melhorias!” Risota geral.

Segundo ele, o Windows XP é o exemplo perfeito de “código em esparguete” que tantos de vocês já ouviram falar, milhões e milhões de linhas de código, inúmeras dependências e inter-dependências que se arrastaram para o Windows Vista, tão conhecido por ser bloated. “É claro que a Microsoft sempre quis manter retro-compatiblidade, mesmo que para isso perdesse performance”.

Foi então que os programadores da Microsoft pegaram no micro-kernel do Windows Vista, o MinWin e decidiram fazer uma caça a código menos bom, coisas inúteis, tentaram extrair tudo o que não tivesse utilidade (que não era pouco), e assim obter um novo MinWin, usado no Windows 7.

Razões para melhorar:

  1. Consumo absurdo dos datacenters;
  2. Baterias dos portáteis não duram o suficiente;
  3. Green IT.

Como: menos serviços e processos a correr.

  1. Grande redução de footprints no cliente.
  2. Optimização de memória.
  3. Alterações no working set (quantidade de memória por processo), que passa a ser de 25MB.

Desta parte apenas reti a frase “Não gosto de dizer que a Microsoft é monopolista… tem é uma grande quota de mercado!”. “Linux não tem vírus? Não tem é quota, por isso não tem vírus!”. Mais uma vez, a risota geral, vibrando enquanto descobria um ou outro um utilizador de Linux.

O Windows 7 tenta manter a carga no menor número possível de processadores lógicos (logical cores), poupando energia.

São apenas iniciados os serviços mesmo necessários e só mudam de estado que alguém os mandar. Isto explica o facto de o Windows 7 arrancar tão rapidamente. Tratam-se de delayed services, que só correm após um determinado período de tempo, permitindo a visualização rápida do ambiente de trabalho.

Vários processos programados para acordar de tanto em tanto tempo, agrupam-se em intervalos de tempo regulares, similares aos intervalos de cada um, para evitar a consulta exagerada do estado da máquina. “Está aqui alguma coisa para mim? Não… e agora? Não…. E para mim? Também não…. e agora? Não…”, num teatro de processos que verificam sincronizadamente se aconteceu algum evento.

Quando há corrupção da heap, ela é isolada e é informado o developer dessa aplicação acerca do erro.

Outro nome “mais pomposo” para o fork() em Linux, basicamente cria um novo processo-filho.

“O Windows tem de aprender que mudar a hora do computador não é assim tão perigoso… isto não está a ser filmado, pois não?”. Não estava a ser filmado, mas estava a ser ouvido… Uma grande verdade. Como alguns já repararam, o UAC do Windows 7 é muito menos intrusivo no trabalho do utilizador, havendo mais 2 níveis além do ligado e desligado, que permitem uma fácil personalização do nível de segurança do sistema.

Outra feature que muitos de vós conhecem no Windows Vista, versão Ultimate. Permite encriptar os dados de drives inteiras.

Trocas de contexto de threads em modo de utilizador, e por isso, mais rapidez.

Formato de ficheiro que representa um disco virtual, permitindo usar máquinas virtuais dentro do próprio SO.

O objectivo era manter o decréscimo de performance abaixo dos 10%, e foi conseguido.

Uma das vantagens é poder ter ficheiros VHD incrementais, feito a partir de uma mesma base. Deste modo, temos 2 sistemas diferentes, mas partilhando uma mesma base, e por isso, espaço.

O final desta sessão foi, tal como prometido, bastante geek… utilizar a linha de comandos do Windows para criar um disco virtual e instalar lá o Windows 7. Estou a brincar, para quem usa Linux, mesmo que não seja frequentemente, acharia aquela suposta geekisse insignificante. 😛

O tempo já era curto, as perguntas ficaram para a próxima sessão, e assim veio mais um bem-vindo intervalo, que serviu apenas para esticar um pouco as pernas e ver a luz do dia, que também faz falta.

Próxima e última conferência da minha tarde…

Windows 7: Novas APIs e Serviços, por Pedro Rosa Foi a sessão mais embaraçosa do dia. Para mim? Não. Para o orador, sem dúvida.

Ao iniciar a apresentação e tentar abrir um ficheiro no Visual Studio, não deixa de ser curioso ver o Windows 7 a bloquear totalmente, sem qualquer sinal de resposta… até o maldito botão power ser premido, e assim entrar num ciclo infinito entre o ecrã “Arrancar normalmente” e o ecrã de boot.

Depois de 10 minutos de volta de tão desafortunado acontecimento, o orador chega à solução muitas vezes simples e eficaz em Windows: reiniciar e o problema resolve-se. E assim foi. E foi em autênticas pantufas que o senhor orador foi abrindo ficheiro a ficheiro, programa a programa, tentando não soltar um espirro que pudesse estragar ainda mais a apresentação. 😛

Brincadeiras à parte, esta sessão tratou-se de uma demonstração mais aprofundada acerca da interface renovada do Windows 7 e de como é que os developers podem interagir com ela e tirar partido das suas novidades, nomeadamente na utilização eficaz dos previews, das acções executadas aquando o clique no botão direito, em cima dos ícones da barra de tarefas, a crescente necessidade de aumentar o tamanho dos botões e ícones, para permitir ecrãs tácteis, e muito mais.

As “novidades” do Windows 7 neste aspecto certamente já não serão novidades, bastando por isso mostrar-vos esta belíssima análise do SO, elaborada pelo Peoplware, que vale sempre a pena consultar.

E assim cheguei ao fim de um dia cansativo q.b., mas também gratificante, chegar a casa à noite, jantar, sentar à secretária e começar a debitar texto, imagens e desenhos feitos por mim à mão (sim, fui eu!), até a estas horas da manhã. Querem informação, aqui a têm, amanhã há mais! Quero dizer… hoje, 5ªa feira, dia 19 de Fevereiro.

Espero que este artigo tenha sido do vosso agrado, se encontrarem alguma gaffe, que é provável, comuniquem. Até amanhã.

Links relacionados:

Exit mobile version