Uma das tarefas de arquitetura é determinar posicionamento, carga, roles e configurações de um produto.
Em muitos produtos a Microsoft fornece aplicativos que permitem fazer o desenho da topologia com informações detalhadas, e um destes é o Microsoft Lync Server 2013 Planning Tool disponivel em http://www.microsoft.com/en-us/download/confirmation.aspx?id=36823
A ferramenta é simples de instalar, mas muito útil e fornece informações que serviram de base para o desenho final. É importante lembrar que ferramentas de design de topologia servem de referência, mas cabe ao arquiteto utilizar estas informações para fazer o desenho final da solução desejada.
Irei neste artigo detalhar a ferramenta e a cada dado especificado tentar colocar o que será afetado na topologia conforme a opção escolhida.
Utilizando o Lync Planning Tool – Definição de Roles
Ao abrir a ferramenta podemos ver diversos detalhes e iniciar o processo. Do lado esquerdo temos uma série de links para entender a ferramenta, a barra de ferramentas com as funcionalidade de geração das planilhas Excel (XML) e desenho em Visio. No centro temos como ler um design salvo (File…Open…botão Display) ou criar um novo desenho em Design Sites:
Ao iniciar o desenho de uma nova topologia será necessário inserir os dados de como o cliente irá utilizar o Lync. O primeiro destes dados é sobre Audio/Video conferencia que influirá diretamente no número de Frontend Servers necessários, apesar de ser ponto a ponto (peer-to-peer) quando utilizado o Lync Client:
Dial-In é o recurso do Lync de permitir que um usuário entre na conferencia diretamente por um telefone comum utilizando um número criado para cada meeting. É importante lembrar que este recurso depende da integração entre o Lync e o PBX VoIP:
Web Conferencing são as reuniões (meetings) entre usuários de Lync Client e usuário externos na internet. Diferente da primeira opção (Audio/Video), aqui estamos identificando que o cliente irá fazer reuniões com usuários não locais, o que é bem diferente e irá impactar em Edge Server e Frontend Servers:
Enterprise Voice é o recurso da integração do Lync Server com o PBX VoIP, que alem da integração entre o cliente do Lync e o telefone também faz o encaminhamento de mensagens para o Exchange, o Voice Admissions para conferencias (Dial-in Conference) e outros recursos. Essencial lembrar que para isso é necessário ter a licença Lync Enterprise para o cliente e o servidor. Habilitar esta configuração impacta no numero de Frontend, Mediation e Gateway Server (se o PBX não é diretamente compatível com o Lync):
Quando se implementa o recurso acima (Enterprise Voice) é possivel criar a integração entre o Lync Server e o Exchange Server. Por exemplo, ao receber uma mensagem na caixa postal do ramal esta mensagem é transformada em texto pelo reconhecimento de voz do Lync Server e enviada para o email do usuário em forma de texto e arquivo de som anexado. Esta configuração exige o Exchange Server 2010 e preferencialmente o Exchange 2013, alem de impactar no número de Frontend Servers:
O CAC(Call Admission Control) é um recurso do Lync quando integrado ao PBX para trazer qualidade as ligações. Com ele o Lync controla a banda de VoIP fazendo o roteamento para linhas comuns (PSTN) quando a internet WAN utilizada para ligações IP estiver com tráfego alto. É essencial para garantir qualidade nas ligações em sistemas integrados:
A monitoração irá gerar dados detalhados da qualidade e utilização do Lync para estatisticas e geração de relatórios, o que permitirá ao administrador verificar a demanda e priorizar os investimentos na topologia quando precisar de expansões. Esta função é uma role separada de outras, apesar de ser possível ser compartilhada em um mesmo servidor físico Frontend:
O Archive é o recurso que no Outlook cria uma pasta “Conversation History” ou um botão de histórico no Lync Client. Ele pode ser configurado para utilizar o SQL Server ou o Exchange 2013. O ideal é sempre utilizar o Exchange, assim a integração com o Outlook é garantida, porem apenas com o Exchange 2013 ela é possível. Utilizar o SQL Server irá criar uma base de dados pequena, uma vez que no IM (Instant Messenger) não costumamos utilizar imagens ou sons. É uma role separada, podendo ser compartilhada com outras roles assim como as outras:
O Chat Persistente é um recurso utilizado para habilitar uma tab no cliente Lync 2013 onde é possivel criar conversações que ficam arquivadas e disponiveis para leitura posterior pública ou limitada a uma lista de usuários especificadas pelo criador da conversação. Impacta no número de Frontend Servers e no espaço utilizado no banco de dados do Lync:
É a role que suporta o acesso para dispositivos móveis, lembrando que o Lync 2013 já possui clientes para iOS, Android e Windows Phone, permitindo inclusive chamadas de voz. Impacta no número de servidores Frontend e principalmente Edge Servers:
O recurso de federação permite que os clientes do Lync internos se conectem com clientes MSN e outros. Com este recurso é possivel que os usuários corporativos usem o Lync para conversar com usuários Microsoft Live e impacta no número de Edge Servers necessários, e está disponivel gratuitamente no Lync 2013 para a licença Enterprise:
Alta disponibilidade irá definir a necessidade de cluster do SQL Server e pools de Frontend e Edges Servers:
Obviamente, serve apenas como informativo para os relatórios de ranges de IPs necessários no projeto final:
Utilizando o Lync Planning Tool – Definição de Sites
No próximo passo é necessário definir quantos sites o cliente possui, o que será utilizado em cada site e para quantos usuários.
Note que as perguntas anteriores servem para indicar os recursos que serão considerados nesta fase. Ou seja, é possivel alterar as opções anteriores por clicar nos checkboxes em cada site. Conferir com cuidado o que cada site utilizará de recursos é importante neste ponto, já que em geral cada site tem diferentes necessidades:
Esta opção serve apenas como informativo para o numero de certificados e o desenho final gerado, com os sites existentes no clientes:
As próximas duas telas definem métricas de reuniões e voz que serão consumidas. Estes dados são baseados em experiência e histórico que podem ser obtidas com o pessoal de telecomunicações do cliente:
Para integração com o PBX é possivel utilizar gateways (equipamentos dedicados a fazer o roteamento entre o PABX tradicional e o Lync), SIP Truking (integração direta com o PBX VoIP e o Lync) ou conexão já existente. Estas definições são realizadas pelo pessoal de telecomunicações previamente ao design do Lync:
Neste ponto definimos o percentual de usuários que tem ramais integrados para Unified Messaging. Na maioria das empresas não são todos os funcionários que possuem ramal próprio ou que precisem deste recurso, por exemplo para mesas de atendimento rotativo. Este dado é definido pelo cliente em questionários prévios:
Defina quantos usuários irão fazer acesso externo, o que implica em mais servidores Edge do Lync:
Defina quantos usuários utilizaram o recurso de Chat Persistente. Este dado é díficil de ser levantado, já que dificilmente a empresa terá isso antes do projeto. Porem, pode-se usar o percentual padrão de 20% que são aqueles que utilizam recursos assim, já que a grande maioria usa apenas o IM, sem criar salas de discussão. Um bom parametro para saber se este recurso é muito utilizado é por verificar a utilização de Pastas Públicas do Exchange:
Defina o percentual de usuários que utilizarão os clientes Android, iOS e Windows Phone:
Mediation Server é a role que faz integração entre o PBX e o Lync. Defina se irá utilizar um servidor único ou compartilhado para esta função. Obviamente que impacta no número de servidores e depende do número de ramais existentes no PBX:
Por último defina sites que se conectam a sua estrutura. Neste caso são locais que conectam nos servidores localizados no site que foi definido e não locais onde haverá estrutura separada de servidores, o que e considerado outro site:
Terminado de definir os dados do site, pode-se repetir a operação várias vezes para outros sites, lembrando que entende-se como "Central Site” aqueles locais onde haverá servidores Lync:
Utilizando o Lync Planning Tool – Visualizando Resultados
Ao clicar no botão Draw no final dos questionários podemos ver a topologia básica necessária, com os sites definidos.
Note que na lateral direita temos a configuração total de servidores necessários, onde temos a necessidade de servidores fisicos e roles:
Clicando em cada site é possivel ver a estrutura sugerida, como o exemplo abaixo. Veja que na lateral direita em Ações é possivel retornar ao desenho global e ter acesso aos documentos online da Microsoft para as tarefas de planejamento, bem como a documentação de construção do ambiente:
Ainda em cada site é possivel ver detalhes (3 abas seguintes), como a topologia IP para os servidores Edge com os ranges necessários, bem como as URLs. Importante que os ranges de IP e os nomes são apenas sugestões e precisam ser alterados para se adequar ao ambiente do cliente:
Utilizando o Lync Planning Tool – Exportando os Dados
Utilizando a barra de ferramentas do Planning Tool vemos a possibilidade de criar um arquivo Visio com todos os diagramas gráficos mostrados nas imagens anteriores ou criar uma planilha Excel com os relatórios:
O Visio exportado concentra todos os desenhos de topologia global e de sites separados em abas, podendo ser útil para apresentar ao cliente visualmente o design, uma vez que é possivel alterar os desenhos já que são baseados em stencils e não gráficos:
A planilha Excel traz os relatórios de dados detalhados em abas, incluindo informações adicionais como o hardware necessário para cada servidor, o posicionamento e as configurações de firewall e certificados. Esta planilha é essencial na seção de requisitos a ser entregue ao cliente para preparação da implementação do ambiente Lync 2013:
CONCLUSÃO
A ferramente Lync Server 2013, Planning Tool é um recurso inestimável para quem faz arquitetura de soluções tanto para pequenas quanto grandes empresas. Seus relatórios de necessidades de certificado, firewall e configurações ajudam mesmo quando estamos falando de um único servidor para todas as funções.