Friday, March 23, 2007

Microsoft TechDays - Dia 1

Este primeiro dia começou com uma sessão de abertura onde se pretendeu fazer uma resanha dos vários pontos a abordar ao longo do evento.

Deste primeiro dia, as sessões que considerei mais interessantes, e sobre as quais me debruçarei de forma algo resumida (!!), foram as seguintes:

SRV002 - Nova geração de Arquitectura de Infra-Estrutura: Service Oriented Architectura (SOI)
DEV005 - Team System: Extensibilidade e Integração Continua
MGT004 - Windows PowerShell (ex-"Monad"): a próxima geração de Command Line Scripting

Segue um pequeno resumo destas sessões!

SRV002 - Nova geração de Arquitectura de Infra-Estrutura: Service Oriented Infrastructure (SOI)

Esta sessão centrou-se na Service Oriented Architecture, agora em voga, que consiste, de forma muito resumida, em ter uma serie de aplicações que são clientes de mais do que um serviço.

Ressaltou-se a importancia de conhecer a infraestrutura-alvo e de ter um catálogo de serviços.

Foi referido o WSRM (Windows System Resource Manager) para facilitar a gestão de recursos, e que já vem incluido no Windows Server 2003, Enterprise Edition.

Por onde começar?
Foram sugeridos um conjunto de pontos:
- definir e prioritizar os serviços (conceito "low hanging fruit" - começar pelos serviços mais à mão) - não esquecer os ambientes de teste e controlo de qualidade
- definir a experiência do utilizador (comunicação não tecnológica)
- desenhar a arquitectura de referência (abstrair e normalizar; categorizar subscritores como alto, médio ou baixo, por: capacidade, carga, performance, disponibilidade)
- evoluir para a gestão de serviço (garantir que cada serviço tem um gestor, que faça a gestão entre o fornecedor do serviço e o consumidor, que faça a gestão da entrega do serviço e que garanta o suporte ao serviço)

Foram referidos como facilitadores de SOI algumas tecnologias:
- virtualização (utilização de máquinas virtuais -exige gestão e pode apresentar alguns problemas de performance)
- clustering (tem custos elevados - compensa se se pretende ganhar em capacidade)
- SAN (flexibilidade, capacidade, replicação, backup)

Em resumo:
- não é uma nova tecnologia. é uma nova abordagem (uma mudança de pensamento, se quisermos...)
- depende da capacidade do gestor do serviço
- inclui gestão de perfis (roles)
- deve ser adoptada gradualmente (conceito "low hanging fruit")

DEV005 - Team System: Extensibilidade e Integração Continua

Esta apresentação focou-se sobre os conceitos de Integração Contínua (IC), já familiares para alguns.


Foi referido um conjunto de boas práticas, como:
- ter um Sistema de Controlo de Versões (VSS, TFS, ...)
- ir buscar sempre a ultima versão do projecto ("Get latest version")
- integrar uma vez por dia

Como beneficios da IC, foram listados os seguintes:
- reduz o esforço de integração
- permite a automatização de tarefas
- permite a detecção mais rápida de erros
- diminui ciclos de feedback
- permite a monitorização dos estados dos projectos
- mais qualidade no código (com ferramenta de qualidade)

Foram citadas algumas ferramentas que possibilitam a IC:
- NAnt e MSBuild
- NAntContrib (complementa o NAnt)
- NUnit (testes unitários)
- NCover (estatisticas sobre o código - permite, por exemplo, saber que % do código está abrangida por testes unitários)
- NDepend (análise de dependências entre source e assemblies)
- FxCop (análise de boas práticas no código - convenções, performance, etc...)
- Simian (detecção de duplicação de código)

Como implementar a IC - a sugestão dada inclui os seguintes pontos:
- criar em File System uma estrutura do tipo:
...\CruiseControlNet\server
...\projectos\build\application
...\projectos\build\source

...\projectos\web
- instalar o CC.Net e o CC.Tray
- instalar o TFSCCNetPlugIn (colocar em ...\CruiseControlNet\server)
- alterar o CCNet.exe.config - alterar o xml:
. configuração do projecto
. configuração do SSControl
. configuração do Build
- start ao serviço CCNet
- verificar o Web Dashboard
- verificar o deploy no ambiente de destino

Outra aplicação de IC referida é o Automaton.

MGT004 - Windows PowerShell (ex-"Monad"): a próxima geração de Command Line Scripting

A nova shell de scripting do Windows dá pelo nome de PowerShell, e vem já incluida com o Exchange Server 2007.


Porquê uma nova shell?
Porque muitos dos Win IT Professionals usam os CMD, BAT, VBScripts, ....

Funcionalidades mais valorizadas:
- é fácil de escrever sem saber programação
- shell única para todos os componentes Windows e Microsoft
- é compativel com outros scripts que já existam

Benefícios do PowerShell:
- fácil de usar e de aprender (sintaxe "verbo-sujeito" - ex.: get-process)
- acelera a automação de tarefas administrativas

Principios do PowerShell:
- preserva o investimento feito
- poderosa manipulação de objectos
- facilita a vida aos Admins (personalização de comandos, construção rápida de scripts, criação e partilha de ferramentas - cmdlets)

Caracteristicas:
- fácil de usar: suporte nativo e uniforme para ADSI, WMI, COM, XML, ADO, HTML, CSV
- fácil de adoptar:
. download gratuito
. funciona em XP, WinServer 2003, Vista, e WinServer "longhorn"
. comandos e scripts mais rápidos
- fácil de aprender:
. guias de aprendizagem "Getting started"
. livros, web casts
. scripts de exemplo
. suporte da comunidade

Produtos que tiram partido da PowerShell:
- Exchange Server 2007
- System Center
- Windows Server

Blog da comunidade:http://blogs.technet.com/powershell

No comments: