Masthead
Masthead Masthead Masthead
Masthead BG Masthead BG Masthead BG
AS MUITAS FACES DA VIRTUALIZAÇÃO

Escolher a estratégia certa para impedir a dispersão do servidor

De vez em quando as estrelas alinham-se, e algumas tecnologias são ungidas pela indústria. À medida que o ano novo segue caminho, pode ser instrutivo dar uma vista de olhos novamente sobre 2005, quando a virtualização pareceu dominar as discussões sobre software.

Enquanto que as máquinas virtuais foram um tópico quente, existem estratégias de virtualização menos discutidas que podem provar vir a ser ainda mais proeminentes em anos vindouros. De facto, perdida em toda a excitação sobre máquinas virtuais encontra-se a realidade de que existe uma variedade de estratégias de virtualização -- e cada estratégia tem a capacidade de visar necessidades específicas.

A popularidade da virtualização tem a ver com o seu posicionamento filosófico -- a crença de que os centros de dados se tornaram “inchados” com servidores subutilizados. Esta procura remediar o problema criado pelo paradigma predominante “um servidor, uma aplicação” que resulta do aprovisionamento excessivo para um desempenho máximo. As taxas de utilização do servidor podem estagnar no intervalo dos 5 a 15 %. No fim de contas, a promessa de servidores baseados em comodidade resultou em centros de dados que são abertamente dispendiosos de gerir, alimentar e de arrefecer.

“De facto, a utilização média ao longo da vida útil de um servidor diminui muito dramaticamente,” de acordo com Joost Pronk van Hoogeveen, Director de Linha de Produtos de Virtualização, na Sun. “Apesar da virtualização ter um resultado máximo durante a época de compras dos feriados, durante o resto do ano os servidores funcionam a uma percentagem tão baixa quanto 5 a 7 % da sua capacidade. Uma vez que as empresas querem executar cada vez mais aplicações, e que cada aplicação requer o seu próprio servidor estamos a testemunhar uma dispersão e um aumento de custos com centros de dados. Os custos estão a aumentar, e as empresas estão a conseguir fazer menos numa base de utilização por máquina”.

Enquanto a procura de hardware é o exemplo mais óbvio dos custos em ascensão, neste caso, o sintoma mais óbvio não é o mais agudo. “À medida que os servidores estão a ficar mais poderosos, o hardware está a ficar mais barato,” continua Pronk. “Se observarmos uma análise pormenorizada dos custos de um centro de dados, os custos de gestão e os outros custos operacionais são as principais preocupações. O hardware está a tornar-se cada vez menos um factor no custo total de um centro de dados”.

O espaço físico, o consumo de electricidade, e os custos de arrefecimento representam outros custos de dispersão do servidor. “É calor, alimentação, e espaço, e muitas vezes os três,” afirma Matthew Baier, director de produto sénior na Sun. “Estes podem parecer assuntos triviais, mas o inconveniente representado pelo calor e alimentação significa que muitas vezes as empresas não podem voltar a ligar a alimentação dos servidores durante horas enquanto esperam que os rácios de utilização diminuam. E os centros de dados são tão grandes e quentes que têm sistemas de climatização próprios para manter a humidade e temperatura a níveis razoáveis”.

A resposta a estes problemas -- e o motivo pelo qual a virtualização é um tópico tão quente -- é a capacidade de deitar por terra o modelo de implementação de uma aplicação por máquina. Produtos como o VMware receberam muita atenção pela sua capacidade de alojar múltiplas aplicações e sistemas operativos num único servidor. Mas apesar deste tipo de virtualização poder reduzir a procura e os custos de arrefecimento, não faz muito em termos de reduzir as dores de cabeça relativas à gestão.

Apesar do recente alarido em torno dos produtos mais recentes, as estratégias de virtualização existiam muito antes da emergência das máquinas virtuais. Na realidade, existem outros tipos de virtualização que visam melhor problemas específicos de modo mais eficiente e menos dispendioso. Vamos analisar as diferentes opções que existem para correr múltiplos volumes de trabalho num único servidor e quando cada estratégia de virtualização pode fazer mais sentido.

Gestão de recursos

A gestão de recursos é uma forma de virtualização do sistema que permite que sejam executadas múltiplas aplicações na mesma instância de hardware e sistema operativo. Em termos básicos, esta estratégia dá a cada volume de trabalho a sua própria quantidade de recursos do sistema. Ou, colocado de outra forma, esta estratégia sobrepõe-se ao agendador padrão do sistema operativo para atribuir ciclos de CPU, memória, e largura de banda de E/S em conformidade com as políticas de fomentação da actividade.

A gestão de recursos é extremamente flexível e sustentável, tornando possível executar centenas ou milhares de objectos de gestão de recursos numa única instância de sistema operativo. Mas também é limitada pelo facto de que a gestão de recursos apenas realiza o controlo de recursos, e não é um modo muito eficiente de isolar as aplicações.

É claro, a gestão de recursos também não é nada de novo. Tem estado disponível desde os “mainframes” e sistemas UNIX com o Solaris Resource Manager, IBM Workload Manager, HP Process Resource Manager, e HP-UX Workload Manager há já algum tempo. O Microsoft Server 2003 e SUSE Linux também usam várias formas de gestão de recursos.

“Todos os vendedores também têm um qualquer tipo de solução que realiza a gestão de recursos,” explica Pronk. “É muito predominante, mas não é usado de modo amplo devido ao facto de que não se enquadra muito bem no modelo de aplicação de uma aplicação por servidor. Uma vez que não oferece muito em termos de modo de isolamento, é preciso realmente desprender-se do modelo e realizar um enorme trabalho para conseguir colocar tudo a funcionar bem em conjunto”.

Particionamento físico

No lado oposto do espectro da gestão de recursos encontra-se o particionamento físico. Com o particionamento físico, o isolamento do volume de trabalho desce completamente até ao âmbito do hardware para fornecer aquilo que é chamado de isolamento eléctrico. Por forma a conseguir o isolamento, um número específico de núcleos do processador é dedicado a cada aplicação. De facto, cada sistema operativo num ambiente de partição física pensa que está a ser executado na sua própria máquina, pelo que se o hardware para uma aplicação for destruído as outras aplicações permanecem sem ser afectadas.

O particionamento físico tem sido utilizado há já algum tempo pelas indústrias de âmbito bancário para suportar aplicações ultra vitais. Disponível para ambientes de “mainframe” e em sistemas UNIX a serem executados com o Sun Dynamic Domains, IBM Dynamic LPARs, ou HP nPars -- assim como em servidores normalizados da indústria como, por exemplo, o Unisys ES7000 e IBM x440 -- o particionamento físico foi concebido para oferecer a máxima integridade e segurança possível. Mas, visto que cada sistema operativo requer hardware dedicado, o particionamento físico não é muito flexível ou granular, o que significa que o número de partições é seriamente limitado pelo número de processadores.

“As partições físicas são basicamente o mais próximo que se pode chegar de conseguir um modelo de máquina separado,” afirma Pronk. “Este envolve de modo efectivo a associação de máquinas separadas em conjunto e a utilização dos barramentos (bus) como um interruptor. Como consequência é difícil de fazer, mas extremamente eficaz no ambiente adequado”.

Máquina virtuais

A forma mais discutida de virtualização dos nossos dias, as máquinas virtuais envolvem a criação de um sistema informático completamente em software. Utilizando máquinas virtuais, é possível alojar múltiplos computadores virtuais num único servidor físico e controlar de modo mais exacto os recursos atribuídos a cada sistema. A VMware foi alvo recentemente de muita atenção pelo seu produto de máquina virtual, mas outros produtos como, por exemplo, o Microsoft Virtual Server e o projecto Linux Xen de fonte aberta, actuam de forma idêntica.

As máquinas virtuais trabalham através da criação de um “hipervisor”, o qual actua como um mini-sistema operativo que é arrancado em primeiro lugar e que basicamente virtualiza o hardware subjacente em pequenas peças de modo a que diferentes sistemas operativos diferentes podem correr no mesmo servidor. Não só esta abordagem facilita a operação de múltiplas instâncias de sistema operativo, mas também torna possível a execução de diferentes tipos de sistema operativo — como, por exemplo, Solaris OS, Linux, e Windows — no mesmo servidor físico.

Apesar das máquinas virtuais oferecerem uma flexibilidade ideal, esta escolha tem um preço. Tipicamente, o próprio “hipervisor” consome 5 a 15% do total da potência do processador, ao passo que cada sistema operativo é apresentado com uma operação de processador pequena. No final, os custos da utilização de máquinas virtuais podem somar-se muito depressa.

“Muitas vezes, as empresas encontram-se rapidamente numa situação em que gastam 40 a 45% do poder de processamento na operação necessária para suportar todas as máquinas virtuais,” explica Pronk. “Ou seja, as empresas acabam por cortar metade do servidor para conseguir a virtualização -- e executam a aplicação em cima dessa arquitectura. Motivo pelo qual os custos associados às máquinas virtuais acabam por ser consideravelmente altos”.

Para além disso, ao passo que as máquinas virtuais visam a resolução de custos de aprovisionamento e de arrefecimento associados à dispersão dos servidores, estas fazem pouco para melhorar as dores de cabeça associadas à gestão; cada máquina virtual tem de ser gerida como se fosse um servidor independente. E uma vez que as máquinas virtuais são geralmente utilizadas em ambientes de sistemas operativos heterogéneos, existem outros desafios de gestão associados a esta abordagem da virtualização.

“O que acontece se alguma coisa corre mal?” pergunta Baier. “Quando uma aplicação cai ou quando o seu desempenho é baixo, torna-se muito complicado determinar a origem do problema. Quando algo corre mal, pode ser a aplicação, o sistema operativo, ou o “hipervisor” que falhou -- ou pode ser uma estranha combinação dos três. Para além disso, quem se chama para prestar assistência técnica? Contacta-se o vendedor de software de máquina virtual, o vendedor de sistema operativo, ou o vendedor da aplicação?”

No final, as máquinas virtuais são boas para correr alguns sistemas operativos, especialmente em ambientes mistos, mas os custos indirectos rapidamente limitam o número de volumes de trabalho que podem ser executados num único servidor.

Virtualização do sistema operativo

A virtualização do sistema operativo ocorre no âmbito de um único sistema operativo. Essencialmente, pode ser considerada como uma gestão de recursos com isolamento melhorado. Esta estratégica foi concebida para oferecer a escalabilidade de gestão de recursos com a segurança e integridade dos outros tipos de virtualização.

Actualmente, o Solaris Containers e o produto Virtuozzo de Linux oferecem a virtualização do sistema operativo. “Podem-se executar centenas, senão milhares, de Solaris Containers num único servidor,” afirma Pronk. “Os Solaris Containers são extremamente leves devido à separação que ocorre ao nível do “kernel”, pelo que não se tem a operação adicional de “kernels” múltiplos”.

Apesar de não oferecer suporte para diferentes sistemas operativos, a virtualização do sistema operativo oferece no entanto várias vantagens em relação às outras estratégias. Esta opção baixa os custos de gestão dado que os administradores não têm de instalar e realizar a manutenção de uma instância de sistema operativo separada para cada volume de trabalho. Esta solução oferece uma utilização melhorada e uma operação de CPU mais baixa visto que os contentores consomem apenas os recursos necessários para alimentar o volume de trabalho. Isto reduz os custos de licenciamento visto que requer apenas um interface de sistema operativo por servidor para suportar centenas ou milhares de contentores. E oferece o controlo de recursos de alta qualidade predominante em abordagens de gestão de recursos em relação à virtualização.

Para além dos benefícios da virtualização do sistema operativo, a abordagem do Solaris Containers à virtualização oferece uma vantagem crucial -- a capacidade de observação. O Solaris Containers torna possível analisar e resolver problemas num ambiente virtualizado de um modo muito transparente. Através da utilização do Solaris Containers em conjunto com o DTrace, os administradores podem executar múltiplos contentores, ao mesmo tempo que realizam a monitorização, depuração e sintonização da configuração utilizando o DTrace num ambiente global. A capacidade de utilizar o DTrace para localizar de modo exacto os problemas de desempenho confere ao Solaris Containers uma vantagem significativa em relação a outras estratégias de virtualização.

No final, a virtualização do sistema operativo resolve muitos dos problemas associados com as máquinas virtuais.

A abordagem da Sun à virtualização

Click to Enlarge
Solutions From Sun

A estratégia da Sun é a de oferecer flexibilidade de virtualização. A Sun oferece Domínios de Sistema Dinâmicos para particionamento físico, suporte para máquina virtuais Xen e Vmware, Solaris Containers para virtualização de sistema operativo, e o Solaris Resource Manager para gestão de recursos. Basicamente, a Sun suporta todos os tipos de virtualização de sistemas operativos únicos ou múltiplos.

  

Um dos anúncios mais excitantes da Sun foi a disponibilidade futura próxima do Solaris Containers para aplicações Linux. Esta tecnologia irá permitir aos administradores marcar contentores “não nativos”, o que torna possível carregar aplicações Linux no Solaris Containers. Assim, mesmo que o Solaris Containers permaneça um tipo de virtualização de sistema operativo único -- com todas as vantagens de desempenho e de gestão -- as aplicações Linux irão correr sem falhas no interior dos contentores. O Solaris Containers para aplicações Linux será disponibilizado numa actualização para o SO Solaris 10 em 2006.

Estratégias diferentes para clientes diferentes

Para compreender quando uma abordagem de virtualização específica pode fazer sentido, vamos considerar um exemplo de um fornecedor de serviços Internet que oferece serviços Web e de correio electrónico. Este tipo de cliente provavelmente quer minimizar os custos de gestão, maximizar o isolamento de segurança e de falhas, realizar uma recuperação rápida de erros, aumentar a utilização e reduzir a diminuição de operação de desempenho global. Os Solaris Containers oferecem a solução ideal visto que são muito finos, eficientes e permitem exactamente aquilo que as especificações exigem.

Um segundo tipo de cliente pode ter as mesmas necessidades que o primeiro cliente mas também ter o desejo de colocar uma aplicação de missão vital como, por exemplo, funcionalidade de facturação no mesmo servidor único. Assim, este cliente requer um isolamento máximo para a aplicação de facturação, assim como a necessidade de conseguir o aumento da consolidação e uma gestão melhorada. Uma combinação de Solaris Containers e Domínios de Sistema Dinâmicos pode alcançar o equilíbrio necessário entre flexibilidade e isolamento.

Um último tipo de cliente pode necessitar de correr o SO Solaris, Windows, e aplicações de Linux no mesmo servidor. Este cliente está disposto a sacrificar determinados ganhos de desempenho e de gestão em prol da flexibilidade de consolidar um ambiente de sistemas operativos mistos num único servidor. Para este tipo de cliente, uma solução como o VMware num servidor normalizado de indústria pode oferecer um ambiente de sistema operativo heterogéneo ao mesmo tempo que oferece alguns dos benefícios de consolidação.

Uma melhor amanhã

Apesar de 2005 pode ser recordado como o ano em que a virtualização chegou ao horário nobre, foram as máquinas virtuais que tiveram tendência para atrair a parte de leão da atenção. Á medida que o ano novo tem início, está a tornar-se aparente que a virtualização não irá perder o seu brilho num futuro recente. Uma nova compreensão dos diferentes tipos de virtualização pode ajudar as empresas a escolher aquele que oferece o equilíbrio adequado para consolidação de benefícios, flexibilidade e isolamento.


Related Information
» Solução de consolidação através da virtualização” (em inglês)
» Abrir e dividir os servidores: Um guia para a virtualização e tecnologias de contenção
» Guia “Como...” do SO Solaris 10: Consolidar aplicações com o Solaris Containers
» A abordagem da Sun à virtualização
Sun's Approach to Virtualization
Contact About Sun News Employment Privacy Terms of Use Trademarks Copyright 1994-2006 Sun Microsystems, Inc.