System Center

Virtualize seus aplicativos com o Microsoft SoftGrid

Ahmer Sabri and Kedar Shah

 

Visão geral:

  • Benefícios da virtualização de aplicativos
  • Visão geral da arquitetura do SoftGrid
  • Transmitindo pacotes de software

O conceito da virtualização de software, de certa forma, existe desde os anos 60. Entretanto, o setor de TI levou décadas para começar a descobrir seu potencial

. Agora, as pessoas estão compreendendo, e grandes avanços estão sendo feitos.

A Microsoft mostrou a importância que dá à virtualização de aplicativos quando adquiriu a Softricity em julho de 2006. Dessa aquisição nasceu o Microsoft® SoftGrid, uma solução para a virtualização de aplicativos. Com o SoftGrid, os aplicativos são atendidos a partir de um datacenter ou outro local de rede e executados localmente nos clientes remotos em um ambiente virtual. Os aplicativos virtualizados são executados em silos e funcionam de forma independente do sistema operacional e de outros aplicativos da área de trabalho local.

Há vários benefícios ao implementar a virtualização de aplicativos com o SoftGrid, tantos que nem cabe falar aqui. No entanto, os benefícios mais notáveis e que podem ser percebidos imediatamente são os seguintes:

Regressão simplificada e testes de compatibilidade Ao executar várias versões do mesmo aplicativo em paralelo em um único computador sem conflitos, é possível reduzir drasticamente a complexidade, o tempo e os custos associados aos testes e à implantação de novos aplicativos (consulte a Figura 1).

Figura 1 Simplificando a implantação de aplicativos com o SoftGrid

Figura 1** Simplificando a implantação de aplicativos com o SoftGrid  **(Clique na imagem para aumentar a exibição)

Gerenciamento de sistemas facilitado O departamento de TI tem grande controle sobre o ambiente no qual esses aplicativos são executados, facilitando a manutenção do ambiente ideal de área de trabalho.

Menos chamadas ao suporte técnico Com ambientes de área de trabalho melhor gerenciados e menos conflitos (graças aos aplicativos virtualizados que são executados em um silo controlado), os usuários fazem menos chamadas ao suporte técnico.

Segurança de área de trabalho aprimorada Os aplicativos nunca são instalados no sistema operacional, melhorando sua segurança geral. Eles são provisionados apenas para usuários autorizados, evitando assim o acesso não autorizado. E a maioria dos aplicativos é processada sob o contexto de segurança padrão.

Liberdade de preferências As preferências de usuário (perfil e outras configurações) são armazenadas na rede, permitindo aos usuários acessar seus aplicativos, suas preferências e seus controles em qualquer PC.

Tolerância a falhas e recuperação de desastres melhorados Os aplicativos são transformados em arquivos de dados que podem ser armazenados e replicados como qualquer dado da empresa. Os aplicativos e suas atualizações podem ser sincronizados automaticamente entre sites ativos e de BCP (programa de cópia em massa) usando ferramentas de terceiros, habilitando acesso instantâneo a aplicativos no caso de um desastre.

Finalmente, essas características facilitam a administração de sistemas, reduzem custos e permitem que sua organização adote novas tecnologias com mais rapidez e confiança. Agora, vejamos mais atentamente como o SoftGrid funciona.

Como os aplicativos virtualizados são atendidos

A arquitetura do SoftGrid é composta de diversos componentes que trabalham juntos em harmonia. Ela envolve componentes do SoftGrid como armazenamento de dados, servidor virtual de aplicativos, seqüenciador, consoles de gerenciamento, Web Service de gerenciamento e aplicativo cliente, trabalhando ao lado de componentes de infra-estrutura padrão, como o Active Directory® (consulte a Figura 2). Apresentaremos uma visão geral da arquitetura do SoftGrid e explicaremos como os diversos componentes funcionam juntos.

Figura 2 Arquitetura geral do SoftGrid

Figura 2** Arquitetura geral do SoftGrid **(Clique na imagem para aumentar a exibição)

O armazenamento de dados do SoftGrid funciona como um repositório central para o ambiente de virtualização inteiro. Instalado tanto no SQL Server™ (versão 2000 ou 2005) como no MSDE (Microsoft SQL Server Desktop Engine), o armazenamento de dados mantém registros, aplicativos, configurações, dados de licenciamento, informações de relatórios e de conexão.

Os aplicativos virtualizados são atendidos no computador do usuário e processados em um cliente. O SoftGrid oferece dois tipos de cliente: a virtualização de aplicativos Microsoft SoftGrid para desktops universais e a virtualização de aplicativos Microsoft SoftGrid para serviços de terminal. Cada abordagem possui vantagens, mas também desvantagens de desempenho, que descreveremos na seção Configurando o cliente.

Um dos componentes mais críticos no ambiente do SoftGrid é o SVAS (Servidor virtual de aplicativos do SoftGrid). Ele é usado a fim de manipular as solicitações de usuário para aplicativos e transmitir os dados de aplicativo aos usuários por demanda.

O SVAS é executado como um serviço do Windows® chamado servidor virtual de aplicativos do Microsoft System Center e possui requisitos de hardware bastante modestos. Por padrão, todos os dados de aplicativos em si (que logo discutiremos) estão localizados no diretório \Program Files\Softricity\SoftGrid Server\content.

A experiência típica do SoftGrid é iniciada quando um usuário se conecta a uma estação de trabalho. O SoftGrid Client captura o token de segurança do usuário e a associação de grupo de domínio, e passa essas informações por meio de um canal de segurança para o SVAS. O SVAS atribui o acesso de usuário aos aplicativos, desde que o SID (identificador de segurança) exista no diretório de associação de grupo do aplicativo, e um atalho para cada aplicativo é colocado na área de trabalho do usuário (ou em qualquer outro local que o administrador definir, como o menu Iniciar, a barra de inicialização rápida e outros).

A entrega real de um aplicativo, em geral, é iniciada quando um usuário clica no ícone de atalho, que é associado ao arquivo .osd (Open Software Description). Esse arquivo é baseado em XML e contém informações sobre o pacote de aplicativos. O cliente recupera o nome do servidor virtual de aplicativos do arquivo .osd e inicia uma conexão. Nesse momento, o SVAS autentica o cliente e contata o armazenamento de dados para determinar a conformidade da licença. Assim que o usuário é autenticado, o SVAS transmite os dados de aplicativo ao cliente em blocos de dados; por padrão, os blocos de dados são de 32 KB, mas podem ser configurados no momento do seqüenciamento.

Observe que o aplicativo inteiro não é transmitido ao cliente. Em vez disso, o SoftGrid transmite apenas a parte do aplicativo que é imediatamente necessária para iniciá-lo no cliente. Isso, em geral, significa de 20% a 40% do código total, embora, certamente, possa variar conforme o aplicativo. Por exemplo, o Microsoft Word 2003 requer que apenas 15 MB de dados sejam transmitidos ao cliente para poder ser iniciado, comparados aos 800 MB de tamanho total do pacote. Se o usuário acessar uma parte do aplicativo que ainda não esteja no cache do cliente, o código necessário será transmitido ao cliente. Para evitar o horário de pico da segunda-feira, no qual um excesso de solicitações simultâneas obstrui a rede, as organizações podem optar por colocar previamente no cache da área de trabalho dos usuários os aplicativos comuns.

Active Directory

O SoftGrid conta com os usuários e grupos de domínio do Active Directory (ou Windows NT® 4.0) para provisionar aplicativos aos usuários autorizados. Em um ambiente de vários domínios, os usuários podem ser provisionados usando as associações de grupo apropriadas (o SoftGrid oferece suporte a associações de grupo locais, globais e universais) e relações de confiança com o domínio no qual o SVAS está instalado.

Ao instalar o SVAS, são solicitados diferentes grupos de contas de serviço, que ajudarão na integração com o Active Directory e serão usados posteriormente para fins administrativos. Assim, há três grupos e contas que devem ser criados antes da instalação: uma conta Navegador do SoftGrid, um grupo Administradores do SoftGrid e um grupo Usuários do SoftGrid.

A conta Navegador do SoftGrid é responsável pela navegação no Active Directory e, portanto, requer direitos somente leitura para todos os seus domínios em um ambiente de vários domínios. O grupo Administradores do SoftGrid é usado para conceder acesso administrativo ao console de gerenciamento do SoftGrid e ao Web Service de gerenciamento do SoftGrid. E o grupo Usuários do SoftGrid é usado para atribuir a diretiva de provedor padrão, usada para dar a todos os usuários no domínio acesso aos aplicativos publicados no console de gerenciamento.

O ambiente virtual

O SystemGuard é a parte central do SoftGrid Client executada na área de trabalho local. Ele é responsável por fornecer um ambiente virtual funcional para aplicativos executados isoladamente. Dentro desse ambiente de silo estão os componentes virtualizados do sistema operacional — registro, arquivos, fontes, INI, COM, serviços incorporados e variáveis de ambiente — necessários para que o aplicativo seja executado de forma apropriada (consulte a Figura 3).

Figura 3 Ambiente virtualizado para o aplicativo ser executado isoladamente

Figura 3** Ambiente virtualizado para o aplicativo ser executado isoladamente **

O SystemGuard cria chaves de registro virtualizadas para cada aplicativo que executa. Essas chaves não são acessíveis a outros aplicativos executados no sistema operacional local, nem são visíveis para as ferramentas de edição do registro, como o regedit. As leituras e gravações do registro são redirecionadas para as chaves virtuais, conforme necessário. Observe, porém, que os aplicativos virtualizados têm permissão para passar pelo registro local a fim de obter informações não contidas nas chaves de registro virtualizadas.

Da mesma forma, o SystemGuard cria um sistema de arquivos virtualizados e redireciona a maioria das leituras e gravações de aplicativo para ele. Esse sistema de arquivos virtualizados é isolado e fornece o ambiente necessário para executar várias versões do mesmo aplicativo em um único cliente.

É necessário ressaltar, no entanto, que, embora os aplicativos fiquem isolados do sistema operacional local, o usuário ainda tem acesso aos serviços locais, como impressão, recortar e colar e unidades de rede.

Empacotando aplicativos

Agora você deve estar imaginando como é possível criar um ambiente funcional totalmente independente para executar o aplicativo virtualizado. Para essa tarefa, use o seqüenciador do SoftGrid. Essa ferramenta baseada em assistente permite empacotar aplicativos em um ambiente virtual que pode ser entregue e executado no cliente.

O processo de seqüenciamento envolve três etapas: instalação, configuração e teste e execução. Na primeira etapa, Instalação, o Seqüenciador do SoftGrid usa um processo de vigilância ativa para monitorar a instalação do aplicativo e suas dependências de acesso. Depois de concluída, a fase Configuração e Teste é usada para fazer as alterações necessárias à configuração padrão, a fim de garantir a experiência desejada na primeira execução. Finalmente, na fase Execução, o Seqüenciador do SoftGrid compila e ordena o bloco de códigos necessário para iniciar o aplicativo. O FB1 (bloco de recursos 1) é o código essencial necessário para iniciar o aplicativo, permitindo ao usuário executar o aplicativo sem baixar o pacote inteiro.

Assim que um aplicativo é seqüenciado, quatro arquivos são criados: um arquivo de aplicativo habilitado para virtualização (.sft), um arquivo Open Software Description (.osd), um arquivo de ícone (.ico) e um arquivo de projeto (.sprj). Esses arquivos são copiados para o diretório de conteúdo do SVAS. Como opção, um administrador pode publicar os arquivos .ico e .osd para os clientes usando um servidor HTTP.

Embora o SoftGrid, normalmente, provisione aplicativos para serem executados de forma independente em ambientes isolados, o SystemGuard permite certa interação entre aplicativos. Você deve examinar cuidadosamente quaisquer dependências que os aplicativos possam ter entre si e seqüenciá-los em conjunto, caso dependam dessa interação. Esse processo é normalmente chamado de adequação. Observe que nem todos os aplicativos que requerem interação podem ser seqüenciados em conjunto. A adequação é um processo bastante complicado e deve ser feito somente depois de um exame cuidadoso das dependências, pois, às vezes, o seqüenciamento de dois ou mais aplicativos pode anular a finalidade da virtualização.

Simplificando a administração

O console de gerenciamento do SoftGrid fornece uma única ferramenta para executar todas as tarefas administrativas. Ele é instalado no SVAS por padrão e pode ser instalado em outro servidor ou estação de trabalho. É um snap-in do MMC 3.0 e usa o Web Service de gerenciamento do SoftGrid para se conectar ao Armazenamento de dados do SoftGrid; consulte a Figura 4), fornecendo aos administradores autorizados acesso completo aos dados armazenados no banco de dados para fins de gerenciamento. A conexão entre o console de gerenciamento e o Web Service de gerenciamento do SoftGrid usa o Microsoft .NET Framework remotamente, tornando possível instalá-los no mesmo servidor ou em servidores diferentes. A Figura 2 ilustra como essas partes diferentes se encaixam e fornecem acesso a toda a implementação do SoftGrid. Observe que grandes organizações devem executar mais de uma instância do Web Service de gerenciamento do SoftGrid.

Figura 4 O Web Service de gerenciamento do SoftGrid fornece a conexão ao armazenamento de dados

Figura 4** O Web Service de gerenciamento do SoftGrid fornece a conexão ao armazenamento de dados **(Clique na imagem para aumentar a exibição)

O Web Service de gerenciamento do SoftGrid é executado no Windows 2000 ou posterior com o IIS 5.0 ou posterior. O .NET Framework 2.0 ou posterior é necessário, assim como o MDAC (Microsoft Data Access Components) 2.7 ou posterior para conectividade de armazenamento de dados.

O console de gerenciamento fornece uma única ferramenta administrativa a partir da qual os aplicativos podem ser publicados, encerrados etc. As tarefas são organizadas em nove categorias ou contêineres principais, como mostra a Figura 5.

Figura 5 Gerenciando o SoftGrid a partir de um único console de gerenciamento

Figura 5** Gerenciando o SoftGrid a partir de um único console de gerenciamento **(Clique na imagem para aumentar a exibição)

Veja um breve resumo dos tipos de tarefas de gerenciamento encontradas em cada contêiner. No contêiner Aplicativos, o administrador pode executar tarefas como importar arquivos .sprj para fazer novas publicações, especificar o local do .osd, remover aplicativos etc. Por padrão, esse contêiner inclui um pacote publicado que pode ser usado para testar a conectividade do cliente com o servidor de aplicativos.

Uma associação de tipo de arquivo é criada quando os aplicativos são seqüenciados. Assim que o pacote é importado, as associações de tipo de arquivo se tornam disponíveis no console de gerenciamento. O contêiner Associação de tipo de arquivo fornece um único local para os administradores modificarem todas as associações de tipo de arquivo.

O contêiner Pacotes controla versões de pacotes para atualizações ativas; trata-se de atualizações que podem ser feitas sem que o usuário se desconecte ou que o servidor seja desligado. O administrador também pode excluir um pacote do console de gerenciamento usando esse contêiner. Observe que a exclusão de um pacote do contêiner Pacotes removerá o arquivo .sft do console de gerenciamento, e o armazenamento de dados não o excluirá do diretório de conteúdo do servidor de aplicativos.

Conforme mencionei anteriormente, quando um usuário inicia um aplicativo, o SoftGrid Client verifica a disponibilidade de licença e o inicia somente se houver uma licença disponível em um armazenamento de dados. O contêiner Licenças de aplicativos é o local em que os administradores podem associar as licenças com os aplicativos — há suporte para licenças ilimitadas, concorrentes e nomeadas.

Grupos de servidores contém um agrupamento lógico de servidores de virtualização de aplicativos e informações de conexão. Os administradores podem adicionar novos grupos de servidores ou modificar propriedades (como portas usadas para comunicação ou memória alocada e processos) de um grupo existente.

No contêiner Diretivas de provedor, o administrador pode criar um conjunto de regras chamadas de diretivas. As diretivas de provedor personalizadas são usadas a fim de dar acesso aos usuários para vários aplicativos sob diferentes conjuntos de condições. Você pode usar o contêiner Autoridades de conta para especificar um domínio e as credenciais que serão usadas quando o SoftGrid precisar de acesso para ler as informações do diretório do domínio. Administradores do SoftGrid contém os grupos de usuários responsáveis por administrar o ambiente do SoftGrid. Nesse contêiner, os administradores podem adicionar ou remover grupos para controlar as permissões de acesso.

Finalmente, o contêiner Relatórios, como o próprio nome sugere, permite aos administradores gerar relatórios para verificar a integridade geral do ambiente do SoftGrid. Os seguintes relatórios estão disponíveis: Utilização de aplicativos, Auditoria de software, Utilização do sistema, Atividade do usuário/grupo e Erro do sistema.

Configurando o cliente

O SoftGrid Client é instalado no sistema operacional do computador por meio do qual o usuário acessará o aplicativo virtualizado. Conforme mencionado anteriormente, há suporte para dois tipos de cliente: Microsoft SoftGrid for Desktops ou Microsoft SoftGrid for Terminal Services. Cada abordagem possui vantagens, mas também algumas desvantagens de desempenho, em termos de latência de rede, consolidação de farm de servidores e facilidade de gerenciamento.

Em uma implementação de desktop, os aplicativos estão disponíveis localmente e há pouca dependência quanto à disponibilidade de rede e taxa de transferência. Essa abordagem é recomendada, por exemplo, para organizações que possuem filiais com infra-estruturas de TI limitadas. Os Serviços de Terminal são uma boa opção para uma organização que já distribuiu servidores de terminal. Esse cenário faz uso eficiente de hardware e software, reduzindo drasticamente o número de servidores necessários. E, é claro, permite um ambiente com verdadeira liberdade de preferências. As grandes organizações normalmente possuem uma combinação de infra-estrutura de desktop e servidor de terminal. A instalação e configuração dos diversos componentes são semelhantes nas duas abordagens ao configurar uma implantação do SoftGrid.

O cliente pode ser implantado usando qualquer método padrão, como instalação manual ou implantação automatizada com uma ferramenta como o Systems Management Server 2003. A Figura 6 lista os requisitos mínimos de hardware e software para instalar os clientes.

Figure 6 Requisitos de sistema para os clientes do SoftGrid

Cliente Processador Memória Espaço em disco Sistema operacional
Microsoft SoftGrid for Terminal Services P III 850 MHz 1 GB de RAM (mínimo de 256 MB, dependendo do número de usuários e aplicativos) 12 MB para instalação e 4096 MB de cache • Windows 2000 Server ou Advanced Server com os Serviços de Terminal habilitados
• Windows Server 2003 com os Serviços de Terminal habilitados
Microsoft SoftGrid for Desktops P III 600 MHz 128 MB 12 MB para instalação e 2048 MB de cache • Windows 2000 Professional ou Windows XP
• Windows 2000 Server ou Windows Server 2003

Embora a instalação do cliente seja simples, há algumas propriedades que devem ser fornecidas no momento da instalação, como local da instalação, tamanho do cache, letra da unidade a ser usada como unidade virtual, local dos arquivos de dados de aplicativos etc. Depois que o cliente é instalado, algumas configurações adicionais podem ser especificadas ou alteradas usando o console de gerenciamento.

Para iniciar o console de gerenciamento de cliente, vá para o painel de controle e inicie o gerenciamento do SoftGrid Client em Ferramentas administrativas. Você pode optar por se conectar ao computador local ou a um computador remoto.

A Figura 7 mostra que o console de gerenciamento de cliente consiste em um contêiner raiz e três contêineres filho. Na guia raiz localhost do SoftGrid, você pode especificar a maioria dos parâmetros funcionais, incluindo diretório de conexão, diretório de dados de aplicativos, configurações de exibição e execução de cliente, freqüência de pop-ups de mensagens de informações e de erro, tamanho máximo do cache, unidade virtualizada, opções de conectividade e de rede, quando desconectado do servidor SoftGrid, e permissões.

Figura 7 Console de gerenciamento de cliente

Figura 7** Console de gerenciamento de cliente **

Você pode exibir e alterar os aplicativos no contêiner Applications. O contêiner Aplicativos fornece as informações de status sobre o aplicativo local, tais como se o aplicativo está sendo executado, se ele está bloqueado no cache e qual a porcentagem dele (arquivo .sft) que está sendo transmitida ao cache local.

O contêiner Associação de tipo de arquivo permite exibir, alterar e remover uma associação de tipo de arquivo. Para obter mais detalhes, consulte a discussão sobre associação de tipo de arquivo na seção anterior.

O contêiner Configuração de desktop permite especificar, alterar e atualizar manualmente as configurações do servidor de aplicativos especificadas durante a instalação. Nele, você também pode selecionar se a atualização do cliente deve acontecer no momento do logon do usuário (essa é a seleção padrão) e a duração do intervalo de atualização automática.

Conclusão

A virtualização de aplicativos com o Microsoft SoftGrid oferece uma maneira interessante de melhorar a confiabilidade do sistema e simplificar o gerenciamento. Embora exija que várias partes trabalhem em conjunto, a arquitetura realmente se encaixa perfeitamente à infra-estrutura de TI.

O Microsoft SoftGrid for Desktops está disponível para clientes do Software Assurance como parte do Microsoft Desktop Optimization Pack. Para obter mais informações, consulte windowsvista.com/optimizeddesktop. O Microsoft SoftGrid for Terminal Services está disponível como uma licença de acesso a cliente autônomo para clientes corporativos sob contratos de Licenciamento por Volume da Microsoft. Para baixar uma versão de avaliação, faça logon na sua conta de Licenciamento por Volume em https://licensing.microsoft.com e selecione Desktop Optimization Pack for SA em Downloads de Produtos.

Ahmer Sabri é especialista técnico do Grupo de Serviços Financeiros da Microsoft. Ahmer pode ser contatado pelo email ahmers@microsoft.com.

Kedar Shah é especialista técnico do Grupo de Serviços Financeiros da Microsoft. Kedar pode ser contatado pelo email kedars@microsoft.com.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..