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.
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.
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.
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.
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.
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
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).
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.
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.
Figura 8 – Deploy Service
Clicando em Tool Window existe uma opção chamada Minimap para visualização mais ampla do serviço.
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.
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
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.
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.
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.
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