Neste artigo irei abordar o recurso de templates de serviço no System Center Virtual Machine Manager 2012, e antes de mostrar como funciona é importante contrastar e relacionar com os templates de Virtual Machine, disponível desde a primeira versão do VMM.
Entendendo Service Templates
O recurso de templates do VMM desde as primeiras versões permite criarmos uma maquina virtual como modelo para utilizarmos no momento de criação de outras VMs. Para isso é criado uma VM, executado o SysPrep e copiado o VHD para a Library.
O recurso de Service Template utiliza os templates de VMs, mas é um recurso mais sofisticado onde podemos juntar aplicações virtualizadas, banco de dados SQL Server, definição da rede e storage automaticamente.
Um exemplo simples de implementação deste recurso é criar máquinas virtuais com determinadas aplicações pré-instaladas, por exemplo, servidores de antivírus. Para isso é possível virtualizar a aplicação que será instalada nas VMs com o Server App-V e incluir o pacote no serviço.
Nota: No próximo artigo irei abordar o Server App-V.
Um exemplo mais complexo é a implementação de um serviço de três camadas onde temos um servidor IIS acessando dados do SQL Server. Podemos criar um dois templates de VMs, um com o SQL Server virtualizado e outra máquina virtual com o IIS configurado, além da aplicação virtualizada dos componentes da camada de negócios.
Em ambos os casos, para fazer a criação das VMs basta clicar no Service Template e gerar a Instancia onde todas as VMs serão automaticamente criadas, configuradas e disponibilizadas.
Criando Service Templates
Para criar os templates utilizamos o menu próprio em Fabric do VMM 2012. Ao solicitar criar um novo template é possível escolher alguns modelos padronizados, como modelo em camadas com múltiplos servidores, um único servidor ou em branco.
Um exemplo de criação dos modelos de serviço pode ser visto abaixo, onde utilizei a opção Two-Tier onde são definidas duas VMs e uma rede lógica:
Neste exemplo temos duas VMs que serão configuradas, uma com IIS e a outra com SQL Server com uma placa de rede em cada uma, conectada a rede local criada anteriormente no Fabric à Virtual Networks, fornecendo assim o IP, MAC Address e até NLB se for necessário para o serviço.
Para cada VM fazemos a configuração das suas funções separadamente, após definir qual o template de VM será usada em cada uma das camadas (tiers).
O primeiro conjunto de propriedades irão definir os dados do hardware da VM, lembrando que o padrão será a definição já criada no template da VM:
A seguir configuramos os papeis (roles) do Windows que serão habilitados na VM, o que é uma automação do que teríamos que fazer no Server Manager logo após instalar uma VM:
Assim como as roles, identificamos as features (recursos) que esta VM irá ter:
Ainda nas configurações do sistema operacional da VM podemos indicar os dados de ativação, nome, usuário e senha, etc. No que no exemplo abaixo o nome do computador está com asterisco “*” pois o nome da VM é indicado no momento em que instanciamos o serviço, já que a cada criação do conjunto as VMs precisarão ter um nome específico:
Na sequencia podemos indicar serviço e aplicações que serão instaladas na VM baseados nos profiles que iremos abordar no tópico a frente. Este item é interessante para já instalar o pacote da aplicação do cliente quando esta já estiver disponível, como por exemplo, um sistema de comércio eletrônico ou outro:
O ultimo passo é definir a cota, ou “preço” de cada VM, que será importante ao se criar usuários que utilizarão os serviços a partir do System Center AppController, uma vez que definimos o “crédito” de cada um dos usuários.
Instanciando um Serviço
Para criar o conjunto de VMs para o serviço, basta clicar sobre ele e usar a opção “Publish” definindo em qual nuvem será criado o conjunto das VMs:
Logo após será aberta a tela de configuração dos dados específicos das instâncias (locais onde ficaram asteriscos “*”), como o exemplo abaixo retirado do System Center App Controller: