Esse artigo foi originalmente escrito em: http://social.technet.microsoft.com/wiki/contents/articles/using-services-templates-in-system-center-virtual-machine-manager-2012.aspx 

Introdução


O problema:

Antes de começarmos, para fascilitar o entendimento do artigo, analise as seguintes perguntas:

· Quanto tempo você demora pra instalar um servidor e deixá-lo pronto para o ambiente em produção?

· Quanto tempo você demora para configurar um servidor após sua instalação que será usado como banco de dados ou uma aplicação Web, por exemplo?

· E em relação a complexibilidade? Por exemplo, um deselvolvedor ou um analista de help desk consegue fazer esta instalação e configuração?

· E caso for preciso fazer isto, existe algum processo na sua empresa com pré-requisitos, necessidades, uso de recursos, etc?

Estes são alguns exemplos do dilema que alguns administradores passam para instalar um servidor ou preparar um ambiente para uma aplicação, por exemplo. Neste último, imagine que é preciso instalar e configurar três servidores: Servidor de Banco de Dados, servidor de Aplicação e servidor Web. Agora pense na burocracia que existe nas grandes empresas: Compra de Hardware, ambiente de testes, análise de uso de recursos e vários outros impecílhos que podem fazer com que a espera passe de meses.

Empresas pequenas também tem este problema. Alguns exemplos são a falta de processos, recursos mal aproveitados e escassos, etc.

A solução:

Numa estrutura virtualizada já conseguimos sanar muito dos problemas acima como balanceamento de sobrecarga, mal uso de recursos, consumo de energia, complexibilidade de instalação, etc, mas sem o gerenciamento a virtualização fica de certa forma complexa também. É muito importante o gerenciamento centralizado e algumas automatizações que não temos por padrão na virtualização.

Esta é a idéia do System Center Virtual Machine Manager 2012 (VMM Server): Automatização, gerenciamento e monitoramento do ambiente virtual. Com ele podemos criar templates (modelos) para criação e configuração automática de máquinas virtuais.

Existe um novo tipo de template chamado Service Template (modelo de serviço). Com ele é possível agregar alguns templates de máquinas virtuais, configuração de rede, aplicações e storage em um único objeto, uma espécie de template pai com vários templates filhos. O resultado? Ao invés de explicar, irei com o artigo demostrar a instalação e configuração de um servidor de banco de dados, de aplicação e de web (exemplo do segundo parágrafo) com apenas 3 cliques. Não acredita? Então confira:

Configuração

Antes de começarmos é preciso já termos criado alguns templates de máquinas virtuais, configurações de rede lógica, load balancer, etc. Para mais informações sobre essas configurações, acesse http://technet.microsoft.com/en-us/library/gg696967.aspx

No exemplo abaixo já temos alguns hosts, uma rede lógica e três modelos de máquinas virtuais com algumas aplicações e scripts configurados.

Para criar o Template, abra o console de gerenciamento do VMM Server, clique em Librarye depois em Create Service Template, como mostra a figura 1.

Service01

Figura 1 – Opcão para criar um Service Template

Se você já tiver algum template na primeira tela ele poderá ser especificado e usado como base. Caso queira criar um novo em branco, digite o nome do template e clique em Ok.

Service02

Figura 2 – Novo Template

Para facilitar a criação e configuração do template será usado uma ferramenta chamadaService Template Designer, oferecendo algumas funcionalidades e opções para ajudar neste procedimento. Na primeira coluna do Designer são exibidos os templates de máquinas virtuais. Caso não exista é possível pela própria ferramenta criar um novo VM Template.

Service03

Figura 3 – Service Template Designer

Com alguns templates já é possível começar a criar um serviço. Para isso mova os templates de VM para o centro do Service Template Designer. Na figura 4 você verá três templates que foram movidos para o nosso ambiente de testes. Automaticamente o VMM exibe as configurações e a rede entre eles. Caso seu ambiente tiver redes ou VLANs diferentes, escolha uma nova rede com a opção Add Logical Network.

Service04

Figura 4 – Configuração de Hardware

Os templates usados acima estão conectados a uma rede chamada Backend Network. Durante a criação dos Templates esta rede foi selecionada como sendo o padrão para qualquer máquina virtual criada por ele. Na figura 5 é exibida a rede Backend e suas configurações. Através de uma Logical Network (rede lógica) podemos atribuir pool de endereços MAC e IP.

Service04_2

Figura 5 – Logical Networks

Clicando no objeto da rede é exibido um menu para trocar a rede que será usada (detalhe inferior da figura 6). Abaixo são listados os recursos que podem ser utilizados num Service Template:

· Logical Networks

· Load Balancers

· Application Host Templates

· Connectors

· Application Host Templates

Depois de criar e configurar os objetos da lista acima é possível salvar ou até mesmo já instalar o serviço (detalhe superior da figura 7).

Service04_1

Figura 6 – Service Template

Clicando em Configure Deployment a tela da figura 7 é mostrada perguntando o nome do serviço e o grupo de host que hospedará as máquinas virtuais. Se um grupo pai com vários subgrupos e hosts for escolhido o VMM selecionará o melhor host para criar as VMs. Perceba também pela figura 7 que é possível a instalação do serviço à uma Private Cloud.

Service05

Figura 7 – Destino para instalação do Serviço

Antes da instalação do serviço é mostrado uma prévia do que será feito e várias outras configurações são validadas também. Por exemplo, caso o VMM perceba algum conflito ou problema nas opções escolhidas um aviso será exibido.

Pela figura 8 os três servidores com base no template são disponibilizados, inclusive o host que foi escolhido de acordo com o Ranking do VMM Server. Caso o serviço possua alguma variável como usuários, nomes de banco de dados, senhas, etc, especifíque-as emSettings.

Service06_1

Figura 8 – Deploy Service

Clicando em Tool Window existe uma opção chamada Minimap para visualização mais ampla do serviço.

Service06

Figura 9 – Minimapa do Serviço

Agora basta confirmar a instalação clicando em Deploy Service e em Deploy. Na confirmação é possível exportar o procedimento para um script do Powershell.

Service07

Figura 10– Confirmação de Instalação

Para ter uma idéia da compexibilidade envolvida num simples serviço como o demostrado acima, observe o número de tarefas (Jobs) que são criadas pela figura 11.

Veja algumas tarefas executadas pelo Service Template neste exemplo de forma automática, sem nenhuma intervensão humana:

· Instalação do Windows, Features e Roles

· Instalação e configuração do SQL Server 2008 R2

· Instalação e configuração da aplicação

· Instalação do IIS Server

· Adição dos 3 servidores no domínio

· Configurações de contas locais e do SQL

Service08

Figura 11– Jobs

Depois de cerca de 25 minutos os 3 servidores foram instalados, o SQL e os banco de dados configurados, a aplicação e sua comunicação com o SQL definidas e o servidor com IIS também foram instalados e configurados.

Veja na figura 12 os três servidores em execução.

Service09

Figura 12– Máquinas Virtuais criadas pelo Serviço

Para implementar outro serviço ou alterar os existentes, clique em Library e Service Templates. Com o botão direito do mouse é possível alterar as propriedades e instalar um novo serviço com base no template.

Service10

Figura 13– Propriedades do Template

Confira abaixo a aplicação em produção, lembrando que depois do deployment do serviço nenhuma ação ou configuração foram efetuadas. Tudo foi feito automaticamente peloService Template.

Service11

Figura 14– Aplicação .Net Pet Shop

Referência

Este ambiente teste foi criado com base no exemplo cedido pelo time de System Center Virtual Machine Manager através do linkhttp://blogs.technet.com/b/m2/archive/2011/03/29/how-to-deploy-the-pet-shop-application-as-a-service-in-vmm.aspx

Este artigo também está disponível nos seguintes idiomas:


Leandro Carvalho 
MCSA+S+M | MCSE+S | MCTS | MCITP | MCBMSS | MCT | MVP Virtual Machine 
MSVirtualization | Wordpress | Winsec.org | LinhadeCodigo | MVP Profile 
Twitter: LeandroEduardo | LinkedIn: Leandroesc