Prism for Windows 8.1

Achei um bom motivo para abrir o ano, a disponibilização do Prism for Windows 8.1.

O foco desta versão do Prism é ajudar no desenvolvimento de aplicações para a Windows Store, com uso de C#, XAML, Windows Runtime e patterns como MVVM e agregação de eventos.

Consegui contribuir muito pouco com esta publicação, mas é muito bom ver o time do Patterns & Practices gerando conteúdo de boa qualidade e respeitando um bom legado como este.

Team Web Access – Access Levels

A interface web do Visual Studio Team Foundation Server, conhecida como Team Web Access possui três diferentes Access Levels a partir da versão 2012.

Os três Access Levels são Limited, Standard e Full. E as funcionalidades oferecidas em cada um na versão 2013 estão listados abaixo:

Limited Standard Full
View My Work Items View My Work Items

Standard Features

Agiles boards

Backlog and Sprint planning tools

Chart Viewing

View My Work Items

Standard Features

Agiles boards

Backlog and Sprint planning tools

Request and Manage Feedback

Test case management

Team rooms

Agile Portfolio Management

Chart Viewing

Chart Authoring

O Access Level padrão do Team Foundation Server 2012 e 2013 é o Standard, e para altera-lo é necessário entrar em Administer Server pelo Team Web Access, como na figura abaixo:

Em seguida em Control panel:

A aba Access levels dá acesso aos três Access Levels, e é possível definir o padrão clicando-se em “Set as default access level”:

O acesso a recursos como Team Rooms e Agile Portfolio Management, diretamente pelo Team Web Access, ou por atalhos do Visual Studio, só é possível se o Access Level padrão for Full, ou se o usuário estiver associado ao mesmo, diretamente ou através de um grupo.

Em caso contrário, o usuário receberá a mensagem de erro “TF400409: You do not have licensing rights to access this feature:”.

Hyper-V Enhanced Session Mode

Windows 8.1 and Windows Server 2012 R2 has some new features for Virtual Machine Connection and Hyper-V, grouped by Enhanced Session Mode.

Enhanced Session Mode makes it easy to use a Virtual Machine with:

  • Different resolutions, including full screen mode
  • Audio
  • Local Printers
  • Clipboard
  • Smart Cards
  • Drives
  • USB devices

Client Hyper-V still does not supports Accelerated 3D graphics, Shared Folders, Autofit and Unity, as compared on my previous post Comparing VMware Workstation 9 with Client Hyper-V, but Enhanced Session Mode really improves usability.

Unfortunately, it only works with Windows 8.1 and Windows Server 2012 R2 guest Virtual Machines.

Configuration

To enable it in Windows Server 2012 R2, you must “Allow enhanced session mode” and “Use enhanced session mode” on Hyper-V settings. Windows 8.1 makes it enabled by default.

Connection

To use it, just open Virtual Machine Connection for a Windows 8.1 or Windows Server 2012 R2 virtual machine, and you will see:

And the options for using Local Resources:

Microsoft LightSwitch HTML Client for Visual Studio 2012 no Visual Studio Summit 2013

Uma das novidades do recém lançado Visual Studio 2012 Update 2 foi o Release do Microsoft LightSwitch HTML Client for Visual Studio 2012.

Com esta atualização, o LightSwitch passou a suportar, entre outras coisas, HTML5, jQuery e arquitetura MVVM, ampliando em muito o número de dispositivos que podem ser utilizados para acesso às aplicações criadas.

Estas características chamaram a minha atenção e me motivaram a avaliar a novidade, que possibilitam a criação rápida de aplicações focadas nos dispositivos móveis atuais, e que funcionam em sistemas operacionais como iOS e Android, além de Windows.

Aproveitei para compartilhar o pouco que aprendi no Visual Studio Summit 2013, na sessão “Microsoft LightSwitch HTML Client for Visual Studio 2012″, e a apresentação pode ser acessada em http://www.slideshare.net/marceloazuma/microsoft-lightswitch-html-client-for-visual-studio-2012.

 

Referências

Esta é a lista das referências utilizadas para a preparação da apresentação.

Exemplos de aplicações HTML Client

Building a LightSwitch HTML Client: eBay Daily Deals (Andy Kung)

http://blogs.msdn.com/b/lightswitch/archive/2012/11/21/html-client-daily-deals-andy-kung.aspx

Signed-In Part 1 – Introduction (Andy Kung)

http://blogs.msdn.com/b/lightswitch/archive/2013/03/18/signed-in-part-1-introduction-andy-kung.aspx

The LightSwitch HTML Client: An Architectural Overview (Stephen Provine)

http://blogs.msdn.com/b/lightswitch/archive/2012/06/21/the-lightswitch-html-client-an-architectural-overview.aspx

Arquitetura

Exploring LightSwitch Architecture

http://msdn.microsoft.com/en-us/vstudio/gg491708

The LightSwitch HTML Client: An Architectural Overview (Stephen Provine)

http://blogs.msdn.com/b/lightswitch/archive/2012/06/21/the-lightswitch-html-client-an-architectural-overview.aspx

Outras

Localizing a LightSwitch Application (Heinrich Wendel)

http://blogs.msdn.com/b/lightswitch/archive/2013/05/02/localizing-a-lightswitch-application.aspx

Queries

Many-To-How-Many – HTML Edition (Heinrich Wendel)

http://blogs.msdn.com/b/lightswitch/archive/2013/04/10/many-to-how-many-html-edition-heinrich-wendel.aspx

How to: Extend a Query by Using Code

http://msdn.microsoft.com/en-us/library/ff852040.aspx

Demo hospedada no Azure Websites

A demo que eu construí foi baseada no aplicativo Time ‘n’ Place, e pode ser acessada aqui:

https://marceloazuma.azurewebsites.net/HTMLClient/

Username: VSSummit2013

Password: Guest20!3

Uso de cartāo de memória para aumentar o espaço de armazenamento interno com o Windows 8

03/03/2013 1 comentário

Este artigo apresenta uma maneira eficiente de usar um cartão de memória para armazenamento de fotos e músicas, entre outros, com o Windows 8: http://www.teamradicus.com/post/Surface-and-SD-Card.aspx.

Ele se refere ao Surface, mas o problema é recorrente em qualquer equipamento com leitor de cartões de memória, caso o usuário deseje utiliza-lo para aumentar o espaço de armazenamento interno.

É uma volta muito grande para algo que deveria ser natural em um sistema operacional para tablets, mas o resultado final fica muito bom.

Tags:

Visual Studio 2012 Team Foundation Server no Windows Azure

Resolvi montar um ambiente de laboratório no Windows Azure equivalente ao que costumo utilizar para fazer testes e demonstrações do Visual Studio ALM, aproveitando para conhecer os eventuais problemas inerentes a utilização de um ambiente de trabalho diferente.

Vale lembrar que o Visual Studio ALM possui uma oferta online já em produção atualmente, o Team Foundation Service, mas que ainda apresenta fortes restrições de uso, como o baixo número de usuários possíveis por projeto, e a ausência de alguns recursos, como a integração com o SharePoint, o que deixa a oferta semelhante à versão Express do Team Foundation Server. Em virtude disso, ainda há bastante espaço para utilização da versão tradicional do produto.

Neste laboratório, o Windows Azure foi utilizado como IaaS, ou Infrastructure as a Service, com uso dos serviços de Virtual Machines, Virtual Networks e Storage. É importante ressaltar que a Microsoft ainda classifica estes recursos como versões em Preview, mas que já estão disponíveis desta forma há um certo tempo.

Eu utilizei as últimas versões dos produtos e suas atualizações. Além dos produtos oferecidos pelo Azure, foram utilizados o SQL Server 2012 Service Pack 1, SharePoint e Project Server 2013, e o Visual Studio 2012 Team Foundation Server Update 1. O sistema operacional selecionado, oferecido como uma imagem pelo Windows Azure, foi o Windows Server 2012 Datacenter Edition, imagem de dezembro de 2012.

Para montar um laboratório complexo o suficiente para tornar a avaliação do Windows Azure interessante, eu optei por um cenário distribuído, com a utilização das quatro máquinas virtuais listadas aqui:

Máquina Virtual Softwares Tamanho da máquina virtual
AD Windows Server 2012

Active Directory Domain Services

Small

2 discos

SQL Windows Server 2012

SQL Server 2012 Service Pack 1

Medium

2 discos

SPS Windows Server 2012

SharePoint Server 2013

Project Server 2013

Large

2 discos

TFS Windows Server 2012

Visual Studio 2012 Team Foundation Server Update 1

Small

1 disco

 

Trabalhar com o Windows Azure é uma experiência bastante interessante, visto que o seu Portal oferece os recursos administrativos necessários para a operação do ambiente, e ainda permite a utilização de scripts PowerShell ou outras linguagens de programação para automação de tarefas administrativas.

Um dos meus objetivos neste estudo era o de evitar ao máximo o uso de scripts, me restringindo aos recursos oferecidos pelo Portal de Gerenciamento, visto que acredito ser esta a maneira pela qual a grande maioria das pessoas começará a utilizar o produto. Achei interessante notar que a maior parte das informações que encontrei para a preparação do ambiente apresentavam logo de cara scripts PowerShell, indo no caminho oposto, mas posso adiantar que foi possível cumprir o meu objetivo.

A preparação do ambiente com as quatro máquinas virtuais exigiu a utilização do recurso de Virtual Network, que contempla a criação de uma subrede IPv4, um serviço de fornecimento de endereços IPs dinâmicos, como um DHCP, com reserva de endereços para cada máquina, e roteamento de rede. O principal objetivo deste recurso é permitir a comunicação entres as máquinas virtuais, como se elas estivessem em rede local, além de permitir o estabelecimento de VPNs site-to-site, para comunicação com a rede de uma empresa.

Outro item importante é a criação do Storage onde os arquivos VHD, que correspondem aos discos das máquinas virtuais, ficam armazenados.

 

Preparação do ambiente

Vou apresentar a seguinte a sequência de montagem do ambiente. A sequência considera o uso de uma conta do Windows Azure, disponível em www.windowsazure.com, inclusive com a oferta de avaliação gratuita.

Os passos de configuração do Windows Azure assumem o uso do Portal de Gerenciamento, acessível no endereço https://manage.windowsazure.com/.

 

Virtual Network

O Windows Azure não permite que o as máquinas virtuais trabalhem com endereços de IP fixos, mas para a criação de um servidor que forneça o serviço de domínio, é necessário que ele ofereça também o serviço de DNS, o que é bastante contraditório. E como fazer para os servidores consigam se comunicar?

O Virtual Network é o recurso que possibilita resolver estes e outros problemas, e onde a diferença de se trabalhar com o Windows Azure se torna mais evidente.

Sempre que se deseja estabelecer a comunicação entre máquinas virtuais no Windows Azure, é necessário configurar o recurso.

Com o Virtual Network, estabelece-se um espaço de endereçamento reservado, com uso das faixas de endereço tradicionalmente reservadas para redes internas, ou seja, as faixas 10.x.x.x, 172.16.x.x e 192.168.x.x. Estas faixas de endereçamento podem ser divididas em subredes.

Toda máquina virtual no Windows Azure pode ser associada a uma subrede, e a partir dessa associação um endereço IP é atribuído, sendo alterado apenas se as configurações mudarem. Sempre que uma máquina virtual associada a um Virtual Network é ligada, ela recebe o mesmo endereço IP, e este endereço pode ser consultado na página de configuração da máquina virtual.

Como a atribuição de endereços é automática, realizada pelo Virtual Network, o endereço do servidor DNS também precisa ser atribuído, ou a máquina virtual não conseguirá resolver endereços por nome.

Para isso o Virtual Network permite o cadastro de servidores DNS, que são atribuídos às máquinas virtuais junto com os endereços IP.

Como o Virtual Network fornece sempre o mesmo endereço IP e também entrega o endereço do servidor DNS, os problemas de endereçamento estão quase todos resolvidos, exceto por um problema para o cenário deste laboratório.

As configurações do Virtual Network não podem ser alteradas depois de uma máquina virtual estar associada, então, se o servidor DNS será uma das máquinas virtuais associadas à Virtual Network, como saber qual será o endereço dele?

Eu percebi que os endereços atribuídos às máquinas virtuais são sempre sequenciais, e sempre começam recebendo o quarto endereço útil da subrede.

Por exemplo, eu configurei o meu Virtual Network com a faixa de endereços de 192.168.0.0 a 192.168.255.255, e uma subrede com endereços de 192.168.0.0 a 192.168.0.255.

Com estas configurações, a primeira máquina virtual associada ao Virtual Network sempre recebeu o endereço 192.168.0.4.

A partir desta percepção, eu configurei o meu Virtual Network com o endereço de DNS 192.168.0.4, e fiz com que a primeira máquina virtual fosse o meu servidor AD e DNS, resolvendo a questão.

Um outro aspecto importante do Virtual Network é o fato dele delimitar a região geográfica onde os servidores estarão. Todas as máquinas virtuais associadas ao Virtual Network precisam estar fisicamente na mesma região.

 

Configuração do Virtual Network

Os passos para criar o Virtual Network são:

1. No portal de gerenciamento, navegar por New -> Networks -> Virtual Network -> Custom Create

1.1. Virtual Network Details

1.1.1. Name: Fornecer o nome do Virtual Network

1.1.2. Affinity Group: Selecione um existente ou crie um novo

1.1.3. Region: Caso se esteja criando um novo Affinity Group, deve-se escolher a região. Percebi que algumas regiões não oferecem todas as imagens de máquinas virtuais, principalmente as mais recentes. As regiões East US e West US, por exemplo, fornecem todas, enquanto South Central US e North Central US não

1.1.4. Affinity Group Name: Forneça um nome para o Affinity Group e a Region, vale a pena montar um nome que indique a região, além do seu objetivo

 

1.2. Address Space and Subnets

1.2.1. Address Space: Escolha a faixa de endereços da sua rede virtual (10.x.x.x, 172.16.x.x ou 192.168.x.x)

1.2.2. Subnet: As subredes definem as faixas efetivamente utilizadas. É possível configurar mais de um Address Space e várias subnets para cada Virtual Network

 

2. Registrar DNS Server

2.1. Navegar por New -> Networks -> Virtual Network -> Register DNS Server

2.1.1. Name: Pode ser o nome da máquina virtual que hospedará o Active Directory, a ser criado na sequência

2.1.2. DNS Server IP Address: Escolha o quarto endereço útil da subrede, por exemplo 192.168.0.4, caso a subrede comece com o endereço 192.168.0.0

 

3. Associar o DNS Server registrado ao Virtual Network

3.1. No portal de gerenciamento, clique em Networks na lateral esquerda, e em seguida procure na lista o Virtual Network que acabou de ser criado. Clique na seta para a direita ao lado do nome

3.2. Você estará no Dashboard do Virtual Network, como pode ser visto no alto da página, logo abaixo do nome. Clique em Configure

3.2.1. Procure por DNS Servers e faça a atribuição do DNS Server cadastrado no passo anterior

 

A referência utilizada para esta configuração foi esta:

http://www.windowsazure.com/en-us/manage/services/networking/create-a-virtual-network/

 

Storage

O recurso de Storage do Windows Azure é equivalente a um Storage que pode estar conectado à sua rede local, mas que pode ser encarado como um conjunto infinito de discos, pois não há um limite pré-definido de espaço, e também pode ser replicado geograficamente, entre as regiões.

O Storage precisa receber um endereço, no formato de uma URL, para que possa ser acessado. Para ser utilizado junto com as máquinas virtuais, precisa estar no mesmo Affinity Group criado para o Virtual Network, o que garante que ele estará na mesma região.

 

Configuração do Storage

Os passos para criar o Storage são:

1. Navegar por New -> Data Services -> Storage -> Quick Create

1.1. URL: Defina o endereço público, com o formato *.core.windows.net, pelo qual o seu Storage poderá ser acessado

1.2. Region / Affinity Group: Selecione o Affinity Group criado com o Virtual Network

1.3. Enable Geo-Replication: O site informa que caso se selecione esta opção depois, poderá haver um impacto na precificação

 

Referência:

http://www.windowsazure.com/en-us/manage/services/networking/add-a-vm-to-a-virtual-network/

 

A primeira máquina virtual

A primeira máquina virtual para este ambiente foi o servidor de Active Directory Domain Services e DNS, fechando o ponto iniciado na configuração do servidor DNS para o Virtual Network.

Importante ressaltar que para este laboratório foi criado uma nova floresta e domínio, mas poderia ser estabelecida uma VPN com a rede da empresa, e incluir este servidor em um domínio ou floresta existentes.

Vale uma atenção em relação aos discos das máquinas virtuais. Os discos são classificados em OS disk e Data disk, sendo que o OS disk é configurado inicialmente, recebendo a imagem do sistema operacional selecionado. O OS disk vem configurado com um cache do tipo Read Write, o que não é recomendado para os discos de dados, pelas referências que encontrei, pela remota possibilidade de perda de dados.

 

Configuração da primeira máquina virtual

Para configurar a máquina virtual:

1. Navegar por New -> Compute -> Virtual Machine -> From Gallery

1.1. Escolha o sistema operacional. Eu usei a última versão disponível, no caso a Windows Server 2012, December 2012, que não estava disponível em algumas regiões

1.2. Virtual machine configuration

1.2.1. Virtual machine name: Escolha o nome que da máquina virtual

1.2.2. Password: Senha da conta administratora

1.2.3. Size: Eu usei o tamanho Small, para possibilitar o uso de um segundo disco, tive alguns problemas para fazer isso com a instância Extra Small mas não tenho certeza se foi circunstancial, apesar da documentação informar que ela suportaria

 

1.3. Virtual machine mode

1.3.1. A opção usada foi a Standalone virtual machine, a outra opção permite trabalhar com máquinas criadas para balanceamento de carga

1.3.2. DNS name: nome para acesso externo à máquina. Este nome será importante para a publicação dos serviços pela Internet

1.3.3. Storage account: criado no tópico Storage

1.3.4. Region / Affinity Group / Virtual Network: Selecione o Virtual Network criado anteriormente, por ser a opção mais específica

1.3.5. Virtual network subnet: selecione a subrede criada com o Virtual Network

 

1.4. Virtual machine options

1.4.1. Availability set: None -> Esta opção permite a criação de camadas de servidores espelhados, como em cenários de load balancing. Mais informações sobre isto podem ser obtidas aqui:

https://www.windowsazure.com/en-us/manage/windows/common-tasks/manage-vm-availability/

 

1.5. Neste ponto a máquina virtual já deverá estar em processo de criação, o que deve levar cerca de 10 minutos

 

2. Adicionar disco de dados

2.1. Navegue até a página de configuração da máquina virtual criada clicando em Virtual Machines do lado esquerdo do portal de gerenciamento

2.2. Selecione a sua máquina virtual recém criada

2.3. Na barra de ferramentas inferior selecione Attach -> Attach empty disk (esta opção não estará habilitada enquanto a máquina virtual não estiver pronta)

2.3.1. Confirme se a máquina virtual escolhida está correta

2.3.2. Os parâmetros Storage Location e File Name já vêm preenchidos, só o File Name pode ser alterado

2.3.3. Defina um tamanho para o disco. Não escolha um tamanho muito pequeno, pois não há opção de modificação

2.3.4. Host Cache Preference: None, Read Only e Read Write -> A opção Read Write pode ocasionar perda de dados em caso de problemas

 

2.4. Este processo deve levar mais alguns minutos

 

3. Aproveite que você está na página de configuração da máquina virtual para confirmar se o endereço IP atribuído a ela corresponde ao endereço registrado como DNS Server, durante a configuração do Virtual Network. Esta informação deve aparecer como o campo INTERNAL IP ADDRESS, nas informações agrupadas como “quick glance”, do lado direito desta página

4. Quando a máquina virtual estiver pronta, será possível conectar-se a ela usando a opção Connect, também disponível na barra de ferramentas inferior. Esta conexão utilizará o Remote Desktop Connection, e abrirá um terminal para a sua nova máquina virtual

5. Lembre-se de configurar o disco de dados adicionado no passo 2, a primeira letra disponível para configurar a unidade costuma ser a F. Recomendo utilizar esta unidade para armazenar os dados do Active Directory, mas não é necessário utiliza-la para os executáveis

6. Os passos de configuração do Active Directory Domain Services e do DNS são bastante comuns, e podem ser facilmente encontrados em outras referências, e por este motivo não serão detalhados aqui

7. Estes dois artigos apresentam o processo de configuração de máquinas virtuais no Windows Azure com o Active Directory, de maneira semelhante ao apresentado aqui, mas com o uso de scritps PowerShell:
http://www.windowsazure.com/en-us/manage/services/networking/active-directory-forest/

http://www.windowsazure.com/en-us/develop/training-kit/hol-deployingactivedirectoryps/

Vale observar que as referências recomendam a configuração de um segundo disco de dados, para realização de backup. Não me importei em fazer este procedimento para a construção deste ambiente de laboratório.

 

Acrescentando as outras máquinas virtuais

Depois de configurada a primeira máquina virtual e configurado o Active Directory Domain Services e o DNS, basta criar as máquinas virtuais adicionais, seguindo os mesmos passos utilizados para criar a primeira.

Note que, como o Virtual Network já foi configurado com o endereçamento da subrede e do servidor DNS, basta associar as novas máquinas virtuais, e todos os detalhes de configuração de rede já estarão prontos.

Da mesma forma que para a primeira máquina virtual, não entrarei nos detalhes de configuração dos produtos aqui, visto que são os mesmos procedimentos necessários para a instalação em outros ambientes, mas vou mencionar os detalhes específicos do ambiente no Windows Azure, bem como citar alguns detalhes referentes a ambientes distribuídos como este.

 

Configuração da segunda máquina virtual, SQL

Para configurar a máquina virtual:

1. Repita o primeiro passo para criação da máquina virtual, mas para o servidor SQL utilize pelo menos a configuração Medium

2. Adicionar pelo menos um disco de dados, para armazenar os bancos de dados

3. Conecte-se à máquina virtual, configure o disco adicional

4. Cadastre a máquina no domínio

5. Utilize uma conta do domínio, pode ser a Administrator mesmo, para realizar a instalação do SQL Server. Utilize a documentação de instalação do Visual Studio 2012 Team Foundation Server para consultar os detalhes de instalação

6. Habilite o protocolo TCP/IP no SQL Server

7. Configure o Windows Firewall para liberar o acesso às portas TCP 80, 1433 e 2383, para liberar o acesso ao Reporting Services, Database Services e Analysis Services, considerando as portas padrões. As portas referentes ao Database Services e Analysis Services não serão publicadas na Internet, então não há necessidade de alterá-las

 

Configuração da terceira máquina virtual, SharePoint

Para configurar a máquina virtual:

1. Repita o primeiro passo para criação da máquina virtual, para o servidor SharePoint é possível começar com a configuração Medium, mas eu só conseguir ativar todos os serviços, incluindo o Project Server, após a mudança para a configuração Large

2. Adicione pelo menos um disco de dados, para armazenar os arquivos temporários e logs do SharePoint

3. Conecte-se à máquina virtual, configure o disco adicional

4. Cadastre a máquina no domínio

5. Utilize uma conta do domínio, pode ser a Administrator mesmo, para realizar a instalação e configuração do SharePoint Server. Utilize a documentação de instalação do Visual Studio 2012 Team Foundation Server para consultar os detalhes de instalação

6. A Farm SharePoint precisará ser configurada, assim como os serviços, e um portal deverá ser criado

7. Instale o Visual Studio 2012 Team Foundation Server e configure o portal SharePoint para que os sites do TFS e os Dashboards possam ser criados

8. Não mencionei o Project Server, mas ele pode ser instalado nesta máquina virtual, assim como o recurso de integração dele com o TFS

 

Configuração da quarta máquina virtual, TFS

Para configurar a máquina virtual:

1. Repita o primeiro passo para criação da máquina virtual, para o servidor TFS é viável trabalhar com a configuração Small. O setup do produto apresentará um aviso, mas não encontrei nenhum tipo de problema

2. Não há necessidade de acrescentar um disco dados para esta máquina

3. Conecte-se à máquina virtual e cadastre-a no domínio

4. Instale os componentes de acesso a dados do SQL Server, que pode ser feito usando-se o disco de instalação do SQL Server e restringindo a instalação ao item “Client Tools Connectivity” em “Features Selection -> Shared Features” durante o setup

5. Utilize uma conta do domínio, pode ser a Administrator mesmo, para realizar a instalação e configuração do Visual Studio 2012 Team Foundation Server. Utilize a documentação do produto para consultar os detalhes de instalação

 

Validação do ambiente

Depois de realizada a configuração inicial, confirme se o SharePoint e o TFS estão funcionando como esperado, acessando os recursos pelo Internet Explorer das próprias máquinas virtuais.

 

Publicação do serviços

Para que o ambiente seja acessível externamente é necessário realizar a publicação dos serviços, o que pode ser feito pelo Portal de Gerenciamento do Windows Azure.

 

Publicação do TFS

Por padrão a porta a ser publicada para o TFS é a 8080:

1. Navegue até a página de configuração da máquina virtual TFS, clicando em Virtual Machines do lado esquerdo do Portal de Gerenciamento;

2. Clique na seta para a direita ao lado do nome da máquina virtual;

3. Na tela do Dashboard, clique em Endpoints na parte superior da página. Observe que o RemoteDesktop deverá aparecer na lista de publicação;

4. Clique em Add Endpoint, na barra de ferramentas inferior. Selecione um nome de identificação para a porta, informe o número da porta pública e privada (8080), que pode receber um valor diferente externamente, e use o protocolo TCP.

 

Publicação do SharePoint

Para o SharePoint basta realizar a publicação da porta 80:

1. Se você fizer esta configuração na sequência do item anterior, bastará clicar no nome na máquina virtual do SharePoint, que deve estar visível do lado esquerdo do Portal de Gerenciamento, e a página de Endpoints deste servidor será exibida;

2. Adicione o Endpoint para a porta 80 com protocolo TCP.

 

Publicação do SQL

Para a máquina virtual do SQL, basta realizar a publicação da porta 80 para disponibilizar o serviço de Reporting Services:

1. Se você fizer esta configuração na sequência do item anterior, bastará clicar no nome na máquina virtual do SQL, que deve estar visível do lado esquerdo do Portal de Gerenciamento, e a página de Endpoints deste servidor será exibida;

2. Adicione o Endpoint para a porta 80 com protocolo TCP.

 

Ajustes no SharePoint

O acesso externo ao servidor SharePoint será feito pelo endereço cadastrado como DNS name, informado durante o processo de criação da máquina virtual.

Para que o SharePoint aceite o acesso por este endereço, será necessário cadastrá-lo na lista Alternate Access Mappings, a partir do SharePoint Central Administration.

 

Ajustes no TFS

Para que o acesso funcione corretamente, é necessário ajustar os endereços do SharePoint e do Reporting Services para os endereços externos, no formato *.cloudapp.net, cadastrados como DNS name.

Estes ajustes podem ser feitos pelo Team Foundation Server Administration Console, nos seguintes pontos:

1. Application Tier

1.1. Change URLs

1.1.1. Altere o parâmetro Notification URL para o endereço externo do servidor TFS

Ao realizar esta configuração, encontrei um erro de validação do endereço, que foi resolvido criando-se a chave de registry BackConnectionHostNames, conforme a solução 1 apresentada neste artigo:

http://code-journey.com/2009/account-failed-to-log-on-0xc000006d-unable-to-load-website-from-local-server/

 

2. Application Tier -> SharePoint Web Applications

2.1. Change

2.1.1. Altere o parâmetro Web Application URL para o endereço externo do servidor SharePoint

 

3. Application Tier -> Reporting

3.1. Edit -> Na aba Reports da janela Reporting

3.1.1. Altere os parâmetros Web Service e Report Manager para o endereço externo do servidor SQL

 

Utilização do serviços

Depois de todas estas configurações, você deverá ser capaz de acessar os serviços instalados a partir de uma estação qualquer, para isto tente acessar estes recursos:

  1. http://<servidorTFS>.cloudapp.net:8080/tfs
  2. http://<servidorSharePoint>.cloudapp.net/
  3. http://<servidorSQL>.cloudapp.net/Reports/

Você deverá ser capaz também de cadastrar o servidor TFS no Visual Studio.

 

Conclusões

O ambiente montado aqui foi o do Visual Studio ALM, mas boa parte das informações apresentadas permitem a criação de qualquer outra configuração usando o Windwos Azure como IaaS. E como pode-se observar, as diferenças não são tantas assim.

Vale ressaltar que nesta modalidade de serviços, o Windows Azure irá fornecer os recursos físicos, como servidores, infraestrutura de rede e eletricidade, além de vários mecanismos de redundância e tolerância a falhas. Porém, nenhum serviço será oferecido para manutenção do ambiente, como realização de backups dos bancos de dados, monitoração dos serviços, ou aplicação de patches.

Todas estas tarefas de operação e manutenção são de responsabilidade do cliente, contratante do serviço.

Faltam poucos detalhes para transformar esta configuração em um ambiente de produção. Mas acredito que as máquinas virtuais utilizadas devam comportar de 50 a 100 usuários simultâneos, pela experiência acumulada.

Para maiores necessidades, seria possível incluir outros servidores para balanceamento de carga para o TFS e para o SharePoint, além de aumentar a capacidade do servidor SQL ou dividir os seus serviços e bancos de dados em mais de uma máquina virtual.

Comparing VMware Workstation 9 with Client Hyper-V

02/12/2012 1 comentário

I stopped using VMware software when Microsoft started to offer Virtual PC, and then I started to use Windows Server on my laptops to use Hyper-V, since Virtual PC never was upgraded to run 64 bit virtual machines. But using Windows Server on a laptop is not a delightful experience, and I was looking for a good way to run 64 bit virtual machines on Windows 7.

I tried VirtualBox, since it was free, but I felt it unstable for my usage, and decided to try VMware Workstation, and had a good experience.

When I finally got Windows 8 on my machine, as posted in “Windows 8 on HP Envy 15-1050nr”, the first thing I decided to do was try to convert my VMs to Hyper-V, and I made it using Vmdk2Vhd tool, that only converts the VMDK virtual disks to VHD format, so I just needed to create new Virtual Machines on Hyper-V and use the converted virtual disks.

After converting my Virtual Machines to Hyper-V and having my lab running, I was trying to decide if I would stay with Hyper-V, or go back to VMware Workstation, since I have got the upgrade about 2 months ago.

The decision criteria took performance, features and usability on account.

 

Performance

For the performance comparison, I used my lab environment used to test Visual Studio and TFS, which is composed by 3 virtual machines:

1. ITGLAD – Windows Server 2012 running AD and DNS

2. ITGLTFS12 – Windows Server 2012 running SQL Server 2012, SharePoint 2013, Project Server 2013 and Team Foundation Server 2012 Update 1

3. ITGLCLI8 – Windows 8 running Office 2013 and Visual Studio 2012 Update 1

 

The steps I reproduced were:

1. ITGLAD Boot – Turn it on and wait for the login screen to appear

2. ITGLTFS12 Boot – Turn it on and wait for the login screen to appear

3. ITGLCLI8 Boot – Turn it on and wait for the login screen to appear

4. Login on ITGLCLI8 – Login and wait until the Home Screen to appear

5. Open Visual Studio – Open Visual Studio and wait until its start page to appear

6. Connect to TFS – Click at the Team Explorer tab at Visual Studio and wait until it connect to a Team Project

 

Using my laptop running Windows 8 with the configuration and the same devices, and excluding the virtual disks extension (vhd, vhdx and vmdk) from Windows Defender, VMware Workstation 9 took 4:26 minutes to run the test, and Client Hyper-V just 3:23, 23% less:

 

VMware

Hyper-V

ITGLAD Boot

0:01:12

0:01:04

ITGLTFS12 Boot

0:01:25

0:00:57

ITGLCLI8 Boot

0:00:34

0:00:25

Windows 8 login

0:00:16

0:00:19

Visual Studio load

0:00:19

0:00:26

TFS connection

0:00:40

0:00:12

Total

0:04:26

0:03:23

 

Features

Windows 8 is the first desktop Windows to have Hyper-V, and since it was focused on the server it still does not have some features for this scenario. So, let’s make a list of the Hyper-V missing features:

· Accelerate 3D graphics – Client Hyper-V does not come with Remote FX or any acceleration for graphics;

· USB – Client Hyper-V does not have any support for connecting USB devices directly to virtual machines;

· Sound Card – No sound from virtual machines, but you can use a Remote Desktop Connection to get sound from the VMs on Hyper-V;

· Shared Folders – A simple way to access the file system from the host. You have to establish a network connection between the VM and the host;

· Autofit – To resize the display you need to change the resolution in the VM. In VMware you just have to resize the window, or put it in fullscreen;

· Unity – This feature lets you use an application inside the VM from the host, making the user feel like the app is installed and running at the host.

The only feature a found better implemented in Hyper-V is dynamic memory, where you can configure the minimum and maximum amount of memory each VM will use, and Hyper-V allocates just the needed amount.

 

Usability

The feature list shows that VMware Workstation can make some tasks easier, like using a file from the host, or using an USB device.

The display response with VMware is better too, which makes possible to use the VM even for running some games. But it is not perfect, when I switch from one VM to another, it takes 2 or 3 seconds until the screen appear, switching with Hyper-V is instantaneous.

 

Conclusion

I could find that VMware Workstation is better for running client VMs, and Client Hyper-V is better for server VMs. The best solution would be to have both, but it is not allowed, you cannot run more than one virtualization software.

And worse, you cannot even install both at the same time, you need to remove one first, before you install the other. At least the configuration is kept if you uninstall and install again.

For now I’ll keep with VMware Workstation 9, mainly by the better graphics and sound support, and knowing that I could be 23% faster.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 759 outros seguidores