Instituto de Pesquisas Tecnolgicas do Estado de So Paulo
Aryel Santos de Figueiredo Rocha
Arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados
So Paulo 2012
Aryel Santos de Figueiredo Rocha
Arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados
Dissertao de Mestrado apresentada ao Instituto de Pesquisas Tecnolgicas do Estado de So Paulo - IPT, como parte dos requisitos para a obteno do ttulo de Mestre em Engenharia de Computao.
Data da aprovao: _____/_____/________
___________________________________ Prof. Dr. Antonio Luiz Rigo (Orientador) Mundo Afora Consultoria, Cursos e Comunicao Ltda.
Membros da Banca Examinadora: Prof. Dr. Antonio Luiz Rigo (Orientador) Mundo Afora Consultoria, Cursos e Comunicao Ltda.
Prof. Dr. Geraldo Lino de Campos (Membro) USP Universidade de So Paulo
Prof. Dr. Fernando Jos Barbin Laurindo (Membro) USP Universidade de So Paulo, Escola Politcnica
Aryel Santos de Figueiredo Rocha
Arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados
Dissertao de Mestrado, apresentada ao Instituto de Pesquisas Tecnolgicas do Estado de So Paulo, como parte dos requisitos para a obteno do ttulo de Mestre em Engenharia de Computao. rea de Concentrao: Redes de Computadores
Orientador: Prof. Dr. Antonio Luiz Rigo
So Paulo Fevereiro/2012
Ficha Catalogrfica Elaborada pelo Departamento de Acervo e Informao Tecnolgica DAIT do Instituto de Pesquisas Tecnolgicas do Estado de So Paulo - IPT
R672a Rocha, Aryel Santos de Figueiredo Arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados. / Aryel Santos de Figueiredo Rocha. So Paulo, 2012. 102p.
Dissertao (Mestrado em Engenharia de Computao) - Instituto de Pesquisas Tecnolgicas do Estado de So Paulo. rea de concentrao: Redes de Computadores.
Orientador: Prof. Dr. Antonio Luiz Rigo
DEDICATRIA
Aos meus avs, Maria da Penha e Alcides dos Santos, pelo amor, carinho e principalmente por ensinarem os valores que carrego pela minha vida. Aos meus pais, Eliete e Joo de Figueiredo Rocha, pela criao e incentivo minha educao.
AGRADECIMENTOS
Ao Prof. Dr. Antonio Luiz Rigo, pela sua valiosa orientao, pacincia, sabedoria e principalmente por ter acreditado e incentivado esta idia. Aos Prof. Dr. Geraldo Lino de Campos e Prof. Dr. Fernando Jos Barbin Laurindo, que me deram a honra de enriquecer minha dissertao com valiosas contribuies dadas no exame de qualificao. A minha irm Maycler, pela preocupao e prontido sempre em ajudar. A amada Fahira, pela pacincia que teve nas minhas ausncias e pelo apoio para realizao deste trabalho. Ao amigo e excelente profissional, Thiago Cezar Frutuozo, pela ajuda, dicas e grande amizade. Aos amigos de mestrado, Hugo de Souza Teixeira e Josu Andrade, por todo companheirismo ao longo do curso. Eduardo Cattaruzzi e Leonardo Veri da HP, por todo respaldo e incentivo dados para elaborao desta dissertao.
RESUMO
A forma de gerenciar a capacidade de ambientes virtualizados diferente da utilizada em ambientes fsicos. Para realizar um planejamento de capacidade efetivo, os recursos computacionais devem ser adequadamente configurados e distribudos entre os ambientes virtuais para que no ocorra fragmentao e subutilizao. Embora existam ferramentas que monitoram o desempenho deste tipo de ambiente, se faz necessrio o fornecimento de mtricas para a criao de modelos analticos essenciais ao planejamento da capacidade e posterior realocao de recursos entre as mquinas virtuais, alm da padronizao dos servios, adotando, por exemplo, aspectos gerenciais prescritos pelo ITIL (IT Infrastructure Library ) para guiar as atividades a serem realizadas. Constri-se uma arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados com base nas recomendaes do processo de Gerenciamento da Capacidade do modelo ITIL v3, em tcnica de monitorao de caixa preta e cinza e realocao de recursos. A arquitetura constituda de trs camadas e possibilita classificar a utilizao dos recursos em termos de alteraes de longo prazo da carga de trabalho, diferentemente do uso anmalo ou de curto prazo que caracteriza a monitorao de desempenho. Com isso possvel modelar o impacto das aplicaes na utilizao dos recursos dos servidores virtuais para realizao de um plano de capacidade. Adicionalmente, cria-se uma ferramenta aderente ao ITIL v3 para validar a arquitetura por meio de uma prova de conceito.
Palavras-Chaves: Monitorao. Virtualizao. Gerenciamento da capacidade. ITIL v3.
ABSTRACT
Architecture to Support Capacity Management of Virtualized Environments
The way of to manage the virtualized environments capacity is different from that used in physical environments. To perform a capacity planning effective, the computing resources must be properly configured and distributed between virtual environments for that does not occurs fragmentation and underutilization. Although there are tools that monitor the performance of this environment type, it is necessary to provide metrics for the creation of analytical models essential for capacity planning and subsequent reallocation of resources between virtual machines, addition to the services standardization, adopting, for example , management aspects prescribed by ITIL (IT Infrastructure Library) to guide the activities to be performed. It builds an architecture to support capacity management of virtualized environments based on the recommendations of the Capacity Management process of ITIL v3 model, in technique of monitoring of the black box and gray and reallocation of resources. The architecture consists of three layers and allows to classify the use of resources in terms of changes of long-term of the workload, differently the use or anomalous or short-term that characterizes the performance monitoring. With this it is possible to model the impact of the applications in the use of resources of virtual servers to perform a capacity plan. Additionally, it creates an adherent tool to ITIL v3 to validate the architecture through a proof of concept.
Figura 1: Ambientes Virtuais do Tipo I e Tipo II ........................................................ 20 Figura 2: Abordagem Hbrida empregada no Tipo I e no Tipo II ............................... 21 Figura 3: Arquitetura Lgica ..................................................................................... 45 Figura 4: Ambiente sem Realocao ........................................................................ 48 Figura 5: Ambiente com Realocao ........................................................................ 49 Figura 6: Fluxograma de Operao .......................................................................... 51 Figura 7: Diagrama de Sequncia ............................................................................ 55 Figura 8: Adaptao do Algoritmo ............................................................................ 56 Figura 9: Exemplo de Funcionamento da Adaptao ............................................... 56 Figura 10: Mdulos que podem ser implementados ................................................ 58 Figura 11: Painel de Configurao ........................................................................... 60 Figura 12: Caso de Uso ............................................................................................ 61 Figura 13:Painl de anlise ...................................................................................... 62 Figura 14:Implementao da Arquitetura ................................................................. 63 Figura 15: Caso de teste1 antes ............................................................................ 67 Figura 16: Caso de teste 1 depois ......................................................................... 68 Figura 17: Grfico do Caso de teste1 antes .......................................................... 69 Figura 18: Grfico do Caso de teste1 depois ........................................................ 70 Figura 19: Caso de teste 2 antes ........................................................................... 71 Figura 20: Caso de teste 2 depois ......................................................................... 72 Figura 21: Caso de teste 3 antes .......................................................................... 73 Figura 22: Caso de teste 3 depois ......................................................................... 75 Figura 23: Grfico do Caso de teste 3 antes ......................................................... 75 Figura 24: Grfico do Caso de teste 3 depois ....................................................... 76 Figura 25: Caso de teste 4 antes ........................................................................... 77 Figura 26: Grfico do Caso de teste 4 consolidado ............................................... 78 Figura 27: Grfico do Caso de teste 4 hospedeiro ................................................ 79 Figura 28: Grfico do Caso de teste 4 hospede1 .................................................. 80 Figura 29: Grfico do Caso de teste 4 hospede2 .................................................. 81 Figura 30: Grfico do Caso de teste 4 hospede3 .................................................. 81 Figura 31: Caso de teste 5 saturado ..................................................................... 83 Figura 32: Caso de teste 5 saturado ..................................................................... 84
LISTA DE TABELAS
Tabela 1: Trabalhos relacionados por Autor X Funcionalidade ................................ 43 Tabela 2: Subprocessos do gerenciamentro de capacidade .................................... 57 Tabela 3: Atividades interativas ................................................................................ 59 Tabela 4: Configurao para os Testes .................................................................... 65
LISTA DE ABREVIATURAS E SIGLAS
API Application Programming Interface BDC Banco de Dados da Capacidade CPU Central Processing Unit FTP File Transfer Protocol IaaS Infrastructure as a Service IDD Isolated Driver Domain ISO International Organization for Standardization ITIL IT Infrastructure Library JEE java Enterprise Edition JSP JavaServer Pages LPA Linux Performance Agent MB Megabyte MMV Monitor de Mquinas Virtuais PaaS Platform as a Service PDCA Plan, Do, Check e Action SaaS Software as a Service SLA Service Level Agreement SNMP Simple Network Management Protocol TI Tecnologia de Informao VM Virtual Machine VMM Virtual Machine Manage WBEM Web-Based Enterprise Management XPA Xen Performance Agent
SUMRIO
1 INTRODUO ...................................................................................................... 14 1.1 Motivao .............................................................................................................. 14 1.2 Objetivo ................................................................................................................. 15 1.3 Contribuies ......................................................................................................... 15 1.4 Mtodo de trabalho ................................................................................................ 16 1.5 Organizao do Trabalho ...................................................................................... 18 2 VIRTUALIZAO E COMPUTAO EM NUVEM ................................................. 19 2.1 Conceitos .............................................................................................................. 19 2.2 Tipos de Ambientes Virtuais .................................................................................. 19 2.3 Tcnicas de Virtualizao ...................................................................................... 21 2.3.1 Virtualizao Completa .......................................................................................... 22 2.3.2 Paravirtualizao ................................................................................................... 22 2.4 Propriedades de Monitores de Mquinas Virtuais .................................................. 23 2.5 Computao em Nuvem ........................................................................................ 24 2.5.1 Taxonomia da Computao em Nuvem ................................................................. 24 2.6 Categorias de Nuvens e Virtualizaes Contempladas .......................................... 26 2.7 Consideraes ....................................................................................................... 27 3 GERENCIAMENTO E MONITORAO DA CAPACIDADE .................................. 28 3.1 Introduo ao ITIL.................................................................................................. 28 3.2 Gerenciamento da Capacidade Segundo o ITIL V3 ............................................... 29 3.2.1 Plano de Capacidade ............................................................................................ 30 3.3 Introduo ABNT NBR ISO/IEC 20000-1 e 2 ................................................... 30 3.4 Gesto da Capacidade Segundo a ABNT NBR ISO/IEC 20000-1 e 2 ................. 31 3.5 Monitorao da Capacidade .................................................................................. 32 3.6 Consideraes ....................................................................................................... 34 4 TRABALHOS RELACIONADOS ............................................................................ 35 4.1 Mtodo OmniVision de Gerenciamento da Capacidade ......................................... 35 4.2 Gerenciamento da Capacidade em Ambientes Virtualizados ................................. 37 4.2.1 Gesto de Capacidade de Negcios ..................................................................... 37 4.2.2 Gerenciamento de Capacidade de Servio ............................................................ 38 4.2.3 Gerenciamento da Capacidade do Componente ................................................... 39 4.3 Monitorao de Ambientes Virtualizados ............................................................... 40 4.4 Realocao de Recursos em Ambientes Virtualizados .......................................... 42 4.5 Comparao dos Trabalhos Relacionados ............................................................ 42
4.6 Consideraes ....................................................................................................... 43 5 ARQUITETURA PROPOSTA ................................................................................ 44 5.1 Descrio Lgica da Arquitetura ............................................................................ 44 5.1.1 Camada de Coleta ................................................................................................. 46 5.1.2 Camada de Centralizao ..................................................................................... 46 5.1.3 Camada de Refinamento de Dados ....................................................................... 47 5.2 Realocao de Recursos por Nveis de Criticidade ao Negcio ............................. 55 5.3 Subprocessos da Arquitetura Proposta com o ITIL V3 ........................................... 57 5.4 Consideraes ....................................................................................................... 59 6 IMPLEMENTAO DA ARQUITETURA E TESTES REALIZADOS ...................... 60 6.1 Descrio da Implementao da Arquitetura ......................................................... 60 6.1.1 Painel de Configurao ......................................................................................... 60 6.1.2 Painel de Anlise ................................................................................................... 62 6.2 Implementao ...................................................................................................... 63 6.3 Metodologia e Configuraes para os Testes ........................................................ 64 6.4 Resultados dos Testes .......................................................................................... 65 6.4.1 Caso de Teste 1 .................................................................................................... 66 6.4.2 Caso de Teste 2 .................................................................................................... 70 6.4.3 Caso de Teste 3 .................................................................................................... 73 6.4.4 Caso de Teste 4 .................................................................................................... 76 6.4.5 Caso de Teste 5 .................................................................................................... 82 6.5 Limitaes ............................................................................................................. 84 6.6 Consideraes ....................................................................................................... 85 7 CONCLUSES ..................................................................................................... 86 7.1 Trabalhos Futuros.................................................................................................. 86 REFERNCIAS ................................................................................................................... 88 REFERNCIAS CONSULTADAS ........................................................................................ 90 ANEXO A DIAGRAMA DE CLASSES DO SISTEMA ........................................................ 91
14
1 INTRODUO 1.1 Motivao
Ambientes virtuais tm experimentado um renovado interesse por vrios motivos, como por exemplo, proporcionam o isolamento de aplicaes, a consolidao de servidores e o compartilhamento de recursos. A implantao de servidores virtuais permite a consolidao de mltiplos sistemas operacionais e aplicaes em uma nica plataforma de hardware, reduzindo o nmero de servidores fsicos, aumentando a taxa de utilizao de recursos, simplificando a infraestrutura, reduzindo custos de gerenciamento da organizao e permitindo a criao de um ambiente capaz de se adaptar a mudanas na carga das aplicaes (CALDAS et al, 2008). Quando as aplicaes so portadas para um ambiente virtualizado, que possui caractersticas altamente dinmicas, a capacidade dos recursos computacionais deve ser constantemente monitorada e ajustada, para evitar situaes de degradao da qualidade do servio e promover uma melhor utilizao do hardware. Um sistema operacional no consegue distinguir se est sendo executado sobre uma mquina virtual ou real. Quando se lida com um sistema operacional simples, executado em uma mquina real, todas as informaes do sistema so mantidas em um nico local centralizado, no kernel. Em um ambiente virtual, dependendo das informaes desejadas, como por exemplo, o consumo de processamento, memria e disco de uma aplicao especifica, elas podem estar espalhadas pelos servidores virtuais, e no serem acessadas diretamente pelo monitor de mquinas virtuais (SOUZA, 2008). Sendo assim, pode-se observar que as tcnicas convencionais de monitorao no podem ser aplicadas em ambientes virtuais e, para realizar um planejamento de capacidade efetivo nos ambientes distribudos, os recursos computacionais devem ser adequadamente configurados entre as plataformas virtuais para que no ocorram fragmentao e subutilizao. Souza (2008) desenvolveu uma arquitetura de monitorao de desempenho de ambientes virtualizados, utilizando agentes centralizados no computador fsico e 15
distribudos dentro das mquinas virtuais. Caldas (2008) desenvolveu a ferramenta VEPMON que realiza a monitorao de desempenho de ambientes virtualizados utilizando a mesma tcnica para os agentes, nomeando-a de caixa preta e cinza. Entretanto, como a arquitetura foi desenvolvida com a finalidade de medir desempenho, se faz necessrio adaptar as mtricas embarcadas em sua ferramenta para o gerenciamento da capacidade de mquinas virtuais (MENASCE et al. 2004; BENEVENUTO et al. 2006). Desempenho e capacidade so duas abordagens ligeiramente distintas de tratamento dos dados de utilizao de recursos computacionais que endeream estratgias completamente diferenciadas na Gesto de Tecnologia da Informao. O autor atua em Gesto de Capacidade, que consiste em determinar as taxas de mudana na utilizao dos recursos do sistema no longo prazo, cujo mtodo de previso sofreu grande impacto com o advento da virtualizao. Atua tambm na padronizao dos servios providos, adotando, por exemplo, aspectos gerenciais prescritos pelo ITIL (IT Infrastructure Library ) e pela ISO/IEC 20000-1 e 2 (International Organization for Standardization) para guiar suas atividades. .
1.2 Objetivo
Desenvolver uma arquitetura de apoio ao gerenciamento da capacidade de ambientes virtualizados e implement-la com base nas recomendaes do processo de Gerenciamento da Capacidade do modelo ITIL v3 e das normas ISO/IEC 20000- 1 e 2.
1.3 Contribuies
A arquitetura de gerenciamento da capacidade possibilita classificar os nveis de utilizao dos recursos em ambientes virtuais para mostrar tendncias e orientar decises sobre atualizaes de configuraes de recursos por meio de histogramas 16
de dados coletados e armazenados de modo ativo. A arquitetura tem como finalidade a produo de relatrios que possibilitem uma anlise consolidada de gerenciamento de capacidade de infraestruturas em ambientes virtuais e sero teis para a gerao de um plano de capacidade e posterior realocao de recursos entre os espaos dos ambientes. Diferencia-se do modelo de gesto reativa da monitorao de desempenho abordada por Souza (2008). Aplica tcnicas de boas prticas e de normatizao aos trabalhos de Caldas (2008) e de Souza (2008) pela padronizao da arquitetura proposta utilizando aspectos gerenciais fundamentados no ITIL (IT Infrastructure Library ) e nas normas ISO/IEC 20000-1 e 2, para ancorar o modelo e guiar as previses de esgotamento de recursos do sistema. A arquitetura elaborada destina- se a caracterizar ambientes de virtualizao de sistemas operacionais em nuvens dos tipos SaaS (Software as a Service) e Paas (Plataform as a Service). A ferramenta evidencia o consumo e aponta a melhor relao custo benefcio na realocao de recursos entre os servidores virtualizados. O resultado da anlise da monitorao permite projetar necessidades futuras de infra-estrutura para atender aos requisitos do negcio.
1.4 Mtodo de trabalho
O presente trabalho foi desenvolvido em quatro etapas descritas a seguir: Na primeira etapa tratou-se da contextualizao do problema e da reviso bibliogrfica. A pesquisa baseou-se em grande parte no estudo de conceitos relacionados virtualizao de servidores, virtualizao de hardware e sistema operacional e computao em nuvem. Tambm abordou o gerenciamento de capacidade do modelo ITIL v3 e do ISO/IEC 20000-1 e 2 visando padronizao do mtodo proposto. Em seguida, foi pesquisada a tcnica de monitorao de ambientes virtuais de caixa preta e cinza de Caldas (2008), tambm descrita como centralizada e distribuda por Souza (2008), alm de trabalhos sobre o gerenciamento de capacidade de ambientes virtualizados e infra-estruturas distribudas. Por fim, pesquisou-se a dissertao de Rodrigues (2009) que busca realocar recursos subutilizados entre mquinas virtuais. 17
Na segunda etapa elaborou-se uma arquitetura em trs camadas que incorporam os processos cclicos do gerenciamento de capacidade ITIL v3 e a tcnica de Caldas (2008). A arquitetura foi desenvolvida da seguinte forma: 1. Camada de Refinamento - Responsvel pela gerao de relatrios que contm o mdulo de gesto da capacidade de recursos em ambientes virtuais. Esse mdulo cuida da monitorao da capacidade dos recursos dos ambientes virtuais, para os quais, no podem ser utilizadas as tcnicas convencionais de monitorao adotadas em servidores fsicos. 2. Camada de Centralizao Controla e centraliza a comunicao e as operaes com os agentes dos sistemas hspedes e hospedeiros. Pode ser instalada em um servidor de monitorao isolado do ambiente de virtualizao. Esta camada controla a sincronizao de horrio, garantindo que todos os agentes iniciem a coleta sincronizada de dados. Os dados coletados so gravados em um repositrio que no ITIL chamado de Banco de Dados da Capacidade. 3. Camada de Coleta Software instalado tanto nos sistemas hospedeiros quanto nos hspedes para coletar dados sobre recursos e servios. O recurso considerado por esse trabalho ser memria. A arquitetura tem como finalidade a criao de relatrios que possibilitem uma anlise consolidada de gerenciamento de capacidade que sero desenvolvidos com base nas informaes coletadas e sero teis tanto para a realocao de recursos do ambiente quanto para a elaborao de um plano de capacidade. O referido ambiente composto por um servidor com processador intel core 2 duo e7500 2.9 GHz, 4 GB de memria e sistema operacional Linux Ubuntu Server 11.10 atuando como hospedeiro. Adotou-se o Virtualbox como ferramenta de virtualizao, onde esto instalados trs sistemas hspedes com o sistema operacional Ubuntu Server 11.10, utilizando configuraes de memria variveis para cada caso de teste. O tempo de processamento dividido igualmente entre o hospedeiro e os hspedes. Para o processo de gesto de capacidade de componentes em ambientes virtuais utiliza-se o "nmon", uma ferramenta para coleta de dados sobre os recursos do ambiente. A ferramenta em processo de desenvolvimento em linguagem Java 18
utiliza o protocolo telnet e FTP para permitir a comunicao e transferncia de dados entre os mltiplos ambientes virtuais Na quarta e ltima etapa analisam-se os resultados dos testes e elaboram-se as concluses do trabalho.
1.5 Organizao do Trabalho Os captulos esto organizados da seguinte forma: No captulo 2, Virtualizao e Computao em Nuvem, so apresentados conceitos, e o tipo de virtualizao e nuvens contemplado pelo trabalho. No captulo 3, Gerenciamento da Capacidade, alm de fundamentos sobre gerenciamento de ambientes virtuais, so apresentadas algumas consideraes sobre monitorao de capacidade. No captulo 4, Trabalhos Relacionados, tratada a gesto da capacidade em ambientes virtualizados, alm de tcnicas de monitorao e alocao de recursos para esse propsito. No captulo 5, Arquitetura Proposta, apresenta-se a arquitetura em diferentes camadas para acomodar os subprocessos do gerenciamento de capacidade ITIL V3, alm de outras, responsveis pela comunicao com as partes envolvidas na arquitetura e no refinamento de dados. No captulo 6, Implementao da Arquitetura e Testes Realizados, descreve- se a implantao da arquitetura de apoio. Descreve ainda o ambiente utilizado, bem como as ferramentas e o conjunto de testes adotados na avaliao. Tambm realizada a anlise dos resultados. Por fim, no captulo 7, Concluses, realizada uma anlise crtica do trabalho na qual so ressaltadas as contribuies, os resultados e as sugestes para trabalhos futuros.
19
2 VIRTUALIZAO E COMPUTAO EM NUVEM
Neste captulo so apresentados conceitos relativos virtualizao e computao em nuvem necessrios para o entendimento da arquitetura e das anlises realizadas nos prximos captulos.
2.1 Conceitos Pode-se afirmar que virtualizao computacional um processo que tem por objetivo a criao de um grupo, ou mesmo de um subgrupo lgico de recursos, fazendo com que sejam os mais semelhantes possveis, a um recurso fsico real, existente em um computador convencional (ROSENBLUM, 2004, p. 34 apud CARMO, 2009, p. 10). Neste caso, os computadores reais so tambm denominados hospedeiros, enquanto que as mquinas oriundas dessa virtualizao so denominadas hspedes. A descrio para as virtualizaes em vrios nveis apresentada nas prximas subsees.
2.2 Tipos de Ambientes Virtuais
As tcnicas de virtualizao so classificadas por meio das camadas do MMV (Monitor de Mquinas Virtuais). Segundo Laureano (2006, p. 21) definem-se: Tipo I: o MMV situa-se entre o Hardware e a Mquina Virtual (MV - sistema hspede); Tipo II: o MMV implementado como um processo comum no Sistema Operacional; Tipo Hbrido: ambiente virtual do tipo I ou do tipo II, porm possui tcnicas de otimizaes. A figura 1 ilustra as classificaes de virtualizao: Tipo I ( esquerda) e Tipo II ( direita). 20
Figura 1: Ambientes virtuais do Tipo I e Tipo II Fonte: Adaptada de Laureano, (2006) apud Baruchi, (2010, p. 22).
Ainda segundo o mesmo autor (ibidem), no caso de ambientes virtuais do Tipo I, o controle sobre o hardware, exercido pela camada de MMV, de modo que cada MV comporta-se como um computador real completo, capaz de executar o seu prprio sistema operacional (SO) semelhante a um SO tradicional que exerce o controle da mquina. Como resultado tem-se um conjunto de sistemas hspedes executando sobre o mesmo sistema fsico. Enquanto isso os ambientes virtuais do Tipo II, agem como um processo comum rodando sob um SO hospedeiro. Neste caso, h a presena de uma camada extra situada entre o MMV e o hardware, que nada mais do que o SO hospedeiro. Neste tipo de virtualizao o MMV simula todas as operaes que o hospedeiro do ambiente Tipo I executaria. O ambiente virtual do Tipo Hbrido a virtualizao mais comum. Embora essa nomenclatura leve a pensar em tcnicas mescladas, no isso que ocorre. A denominao hbrida ocorre porque o modelo utiliza otimizaes de acesso direto a recursos do sistema fsico tanto em ambientes do Tipo I, como do Tipo II. Em virtualizaes do Tipo II, por exemplo, algumas operaes de I/O podem interagir diretamente com o hardware ou por meio do SO hospedeiro, enquanto no Tipo I, a MV pode acessar o hardware diretamente sem intermediao do MMV. (LAUREANO, 2006, p. 23). 21
A figura 2 ilustra esses dois tipos de virtualizao otimizadas.
Figura 2: Abordagem Hbrida empregada no Tipo I e no Tipo II Fonte: Adaptada de Laureano, (2006) apud Baruchi, (2010).
Na figura 2, as setas maiores (em cinza) so indicativas das otimizaes realizadas nos tipos de virtualizao. Tais otimizaes, normalmente, so construdas por acesso direto a alguma das camadas que se situam abaixo, sem necessariamente passar por camadas intermedirias. Existem outros mtodos para melhorar o desempenho dos ambientes virtuais; no entanto, a maior ateno recai sobre as operaes de I/O, os principais gargalos da virtualizao (FRASER, 2005, apud BARUCHI, 2010, p. 24).
2.3 Tcnicas de Virtualizao As principais tcnicas usadas na virtualizao so: virtualizao completa, paravirtualizao e recompilao dinmica. O presente trabalho tem foco nas tcnicas de virtualizao completa e paravirtualizao que so detalhadas nas prximas subsees.
22
2.3.1 Virtualizao Completa
Na virtualizao completa, no necessrio modificar o sistema operacional convidado para que o mesmo opere sobre o MMV, pois toda a infra-estrutura do hardware virtualizada. Entretanto, podem acontecer quedas de desempenho dos sistemas hspedes, uma vez que o hardware virtualizado requer que as instrues sejam interpretadas pelo MMV. Como a arquitetura x86 no foi projetada para o suporte a virtualizao, pode acarretar desvantagem para est tcnica (LAUREANO, 2006, p. 24). O principal benefcio da virtualizao completa justamente o fato de o sistema virtualizado no sofrer qualquer tipo de alterao. Em compensao, o sistema virtualizado executa de forma mais lenta e o monitor de mquinas virtuais precisa implementar opes para que as operaes privilegiadas sejam executadas em processadores que no suportem virtualizao nativamente, tais como os processadores Intel 32 bits disponveis atualmente.
2.3.2 Paravirtualizao
Na paravirtualizao, o sistema hspede sofre modificaes de modo a tornar a interao entre a MV e o monitor de mquinas virtuais mais eficiente. A paravirtualizao, embora exija que o sistema virtualizado seja modificado, diminuindo a portabilidade do sistema, permite que o sistema convidado acesse recursos do hardware diretamente. O acesso monitorado pelo monitor de mquinas virtuais, que fornece ao sistema convidado todos os limites do sistema, tais como endereos de memria que podem ser utilizados e endereamento em disco, por exemplo (ROSENBLUM, 2004). A paravirtualizao reduz a complexidade do desenvolvimento das mquinas virtuais em processadores que no suportam a virtualizao nativa. O desempenho obtido, a principal razo para utilizar a paravirtualizao, compensa as modificaes implementadas nos sistemas convidados (LAUREANO, 2006). 23
2.4 Propriedades de Monitores de Mquinas Virtuais
Segundo Laureano (2006), os monitores possuem algumas propriedades utilizadas na segurana de sistemas e outras aplicaes: Isolamento: Essa propriedade garante que, um software em execuo em uma mquina virtual no acesse nem modifique outro, em execuo no monitor ou em outra mquina virtual. O software de uma mquina virtual no interfere na execuo de software presente em outras mquinas virtuais e ou em mquinas reais. Essa propriedade utilizada para que erros de um software ou hackers sejam contidos dentro da mquina virtual sem afetar outras partes do sistema. Alm do isolamento dos dados, a camada de virtualizao exerce controle sobre o desempenho de sistemas convidados de modo que os recursos consumidos por uma mquina virtual no prejudique o desempenho de outras mquinas virtuais (gerncia dos recursos). Inspeo: O monitor tem acesso e controle sobre todas as informaes do estado da mquina virtual, como estado da CPU, contedo de memria, eventos, entre outras. Interposio: O monitor pode intercalar ou acrescentar instrues em certas operaes de uma mquina virtual, como, por exemplo, quando da execuo de instrues privilegiadas por parte da mquina virtual. Eficincia: Instrues inofensivas podem ser executadas diretamente no hardware, pois no iro afetar outras mquinas virtuais ou aplicaes. Gerenciabilidade: Como cada mquina virtual uma entidade independente das demais, a administrao das diversas instncias simplificada e centralizada. Compatibilidade do software: A mquina virtual fornece abstrao compatvel com o software escrito para ela. Por exemplo, em uma mquina virtual com um sistema operacional de alto nvel funcionaro os programas escritos na linguagem de alto nvel. A abstrao da mquina virtual pode mascarar diferenas nas camadas inferiores do hardware e do software da mquina 24
virtual. Exemplo disso escrever o software em Java uma vez e execut-lo em qualquer outra mquina virtual Java. Encapsulamento: A camada de virtualizao pode ser usada para manipular e controlar a execuo do software na mquina virtual. Pode tambm, por ao indireta, dar prioridade ao software ou melhorar o ambiente para execuo. Por exemplo, verificaes de runtime podem ajudar a reduzir a quantidade de erros de programas em mquinas virtuais. Outra propriedade, o encapsulamento de estado, pode ser utilizada para construir checkpoints do estado da mquina virtual. Estados salvos tm vrios usos, como rollback e anlise post-mortem. Desempenho: Adicionar uma camada de software a um sistema convencional pode afetar o desempenho do software que funciona na mquina virtual, mas os benefcios proporcionados pelo uso de sistemas virtuais compensam a perda de desempenho. Hardwares virtualizveis, como as mquinas mainframe da IBM, tm uma propriedade chamada execuo direta que permite, com a utilizao de mquinas virtuais, que esses sistemas obtenham desempenho similar ao de um sistema convencional equivalente.
2.5 Computao em Nuvem A virtualizao - somada ociosidade existente em datacenters devido ao superdimensionamento das infraestruturas e a evoluo de outros componentes essenciais como a internet banda larga, armazenamento e arquitetura orientada a servios - foram unidos, aprimorados e nomeados como computao em nuvem. 2.5.1 Taxonomia da Computao em Nuvem Uma das definies mais aceitas de computao em nuvem a descrita pelo NIST na Publicao Especial 800-145: um modelo que permite o acesso ubquo, conveniente e sob demanda a recursos computacionais configurveis e que podem ser disponibilizados e liberados rapidamente de forma automatizada, sem interveno do provedor e com esforos mnimos de gerenciamento (NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY, 2011, p. 2, traduo livre). 25
Nesta mesma publicao, a computao em nuvem caracterizada por cinco atributos essenciais: Autosservio Sob Demanda: O cliente pode solicitar recursos como armazenamento, clock ou memria RAM, automaticamente e sem a interveno do provedor. Vasto acesso rede: Os recursos da nuvem so disponibilizados por meios comuns de comunicao, inclusive para dispositivos diversos como thin clients, notebooks, celulares. Fuso de recursos: Os recursos fsicos do provedor so unidos e disponibilizados para diversos clientes, dinmica e automaticamente, de acordo com as necessidades destes, sem a necessidade de conhecimentos especficos sobre a localizao geogrfica destes recursos por parte dos clientes. Elasticidade acelerada: H a possibilidade de aumentar ou diminuir os recursos rapidamente dando a impresso de recursos infindveis para o cliente. Desta maneira, o cliente pode contratar recursos em momentos de pico e liber-los logo em seguida. Medio de servios: Os recursos utilizados podem ser monitorados e relatados aos clientes, que pagaro conforme o uso. Os servios em nuvem, basicamente, so divididos em trs categorias: SaaS Software as a Service (Software como servio): Nesta modalidade, o cliente contrata o uso de aplicaes sem se preocupar com a infraestrutura necessria como servidores, armazenamento ou firewalls. Normalmente este servio acessado atravs de um navegador de internet e disponibiliza configuraes especficas ao usurio da aplicao. PaaS Platform as a Service (Plataforma como servio): O provedor disponibiliza recursos para criao e publicao de aplicaes, embora ainda continue sem o controle dos servidores ou sistemas operacionais. Neste tipo de servio o cliente tem mais controle do que no SaaS, pois consegue acesso completo s aplicaes e ao ambiente de desenvolvimento. 26
IaaS Infrastructure as a Service (Infraestrutura como servio): Este o modelo que prov o maior controle por parte do usurio, pois permite que se tenha acesso ao sistema operacional, ao disco (normalmente virtualizado) e s aplicaes armazenadas nestes. Existem quatro tipos de nuvens Privada, Comunitria, Pblica e Hbrida: Privada: O cliente controla a infraestrutura ou terceiriza o controle a quem desejar. Comunitria: O controle da infraestrutura compartilhada entre empresas, normalmente do mesmo segmento ou rea de interesse, ou por terceiros contratados por estas empresas. Pblica: a infraestrutura vendida como servio e disponibilizada para o pblico em geral ou para um grande grupo. Hbrida: a mistura de mais de um tipo de nuvem, que podem ser unidas para prover alta disponibilidade ou balanceamento de carga, especialmente em momentos de pico.
2.6 Categorias de Nuvens e Virtualizaes Contempladas Para o presente trabalho o administrador da ferramenta deve ter autoridade total sobre o ambiente, sendo que o cliente ter acesso apenas s aplicaes e medir, atravs de Acordos de Nveis de Servio, se o nvel de desempenho est satisfazendo os negcios. Por conta destes requisitos a presente dissertao contempla os seguintes tipos de nuvens e virtualizaes: SaaS Software as a Service (Software como servio): cliente contrata o uso de aplicaes sem se preocupar com a infraestrutura necessria PaaS Platform as a Service (Plataforma como servio): o provedor disponibiliza recursos para criao e publicao de aplicaes, embora o cliente ainda continue sem o controle dos servidores ou sistemas operacionais. Virtualizao do tipo II - o MMV implementado como um processo comum no Sistema Operacional. 27
2.7 Consideraes
As informaes inseridas neste captulo permitem conhecer as principais caractersticas dos ambientes virtualizados e computao em nuvem. Trata da virtualizao do tipo II e as categorias de nuvens SaaS e PaaS. Refora a necessidade de buscar padronizao de nvel gerencial da arquitetura que prov monitorao e controle por meio da administrao minuciosa do ambiente e dos riscos que tecnologias de virtualizao conferem a ambientes computacionais complexos.
28
3 GERENCIAMENTO E MONITORAO DA CAPACIDADE
Na sequncia, so apresentados os fundamentos do gerenciamento de capacidade de ambientes virtuais, mostrando a importncia das tcnicas de monitorao e controle e da utilizao de padres como o ITIL (IT Infrastructure Library ) e o ISO/IEC 20000-1 e 2 para este tipo de ambiente. Tambm so feitas algumas consideraes sobre monitorao de desempenho e de capacidade tratando principalmente das diferenas entre as duas tcnicas.
3.1 Introduo ao ITIL Information Technology Infrastructure Library (ITIL) um conjunto de boas prticas a serem aplicadas na infraestrutura, operao e manuteno de servios de tecnologia da informao (TI). Foi desenvolvido no final dos anos 1980 pela CCTA (Central Computer and Telecommunications Agency) e atualmente est sob custdia da OGC (Office for Government Commerce) da Inglaterra (OGC, 2008). A ITIL busca promover a gesto com foco no cliente e na qualidade dos servios de tecnologia da informao, lidando com estruturas de processos para a gesto de uma organizao de TI apresentando um conjunto abrangente de processos e procedimentos gerenciais, organizados em disciplinas, com os quais uma organizao pode fazer sua gesto ttica e operacional com vistas a alcanar o alinhamento estratgico com os negcios (OGC, 2008). Fornece uma descrio detalhada de importantes prticas de TI com checklists, tarefas e procedimentos que uma organizao pode customizar para suas necessidades. A Information Technology Infrastructure Library atualmente desperta grande interesse no mercado pela preocupao com o Gerenciamento de Servios de TI nas empresas, e como est sendo utilizado amplamente, foi escolhido para a presente dissertao como base para o processo de gerenciamento de capacidade de TI.
29
3.2 Gerenciamento da Capacidade Segundo o ITIL V3
A razo de existir Gerenciamento de Capacidade do ITIL v3 (IT Infrastructure Library v3) assegurar que a capacidade da infra-estrutura de TI esteja alinhada com as necessidades do negcio, suportando assim todos os processos que necessitam da TI, dentro de um custo aceitvel (OGC, 2008). O plano de Capacidade o principal documento que descreve as necessidades previstas para os anos subsequentes e representa a sada para este processo. O processo de Gesto da Capacidade dividido em trs subprocessos: 1. Gerenciamento da Capacidade de Negcio: este processo tem por objetivo assegurar que as necessidades atuais e futuras do negcio sero levadas em conta nas operaes de TI. 2. Gerenciamento da Capacidade de Servio: tem por objetivo garantir que o desempenho dos servios de TI esteja conforme os Nveis de Servio (SLAs) acordados. 3. Gerenciamento da Capacidade de Recursos: tem por objetivo o gerenciamento dos recursos individuais da TI: Software, hardware e pessoas As quatro atividades a seguir integram o Gerenciamento da Capacidade e so do tipo interativas, semelhante ao PDCA (do ingls Plan, Do, Check e Action). 1. Monitorao: Verificar se todos os SLAs (Service Level Agreement) previamente acordados esto sendo alcanados. 2. Anlise: Observar se os dados coletados durante a monitorao demandam a gerao de predies futuras. 3. Ajuste: Adequar infra-estrutura atual a partir do resultado da monitorao e anlise para assegurar o uso otimizado em demanda futura. 4. Implementao: Programar a utilizao da nova capacidade. 30
Todas as informaes coletadas no processo so armazenadas no Banco de Dados da Capacidade (BDC). Ele usado para formar a base dos relatrios para este processo e contm informaes tcnicas relevantes para o Gerenciamento da Capacidade. Desta forma a informao contida no Banco de Dados da Capacidade fornece dados importantes para anlise dos outros processos.
3.2.1 Plano de Capacidade
A principal tarefa do Gerenciamento da Capacidade a elaborao do Plano de Capacidade (OGC, 2008). O Plano de Capacidade inclui: todas as informaes sobre a capacidade da infraestrutura de TI; as previses de necessidades futuras com base em tendncias, previses de negcios e SLAs existentes; as alteraes necessrias para adaptar a capacidade de TI s mudanas tecnolgicas e as necessidades emergentes dos utilizadores e clientes. O Plano de Capacidade deve incluir informaes sobre os custos da capacidade atual e previso de ampliaes/redues. Esta informao essencial para a gesto financeira ser capaz de elaborar oramentos e fazer previses financeiras de forma realista. Embora, em princpio, o Plano de Capacidade possa cobrir um perodo de um ou dois anos, deve-se monitorar o cumprimento, a fim de se adotarem medidas corretivas, logo que quaisquer desvios importantes sejam detectados.
3.3 Introduo ABNT NBR ISO/IEC 20000-1 e 2
A ISO/IEC 20000 a primeira norma editada pela ISO (International Organization for Standardization) que versa sobre gerenciamento de servios de TI 31
(Tecnologia da Informao). Trata-se de um conjunto que define as melhores prticas de gerenciamento de servios de TI. O seu desenvolvimento foi baseado na BS 15000 (British Standard) e tem a inteno de ser completamente compatvel com o ITIL (Information Technology Infrastructure Library). A sua primeira edio ocorreu em Dezembro de 2005. A norma ISO 20000 foca as questes relacionadas com a gesto das TI atravs de uma abordagem helpdesk: os problemas so classificados, ajudando a identificar questes atuais ou interligaes. A norma tambm considera a capacidade do sistema, os nveis de gesto necessrios nas mudanas aos sistemas, oramentao financeira, controle e distribuio de software. A ISO 20000, norma internacional que teve a Norma Inglesa BS 15000 como precursora, est perfeitamente alinhada com a abordagem gesto por processos, definida pela IT Infrastructure Library (ITIL) do Office for Government Commerce (Reino Unido). Apresenta duas partes principais: a ISO 20000-1 a especificao formal e define os requisitos para as organizaes prestarem servios de qualidade aceitvel aos seus clientes (internos ou externos); a ISO 20000-2, por outro lado, o Cdigo de Prticas que descreve as boas prticas para processos de Gesto de Servios. Este Cdigo particularmente til para organizaes que esto se preparando para auditorias de acordo com a ISO 20000-1 ou planejando melhorias no servio. A reputao da ISO - International Organization for Standardization prestigia a imagem de qualquer organizao e alm de facilitar a produtividade dos funcionrios e dos sistemas, qualquer situao de risco envolvendo TI rapidamente controlada e a dimenso dos danos potenciais mais facilmente contida.
3.4 Gesto da Capacidade Segundo a ABNT NBR ISO/IEC 20000-1 e 2
Segundo a International Organization for Standardization (2008), o objetivo do gerenciamento da capacidade assegurar que o provedor de servios tenha, a qualquer momento, capacidade suficiente para atender demanda atual e futura 32
acordada com os clientes, diante das necessidades do negcio. A sugesto que os requisitos de negcio atuais e esperados para os servios sejam entendidos em funo do que a organizao vai necessitar para adquirir a habilidade de entregar aos seus clientes. Conforme a International Organization for Standardization (2008) recomendado que as previses de negcios e estimativas de carga de trabalho sejam formalmente acordadas e traduzidas, em requisitos documentados; que o resultado de variaes em carga de trabalho ou meio ambiente seja previsvel e que dados atuais e histricos de uso de componentes e recursos, em nveis apropriados, sejam capturados e analisados para dar apoio ao processo. O gerenciamento da capacidade deve ser o ponto focal para todos os problemas de desempenho e de capacidade. recomendado que seja produzido um Plano de Capacidade, documentando o desempenho atual da infra-estrutura e os requisitos esperados, revisando-o com frequncia adequada (no mnimo anualmente), considerando: taxas de mudanas nos servios, volumes de servio, informaes contidas em relatrios de gerenciamento de mudana e de negcios do cliente. (ISO, 2008, p. 15). Deve-se ainda documentar estimativas do custo para satisfazer aos requisitos da organizao e recomendar solues para assegurar a realizao das metas de nvel de servio acordado.
3.5 Monitorao da Capacidade
Para Fink, Sherer e Wall (2002), existem diversos recursos a serem monitorados nos servidores, sendo os principais: Consumo da CPU; Largura de banda (bandwidth); Memria; Armazenamento Tais recursos tm uma interferncia direta sobre os sistemas e por consequncia em seu desempenho. 33
A monitorao de recursos pode ser entendida, de maneira bem simplificada, como a forma de se conseguir informaes de utilizao dos diversos recursos do sistema. Existem duas categorias de sistemas monitorados: na primeira categoria, monitoram-se e analisam-se os recursos, para atingir a melhor relao de desempenho do sistema; na segunda, monitoram-se e analisam-se os recursos para evitar a surpresa do esgotamento do sistema e adquirir cultura de previsibilidade, til na elaborao do planejamento de capacidades (FINK; SHERER; WALL, 2002).
A necessidade de monitorao de desempenho justificada pela incidncia de eventos no-disruptivos que afetam o desempenho e trazem lentido ao sistema, que provocam o travamento dos programas e, s vezes, acarretam pane no sistema todo, que passa a no funcionar de maneira adequada e satisfatria. De qualquer forma, em quaisquer dos casos, a monitorao deve ser realizada, cumprindo-se um procedimento de trs etapas, conforme Fink, Sherer e Wall (2002): 1. Identificar a natureza e o escopo da reduo do estado operacional de recursos que causam os problemas de desempenho; 2. Analisar os dados obtidos atravs da monitorao e agir (normalmente, com ajuste de desempenho e/ou a aquisio de hardware adicional) para resolver o problema. 3. Monitorar para garantir que o problema de desempenho foi resolvido.
Monitorar o desempenho do sistema uma atividade recorrente, por meio de uma sequncia de passos repetitivos cujo alvo atingir o melhor desempenho possvel do sistema (FINK; SHERER; WALL, 2002). A monitorao da capacidade do sistema parte de um programa de planejamento da capacidade. Este planejamento usa a monitorao de recursos em longo prazo para determinar as taxas de mudana na utilizao dos recursos do sistema. Uma vez conhecidas estas taxas de mudana, possvel conduzir um planejamento mais preciso em longo prazo em relao compra de recursos 34
adicionais (FINK; SHERER; WALL, 2002). A capacidade avaliada antes de o processo ser executado. Para tanto so realizados prognstico com base em histricos e projees. Os dados so coletados ao longo de um perodo, possibilitando classificar a utilizao dos recursos em termos de alteraes da carga de trabalho. Com isso, possvel modelar o impacto da aplicao nos recursos do sistema (FINK; SHERER; WALL, 2002). Conhecer esses conceitos e principalmente as diferenas de como so realizadas anlises dos dados de monitorao com objetivo a gesto da capacidade em relao ao de desempenho de ambientes virtualizados fundamental para a realizao deste trabalho, dando consistncia especificao de requisitos e aos parmetros que sero amplamente utilizados ao longo do desenvolvimento da arquitetura proposta.
3.6 Consideraes
Trata de aspectos gerenciais do ITIL v3 e da ISO/IEC 20000-1 e 2 para a padronizao das ferramentas de gerenciamento e monitorao para implementar processos de gesto em centrais de computao. A monitorao de recursos trata principalmente de conceitos bsicos em relao s duas tcnicas (monitorao de desempenho e de capacidade) que sero amplamente utilizadas ao longo do desenvolvimento da arquitetura proposta. A aplicao desse conceitos na monitorao de recursos em longo prazo busca determinar as taxas de mudana na utilizao dos recursos do sistema para que se conduza um planejamento mais preciso visando o atendimento das futuras necessidades de negcio em relao aquisio ou no caso de ambientes virtualizados a realocao apropriada de recursos excedentes
35
4 TRABALHOS RELACIONADOS
Neste captulo so apresentados alguns trabalhos relacionados diretamente ao desenvolvimento da arquitetura proposta, mostrando alguns pontos de ateno no momento da implantao e mtodos j implantados do gerenciamento de capacidade do ITIL v3 em ambientes virtualizados e infra-estruturas distribudas. Sero abordadas ainda tcnicas de monitorao e realocao de recursos para esse propsito.
4.1 Mtodo OmniVision de Gerenciamento da Capacidade
A ferramenta OmniVision foi desenvolvida para o gerenciamento de capacidade de infra-estruturas distribudas. O objetivo do mtodo desenvolvido para a ferramenta identificar os riscos de saturao em servidores distribudos. O mtodo segue uma arquitetura de trs camadas. No primeiro nvel, os agentes so executados em cada sistema monitorado, coletando informaes de desempenho dos recursos em um repositrio local. O agente comprime as mtricas coletadas e transmite um bloco de dados para o segundo nvel, chamado de n de dados. O n de dados aceita as mtricas de cada agente e armazena essas informaes em um banco de dados relacional (SYSTAR, 2007). A ltima a camada de informao que d acesso a ferramenta de data mining e ao fornecimento de relatrios de qualidade e recursos computacionais dos sistemas. Segundo o mtodo OmniVision existem trs maneiras diferentes para analisar os riscos de saturao: A Ferramenta de Data Mining; O Relatrio de Qualidade Global; O Relatrio Global de Recursos A ferramenta de data mining fornece um planejamento quase imediato com uma interface de consulta de questes fornecendo respostas sobre os sistemas que 36
esto em maior risco de sobrecarga da CPU, por exemplo. O Relatrio de Qualidade Global consiste em um sistema de relatrios sobre a infra-estrutura do ponto de vista da qualidade do servio e projetado para os gerentes de TI e executivos. A deteco e notificao de incidentes de saturao, pelo Relatrio de Qualidade Global tm como referncia um limite definido pelo usurio para o risco de saturao mdia. No h tempo de inatividade de sistema configurvel para a qualidade do servio; qualquer interrupo de disponibilidade relatada como um incidente. Este relatrio permite identificar as questes de capacidade que esto causando impacto negativo qualidade do servio. O Relatrio Global de Recursos consiste em um sistema de relatrios sobre a infra-estrutura do ponto de vista da utilizao de recursos. Fornece aos analistas e gerentes de capacidade a anlise de diversos ambientes para que eles possam otimizar recursos, justificar novos investimentos e projetar plano de crescimento da infra-estrutura. Segundo a Systar (2007), um aspecto chave do Relatrio Global de Recursos o processo de classificao do sistema que avalia o nvel de equilbrio entre a configurao de um servidor e a carga que ele suporta. H cinco nveis bsicos de classificao: 1. Subutilizado - a carga de trabalho no tem qualquer impacto mensurvel sobre os recursos do sistema. 2. Quase subutilizados - a carga de trabalho mensurvel, mas os recursos do sistema esto subutilizados. 3. Normal - os recursos computacionais e a carga de trabalho esto em equilbrio 4. Quase em saturao - o sistema est passando por um nvel mensurvel de risco de saturao ou est tendendo para saturao. 5. Saturado - os recursos do sistema esto sendo saturados pela intensidade da carga de trabalho. Os relatrios de capacidade de recursos destacam as reas e os sistemas 37
onde a capacidade est inferior ou superior demanda. Quando os sistemas so classificados, por exemplo, como "quase sobrecarregado", geralmente o tempo para iniciar um planejamento para a expanso, equilbrio ou realocao, oferecendo alertas antecipados de tendncias de crescimento, dando tempo suficiente para planejamento proativo. Este mtodo interessa ao presente trabalho porque infraestruturas distribudas possuem caracteristicas parecidas com ambientes virtualizados. Outro destaque o processo de classificao de recursos que ser til para a arquitetura proposta.
4.2 Gerenciamento da Capacidade em Ambientes Virtualizados
O artigo Capacity Management in VMWare Virtualized Infrastructures A Customers Experience (WININGER, 2009) fornece algumas orientaes iniciais para implementao do gerenciamento de capacidade do ITIL v3 em ambientes virtualizados. Nele so abordadas as principais reas nas quais a virtualizao, mais especificamente utilizando o VMware, ter impacto no ITIL v3 e das orientaes com base na prpria experincia do autor na implementao de processos ITIL trabalhando com ambientes VMware. Neste artigo o autor foca alguns pontos dentro dos trs subprocessos de Gerenciamento da Capacidade.
4.2.1 Gesto de Capacidade de Negcios
Como citado na seo 4.2 este processo tem por objetivo assegurar que as necessidades atuais e futuras do negcio sejam levadas em conta nas operaes de TI. Informaes relevantes so: alteraes aos servios existentes; novos servios; crescimento esperado relativo aos padres de atividade. E nesta ltima rea de interesse, os padres de atividade so fornecidos pelo processo de gesto 38
da demanda. Alguns pontos de ateno que o autor focaliza so: Ao utilizar a natureza dinmica dos ambientes virtualizados pode-se ajustar de forma mais eficaz a tecnologia em torno das necessidades da atividade. Ao analisar os padres de negcio (usando qualquer mtodo utilizado atualmente, talvez monitorao das taxas de transao combinando com as previses de negcios), pode-se determinar picos potenciais de curto prazo e responder com capacidade adicional, utilizando rapidamente a alocao dinmica de recursos presentes nas ferramentas de virtualizao (ROSSI, 2008). A seguir, algumas mtricas produzidas por este subprocesso com impacto sobre a virtualizao: % de reduo em bens fsicos % de reduo no consumo de energia (til como evidncia documentada na obteno de qualquer norma ambiental ISO 14001, por exemplo) % de reduo de custos nos contratos de manuteno.
4.2.2 Gerenciamento de Capacidade de Servio
Como citado na seo 4.2, este processo tem por objetivo garantir que o desempenho dos servios de TI esteja de acordo com os Nveis de Servio (SLAs). A seguir, algumas mtricas produzidas por este subprocesso com impacto sobre a virtualizao: Mtricas de tempo de resposta podem dar uma indicao da performance global de um servio. 39
Monitorar tempo de resposta das aplicaes que rodaro nas VMs, pois eles sero diferentes dos tempos em ambientes fsicos, por conta das camadas de virtualizao. Neste processo deve ser determinado se o usurio receber o servio de acordo com o SLA definido.
4.2.3 Gerenciamento da Capacidade do Componente
Este processo tem por objetivo o gerenciamento dos recursos individuais de TI: Software, Hardware. Ele basicamente relacionado com a monitorao da capacidade dos componentes. Com relao virtualizao, o artigo aponta os seguintes itens como pontos de ateno: Em alguns aspectos, as mtricas como CPU, memria e espao so as mesmas que em servidores fsicos, mas a interpretao delas diferente. O porqu de as mtricas serem diferentes explicado por Souza (2008) como verificado mais adiante. Deve-se levar em conta o compartilhamento e a natureza dinmica dos recursos. Existe tambm uma camada adicional de complexidade que deve ser monitorada e que consome recursos, o Hypervisor. Tcnicas convencionais de monitorao no podem ser utilizadas exatamente da mesma forma que em servidores fsicos. As tcnicas de monitorao so explicadas por Caldas (2008), com monitorao de caixa preta e cinza. Este artigo apenas descreve pontos de ateno no momento da implantao do Gerenciamento de capacidade do ITIL v3 em ambientes VMware no sendo desenvolvido ou aplicado qualquer mtodo especfico para sua realizao. Ele destaca de forma muito superficial os pontos de ateno com base na experincia do autor.
40
4.3 Monitorao de Ambientes Virtualizados
Souza (2008) descreve o motivo de as tcnicas e mtricas de monitorao de ambientes fsicos no se prestarem monitorao de ambientes virtuais. Relata que mtricas como utilizao de CPU, acessos a disco, consumo de memria e banda de rede consumida pela mquina virtual podem ser obtidas do monitor de mquinas virtuais. Na camada do MMV encontra-se um escalonador de mquinas virtuais que determina por quanto tempo cada mquina virtual ocupa a CPU, e por deduo, a porcentagem de tempo de CPU cedido para cada mquina virtual. Da mesma forma, todos os acessos ao disco e envio ou recebimento de pacotes de rede de uma mquina virtual contabilizado no isolated driver domain (IDD) e armazenado na MMV. Alm disso, informaes sobre as caractersticas, configuraes e estado das mquinas virtuais podem ser acessadas e monitoradas pela MMV. Segundo (SOUZA, 2008) essa tcnica chamada de monitorao centralizada, pois as informaes sobre as mquinas virtuais so extremamente prticas e simples para medir o nmero de recursos que cada mquina virtual est consumindo. Entretanto, essa tcnica de monitorao no fornece informao sobre as aplicaes executadas nas mquinas virtuais. O monitor das mquinas virtuais oferece apenas uma viso do desempenho e do comportamento das mquinas virtuais como um todo. Dependendo do nvel de informao que se queira obter do sistema, centralizar o processo de coleta de informao no monitor de mquinas virtuais pode no ser suficiente. O monitor de mquinas virtuais no acompanha o processo em execuo em uma mquina virtual, ou mesmo, determinar se uma rotina da aplicao a maior responsvel por falhas nos cachs. Nesse caso, preciso monitorar contadores de hardware, aos quais apenas o MMV possui acesso, e obter o nome da funo em execuo, informao esta, que est na mquina virtual. Uma forma de obter essas informaes introduzir monitores locais nas mquinas virtuais de forma que o MMV gerencie esses monitores. As mquinas virtuais cuidam da monitorao e coleta de informaes por meio de recursos a que o monitor de mquinas virtuais no tem acesso. 41
O trabalho de Souza (2008) prope uma arquitetura para a monitorao e medio de desempenho de mquinas virtuais XEN, mostrando as diferenas de desempenho de aplicaes nos ambientes fsicos e virtuais, porm, no trata da monitorao no mbito do planejamento da capacidade, principalmente no que tange a ambientes virtuais j em funcionamento e no simplesmente migrao de aplicaes de ambientes fsicos. Outro artigo importante sobre esse tema o VEPMon: uma ferramenta de monitorao de desempenho para ambientes virtuais (CALDAS, 2008). O artigo sugere uma ferramenta para monitorar o desempenho de mquinas virtuais para o ambiente virtual Xen. A ferramenta calcula mtricas que, quando utilizadas como entradas em modelos analticos, podem prever o desempenho dos servios Web em ambientes virtualizados. O VEPMon composto por dois tipos de mdulos: a interface de monitorao e os agentes de desempenho. Foram desenvolvidos dois agentes de desempenho para a mquina monitorada: o LPA (Linux Performance Agent) e o XPA (Xen Performance Agent). Esses agentes permitem ao VEPMon operar em ambientes virtuais segundo duas abordagens: caixa preta e caixa cinza. Na abordagem caixa preta obtm-se as mtricas de desempenho das mquinas virtuais capturado pelo agente de monitorao de desempenho XPA, executado no Domo do Xen. No modo caixa cinza possvel extrair todas as mtricas capturadas pelos agentes de monitorao de desempenho LPA, executados no interior das mquinas virtuais. Assim, cada mquina virtual tratada como uma mquina real no ambiente de monitorao. Tanto a ferramenta quanto seu artigo indicam um modo de caracterizao da arquitetura muito til para o presente trabalho: a monitorao de caixa preta e caixa cinza. O trabalho de (SOUZA, 2008) define arquitetura semelhante, porm a chama de monitorao centralizada e distribuda. O VEPMon constitui uma ferramenta que, trabalhando em conjunto com certos padres como o ITIL v3, pode monitorar servios Web virtualizados auxiliando no planejamento de capacidade e prescrio de alocao de recursos para o ambiente virtual.
42
4.4 Realocao de Recursos em Ambientes Virtualizados
A dissertao de Rodrigues (2009) descreve um procedimento para realocar recursos subutilizados entre domnios no Xen, conforme as polticas definidas em um SLA. A gesto e o planejamento da capacidade em ambientes virtuais buscam exatamente uma alocao de recursos mais eficiente. Quando as aplicaes so portadas para um ambiente virtualizado, devem ter seus nveis de recursos constantemente monitorados e ajustados para evitar a degradao da qualidade do servio ou proporcionar melhor utilizao do hardware. Rodrigues (2009) prope a realocao dinmica de recursos em ambientes virtualizados a partir de requisitos derivados de Service Level Agreement (SLA), um mecanismo de controle contratual que estabelece parmetros para a qualidade do servio. Esses parmetros podem contribuir para a fixao de limiares de aceitao de qualidade do servio entregue por aplicaes que migraram para o ambiente virtual. A realocao busca equalizar a demanda por recursos. Por exemplo, uma mquina virtual que tenha recebido uma carga de trabalho maior do que a prevista no SLA recorre realocao de recursos (processador e memria) no utilizados pelas demais VMs. Entretanto, alguns Monitores de Mquinas Virtuais, como por exemplo, o Xen, no possuem funcionalidade de se realocarem recursos com base em regras definidas nos SLAs. A proposio de Rodrigues (2009) de realocar recursos entre as VMs ser til neste trabalho, pois a razo do planejamento da capacidade em ambientes virtualizados a alocao e realocao de recursos subutilizados entre VMs. 4.5 Comparao dos Trabalhos Relacionados
Na Tabela 1, constam as principais funcionalidades identificadas como necessrias a uma ferramenta que realiza gerenciamento de capacidade de ambientes virtualizados. Estas funcionalidades so verificadas quanto sua presena ou ausncia nos trabalhos pesquisados.
43
Trabalhos relacionados por autor/funcionalidade Trata da realocao de recursos Norteado por padres de gerenciamento Realiza Monitorao centralizado e distribuda Fcil adaptao a diferentes ferramentas de virtualizao Apoio especfico ao gerenciamento de capacidade SYSTAR( 2007). No Sim Sim Sim Sim Wininger(2009) No Sim No No Sim Souza (2008) No No Sim No No Caldas (2008) No No Sim No No Rodrigues (2009) Sim Sim Sim No No Arquitetura proposta no presente trabalho Sim Sim Sim Sim Sim Tabela 1: Trabalhos relacionados por Autor X funcionalidade. Fonte: Elaborado pelo Autor.
4.6 Consideraes
O mtodo desenvolvido para a ferramenta Ominivision busca identificar riscos de saturao em servidores distribudos. O alerta "quase sobrecarregado" sinaliza a necessidade do incio do planejamento para a expanso, reequilbrio ou realocao, oferecendo sinais antecipados de tendncias de saturao, com tempo suficiente para elaborar o planejamento de modo proativo. A seo 4.2 Gesto da Capacidade em Ambientes Virtualizados, lista pontos de ateno na implantao do gerenciamento de capacidade do ITIL v3 para ambientes virtualizados. Ressaltam- se singularidades das tcnicas de monitorao de ambientes fsicos e virtuais e indica-se uma tcnica denominada monitorao de caixa preta e caixa cinza, para refinar a monitorao. Abordam-se conceitos sobre realocao de recursos subutilizados entre as VMs, razo do planejamento da capacidade em ambientes virtualizados. 44
5 ARQUITETURA PROPOSTA
Gerenciar e monitorar a capacidade de ambientes virtualizados uma atividade necessria e, embora existam ferramentas que monitorem o desempenho deste tipo de ambiente, no h um padro que norteie o processo de gerenciamento para assegurar que a capacidade da infra-estrutura virtualizada esteja alinhada com as necessidades do negcio. O presente captulo oferece uma contribuio para solucionar a questo por meio de uma concepo de arquitetura para o gerenciamento de ambientes virtualizados, baseando-se nas recomendaes do gerenciamento de capacidade do ITIL V3 e ISO/IEC 20000-1 e 2. A adoo do guia de boas prticas e de documentos formais de padronizao tem o intuito de nortear a seleo de parmetros e dar base estruturada de monitorao arquitetura proposta. O captulo est dividido em duas sees: arquitetura lgica que descreve os mdulos concebidos, e subprocessos da arquitetura proposta com o ITIL V3. O ambiente descrito deve acolher uma prova de conceito, etapa experimental do trabalho, destinada validao da arquitetura e dos mdulos que compem a soluo.
5.1 Descrio Lgica da Arquitetura
A arquitetura lgica composta por trs camadas: Refinamento de Dados: acomoda os subprocessos do gerenciamento de capacidade ITIL V3 e atende s suas recomendaes, Centralizao: responsvel pelos mdulos que controlam e centralizam as comunicaes com os agentes de monitorao e armazenam dados, como pode ser observado na Figura 3. 45
Coleta: responsabiliza-se pela coleta de dados sobre os recursos dos ambientes hspedes e hospedeiros. A busca por padres de governana para dar base arquitetura proposta tem como alvo a abrangncia, pois sabe-se que textos de normas recebem a colaborao de grande quantidade de especialistas e, para trilhar todos os estgios de sua elaborao, passa pela aprovao de instituies distribudas por todos os continentes. O tema , ainda, pouco explorado e a evoluo do conhecimento deve demandar novos servios. Adotou-se um padro de diviso em camadas no desenvolvimento de software para proporcionar reaproveitamento de cdigo e conferir maior flexibilidade quando um novo servio for acrescentado arquitetura.
Figura 3: Arquitetura Lgica. Fonte: Elaborado pelo Autor.
46
A Figura 3 apresenta a arquitetura lgica do sistema, camadas e mdulos que compem a arquitetura, sendo descritos a seguir.
5.1.1 Camada de Coleta
a) nmon: Ferramenta livre constituda um agente que coleta dados sobre os recursos computacionais dos sistemas hospedeiros e hspedes (GRIFFITHS, 2010). O recurso considerado por esse trabalho ser a Memria. b) Sistemas Hospedeiro: Os computadores fsicos. c) Sistemas Hspede: Os computadores oriundos da virtualizao.
5.1.2 Camada de Centralizao a) Painel de Configurao e Sincronizao de Ns: Comunica-se com a camada de coleta, recebe dados coletados remotamente pelos agentes nmon distribudos nos ambientes hspedes e hospedeiros, gravando-os em um repositrio implementado no servidor de monitorao. Sincroniza horrios de monitorao, garantindo que todos os agentes nmon iniciem seus processos individuais ao mesmo tempo. Essa sincronizao de horrio necessria, uma vez que os sistemas hspedes podem configurar diferentes horrios em seus sistemas, com diversos fusos horrios, por exemplo, e os relatrios e grficos gerados pela ferramenta podem apresentar inconsistncias. b) Repositrio: Mdulo que armazena dados coletados em diretrio para consulta pela camada de refinamento. No ITIL V3 descrito como banco de dados de capacidade. A informao no BDC usada para emisso dos relatrios de capacidade e a elaborao do Plano de Capacidade. Segue tambm recomendaes do International Organization for Standardization (2008) que sugere armazenar dados atuais e histricos de uso de componentes e recursos, para consultas 47
posteriores. 5.1.3 Camada de Refinamento de Dados
Camada responsvel pelo tratamento e apresentao dos dados disponveis no repositrio, atravs da camada de centralizao. O tratamento inclui a construo de relatrios e modelos analticos com os dados coletados para verificao de utilizao dos recursos e, ainda, para avaliao do desempenho seguindo recomendaes do International Organization for Standardization (2008) que sugere analisar os dados para dar apoio ao processo.
Gesto de Capacidade de Recursos
basicamente relacionada monitorao da capacidade dos recursos dos ambientes virtuais, para os quais tcnicas convencionais de gerenciamento de capacidade no podem ser utilizadas exatamente da mesma forma que em servidores fsicos. As demandas por capacidade de componentes em ambientes que utilizam virtualizao de servidores podem vir tanto dos sistemas hspedes como dos sistemas hospedeiros. A seguir so descritas as seguintes demandas: Sistema hospedeiro se o sistema hospedeiro no suporta a carga de trabalho de seus sistemas hspedes, no dispe de recursos para alocao ou para admisso de mais hspedes, adiciona-se mais hardware ou se adquire um novo servidor. Sistemas hspedes se os hspedes no suportam as cargas de suas aplicaes e de seus sistemas com as atuais configuraes de recursos, deve-se verificar se h recurso disponvel no sistema hospedeiro ou realocar recursos dos hspedes que estiverem subutilizados. Esta arquitetura tem foco na realocao de recursos entre os sistemas hspedes para melhorar o aproveitamento de recursos e consequentemente 48
imprimir uma gesto de capacidade mais efetiva. Rodrigues (2009) ilustra a necessidade da realocao de recursos entre os sistemas hspedes. Como pode ser observado na Figura 4, h quatro sistemas hspedes (1, 2, 3, 4), cada um com necessidades diferentes de consumo de recursos (CPU e memria), representado pela altura da barra associada a cada hspede. A linha tracejada representa a porcentagem de recursos atribudos a cada hspede. A distribuio dos recursos realizada de modo emprico, sem preocupao de definir precisamente os recursos, conforme as necessidades de cada hspede. Por este motivo, um hspede pode necessitar de recursos e no possu-los, ou possu-los e no utiliz-los. As duas situaes so exemplificadas na Figura 4, onde o hspede 2 subutiliza recursos disponveis, enquanto o hspede 3 demanda mais recursos do que tem sua disposio.
Figura 4: Ambiente sem Realocao Fonte: Adaptada de Rodrigues (2009).
Para melhorar o desempenho global do MMV e garantir determinado nvel de qualidade de servio s aplicaes hospedadas nesses ambientes, espera-se que os recursos dos mesmos possam ser adequadamente distribudos, respeitando polticas de SLA definidas. A distribuio ideal est representada na Figura 5, onde possvel notar, pela linha tracejada, que os recursos computacionais atendem demanda de cada hspede, sem excesso ou escassez, respeitando a disponibilidade global do ambiente.
3
1 2 4 Hospedeiro 49
Figura 5: Ambiente com Realocao Fonte: Adaptada de Rodrigues (2009).
A realocao deve ser holstica, considerando os ambientes hspedes e hospedeiros em conjunto. Para uma anlise mais profunda que possibilite um futuro planejamento de capacidade necessrio criar relatrios que possibilitem uma anlise consolidada dos ambientes virtuais. A inteno que todas as mquinas tenham os recursos de que necessitem, e no existam recursos subutilizados. Claro que nem sempre esta situao possvel. Existe a situao em que todas as mquinas virtuais utilizam todos os recursos disponibilizados; outra em que uma mquina necessite de mais recursos, escalando-se e recorrendo-se ao sistema hospedeiro. Para isso o relatrio dever fornecer informaes para alocao entre sistemas hospedeiros e hspedes. Um aspecto chave utilizado pelo Mtodo OmniVision e aproveitado para a gesto de capacidade de componentes para ambientes virtualizados refere-se ao processo de classificao do sistema que avalia o nvel de equilbrio entre a configurao de recursos de um sistema hspede ou hospedeiro e a carga que eles suportam. As avaliaes de gesto de capacidade de recursos realizada pela arquitetura so baseadas em coleta de dados de, no mnimo, quatro semanas. O objetivo da anlise do relatrio identificar o estado atual de cada sistema e no ser enganado por valores anmalos de incidentes isolados que no interferem na capacidade do sistema. Os relatrios permitem o estudo do comportamento de todos os sistemas hspedes atravs do tempo para decidir se atualizaes de configuraes ou outras solues de capacidade so necessrias.
3
1 2 4 Hospedeiro 50
Adotam-se cinco nveis bsicos de classificao: 1. Subutilizado: a carga de trabalho no tem qualquer impacto mensurvel sobre os recursos do sistema. 2. Quase subutilizados: a carga de trabalho mensurvel, mas os recursos do sistema esto subutilizados. 3. Normal: os recursos computacionais e a carga de trabalho esto em equilbrio. 4. Quase em Saturao: o sistema est passando por um nvel mensurvel de risco de saturao ou est tendendo para saturao. 5. Saturado: os recursos do sistema esto sendo saturados pela intensidade da carga de trabalho O sistema que avalia o estado de operao e a configurao de um sistema hspede ou hospedeiro adota critrios de avaliao por nveis de comprometimento. Avalia a carga que eles suportam e os enquadra em um dos cinco nveis bsicos de classificao definidos para a arquitetura: Se Valor Disponvel > 90 % = Subutilizado. Se Valor Disponvel > 70 % e 90% = Quase Subutilizados. Se Valor Disponvel > 30% e 70% = Normal. Se Valor Disponvel > 10% e 30% = Quase em Saturao. Se Valor Disponvel 10% = Saturado O modelo de operao do algoritmo apresentado no fluxograma da Figura 6:
51
Figura 6: Fluxograma de Operao Fonte: Elaborado pelo Autor. 52
Para o maior entendimento, sero descritas a seguir cada uma das variveis, condies e resultados do algoritmo: O Total de Recursos o valor de memria reservado para os sistemas hspedes e, no caso do sistema hospedeiro, o total de recursos de hardware. O Maior Pico de Utilizao o maior valor de utilizao de recursos de sistema no perodo mnimo de quatro semanas. A ferramenta pode adotar o maior pico, admitir correo ou permitir simulao (com valores inseridos pelo usurio). Em regime de produo, a opo de insero de dados pode ser desabilitada para impedir manipulao e mascaramento de informaes. Ser permitido pela arquitetura substituir essa varivel para o clculo de outlier, tambm conhecido como valor atpico, ou outra frmula que se adapte melhor s caractersticas de cargas de trabalho dos ambientes gerenciados. O resultado da subtrao entre o Total de Recursos e o Maior Pico de Utilizao ser o Recurso Disponvel para realocao. Classificao do sistema quanto ao consumo de recursos: Se o Recurso Disponvel de memria for maior que 90%, significa que a carga de trabalho no tem qualquer impacto mensurvel sobre os recursos do sistema e este ser classificado como Subutilizado. Se o Recurso Disponvel de memria estiver entre 90% e 71%, significa que a carga de trabalho mensurvel, mas os recursos do sistema esto subutilizados e este ser classificado como Quase Subutilizados. Se o Recurso Disponvel de memria estiver entre 70% e 31%, significa que os recursos computacionais e a carga de trabalho esto em equilbrio e ser classificado como Normal. Se o Recurso Disponvel de memria estiver entre 30% e 11%, significa que o sistema est passando por um nvel mensurvel de risco de saturao ou est tendendo para saturao e ser classificado como Quase em Saturao. Se o Recurso Disponvel de memria estiver igual ou abaixo de 10% os recursos do sistema esto sendo saturados pela intensidade da 53
carga de trabalho e ser classificado como Saturado. A ferramenta tambm permitir reconfigurar os valores de referncia, uma vez que esses valores podem variar de acordo com as caractersticas de cada aplicao e com os ambientes em que esto inseridas. O sistema deve sugerir as realocaes de recursos seguindo obrigatoriamente as seguintes prioridades: 1. Subutilizado para Saturado 2. Subutilizado para quase Saturado 3. Quase Subutilizado para Saturado 4. Quase Subutilizado para Quase Saturado Se um sistema classificado como Subutilizado ou Quase Subutilizado puder ter seus recursos no utilizados realocados para mais de um sistema hspede Saturado ou Quase Saturado, a prioridade para realocao deve ser para o sistema que estiver mais Saturado. Apenas em ltimo caso, quando houver sistemas hspedes saturados e no for encontrado nenhum sistema que tenha recursos para doar estando com classificao Normal, a ferramenta poder sugerir a realocao de recursos do sistema hospedeiro at que o sistema Saturado ou Quase Saturado atinja a classificao Normal. No caso de o sistema hospedeiro j ter realocado todos os recursos possveis e o sistema hspede ou hospedeiro continuar quase saturado no conseguindo atingir a classificao Normal, a ferramenta ir alertar uma tendncia a futura saturao. Neste caso, o analista dever atentar aos grficos fornecidos pela ferramenta para o clculo de previso de tempo de saturao do ambiente. Pode ocorrer tambm a situao de o sistema hospedeiro j ter realocado todos os recursos possveis e o sistema hspede ou hospedeiro continuar saturado. Nesse caso, a ferramenta ir sugerir a aquisio de hardware. Esse indicativo se d em ltimo caso, pois se o usurio seguir todos as sugestes de alocao e alertas de tendncia da ferramenta, o ambiente no dever chegar a esse indicativo. A principal diferena deste tipo de relatrio para o de desempenho que ele 54
permite a anlise do comportamento de todos os ambientes virtuais, por meio de histogramas de dados coletados e armazenados, mostrando tendncias e apontar decises se houver necessidade de atualizaes de configuraes de recursos como memria e CPU, ou outras solues de adequao de capacidade. A realocao no ocorre por conta de um incidente especfico, mas amparada por anlise de incidentes. A deciso seria precedida de monitorao de desempenho de curto prazo para detectar possvel falha no sistema; se o sistema retornar ao desempenho normal, seria descartada a necessidade de realocao de recursos. Um exemplo: o incidente tem como causa uma falha que poderia ser corrigida por ajuste em algum parmetro de S.O ou mesmo de aplicao. O relatrio pode mapear um problema de capacidade por semanas, indicando que um sistema hspede no est mais suportando a carga de suas aplicaes, mesmo depois de ajustes de parmetros, restando a alternativa de realocao de recursos de outro hspede que est subutilizando sua capacidade. Apenas com a monitorao de longo prazo podem-se determinar as taxas de mudana na utilizao de recursos, requerendo anlise histrica de dados. O diagrama de sequncia mostra na figura 7 as aes que o usurio deve tomar para a operao da ferramenta: 1. O usurio tem o contato inicial com ferramenta pela pgina principal. 2. Seguindo uma sequncia ideal, o usurio acessa o Painel de configurao para configurar o IP/hostname dos ambientes virtuais, o tipo (se hspede ou hospedeiro), o nmero de repeties das coletas e o intervalo entre elas. 2.1. Com essa etapa inicializada a monitorao. 2.2. Inicializao de ns realizada. 3. Novamente o usurio acessa a pgina principal. 3.1. Realizando acesso ao Painel de Anlise. 3.1.1. Os dados so processados. 4. So carregados os dados da monitorao 5. Os dados obtidos so tratados de acordo com o algoritmo. 5.1. Os dados so apresentados para anlise. 55
Figura 7: Diagrama de Sequncia. Fonte: Elaborado pelo Autor.
5.2 Realocao de Recursos por Nveis de Criticidade ao Negcio Como descrito anteriormente, o sistema que avalia o estado de operao e a configurao de cada sistema hspede ou hospedeiro adota critrios de avaliao por nveis de comprometimento. Avalia a carga que os hospedeiros suportam e os enquadra em um dos cinco nveis bsicos de classificao definidos para a arquitetura. A partir desses nveis de classificao o algoritmo sugere a realocao dos recursos disponveis para os sistemas hspedes que estiverem com seus recursos atingindo nveis elevados de saturao. Contudo, h situao em que um sistema hspede saturado pode ser mais crtico ao negcio do que outros, tambm saturados. Ao hospedar uma aplicao regida por polticas de SLA mais severas, o sistema hospedeiro que abriga a aplicao mais crtica deveria ser tratado com prioridade no momento da reconfigurao de seus recursos. Realocar recursos disponveis utilizando critrios tais como nveis de criticidade do sistema hspede em relao ao negcio, respaldados por politicas de SLA, seria uma forma de tratar este tipo de situao. Sugere-se uma adaptao do algoritmo de realocao apresentado na figura 6 para suportar essa facilidade 56
adicional, de apoio deciso. Como exemplo da classificao dos nveis de criticidade adotam-se os seguintes critrios que podem ser cadastrados previamente no painel de configurao do sistema, de acordo com as polticas de SLA definidas para cada hspede: Nvel 1 Alta Criticidade. Nvel 2 Mdia Criticidade. Nivel 3 Baixa Criticidade
A figura 8 ilustra em que estgio a adaptao deve ser realizada, na fase de deciso, para adicionar ao algoritmo, o tratamento de nveis de criticidade.
Figura 8: Adaptao do Algoritmo. Fonte: Elaborado pelo Autor.
A figura 9 mostra como seria o processo de realocao, no caso do sistema hspede ser classificado como saturado ou quase saturado.
Figura 9: Exemplo de Funcionamento da Adaptao. Fonte: Elaborado pelo Autor.
Para o presente trabalho a realocao e reconfigurao ser realizada 57
utilizando a avaliao de nveis de comprometimento de recursos de acordo com o algoritmo da figura 6 e a realocao de recursos disponveis utilizando regras de criticidade dos sistemas hspedes em relao ao negcio, proposta nessa seo e fica como sugesto para ser implementada e validada em trabalhos futuros. 5.3 Subprocessos da Arquitetura Proposta com o ITIL V3 O subprocesso contemplado atualmente pela proposta o de Gerenciamento da Capacidade de Recursos que tem por objetivo o gerenciamento dos recursos individuais de TI como Software, Hardware como mostrado na tabela 2. Subprocessos do gerenciamento da Capacidade ITIL V3 Arquitetura de Apoio Gerenciamento da Capacidade de Recursos Mdulo implementado atualmente na camada de refinamento Gerenciamento da Capacidade de Negcio Mdulo que pode ser implementado futuramente na camada de refinamento Gerenciamento da Capacidade de Servio Mdulo que pode ser implementado futuramente na camada de refinamento Tabela 2: Subprocessos do gerenciamentro de capacidade. Fonte: Elaborado pelo Autor.
Porm, como foi adotado um padro de diviso em camadas e mdulos no desenvolvimento de software, os subprocessos de Negcio e Servio podem ser implementados futuramente como mdulos na camada de refinamento como mostra a figura 10. 58
Figura 10: Mdulos que podem ser implementados. Fonte: Elaborado pelo Autor.
Na Tabela 3, constam as quatro atividades interativas que integram o Gerenciamento da Capacidade do ITIL v3, e os mdulos da ferramenta responsveis por implementar cada ao do subprocesso em ambientes virtualizados.
59
Atividades interativas do gerenciamento de capacidade ITIL V3 Ao Arquitetura de Apoio Monitorao Verificar se os SLAs esto sendo cumpridos Camada de coleta, Centralizao e Clculo Anlise Observar se os dados demandam predies futuras. Cinco nveis de classificao Ajuste Adequar infra-estrutura atual a partir do resultado da monitorao e anlise Deciso a partir do relatrio Implementao Programar a utilizao da nova capacidade Realocao por parte do usurio.
Banco de Dados da Capacidade (BDC) Armazenamento de dados histricos de utilizao Repositrio, Histogramas
Tabela 3: Atividades interativas. Fonte: Elaborado pelo Autor.
5.4 Consideraes Exploram-se padres para estruturar a arquitetura proposta visando maximizar a cobertura de aspectos relevantes e padres de engenharia de software, buscando o reaproveitamento de cdigo e a flexibilidade de uma soluo de gesto da capacidade de servios e negcios em processo de evoluo. Como evidenciado, a arquitetura atem-se criao de indicadores para realocao de recursos entre os sistemas hspedes, garantindo que todas as mquinas tenham os recursos suficientes pela redistribuio dos recursos subutilizados. Adota-se anlise do comportamento dos ambientes virtuais, por meio de histograma de dados coletados e armazenados, orienta a deciso entre atualizaes de configuraes de recursos ou solues de incremento de capacidade.
60
6 IMPLEMENTAO DA ARQUITETURA E TESTES REALIZADOS Com o intuito de tornar vlida a arquitetura proposta, cuja inteno utilizar as recomendaes do ITIL V3 e a realizao de reconfiguraes de recursos para apoiar o gerenciamento da capacidade em ambientes virtualizados, foram implementados os mdulos e camadas descritos na arquitetura proposta atravs da criao de uma ferramenta, alm da realizao de uma prova de conceito atravs de testes simulando um Data Center virtualizado. 6.1 Descrio da Implementao da Arquitetura Os mdulos foram implementados na linguagem de programao Java, cuja caracterstica de orientao a objetos facilitou a visualizao dos mdulos que compem a arquitetura. Adicionalmente foi utilizado o Tomcat como servidor de aplicaes java Enterprise Edition (JEE) para os servlets java.
6.1.1 Painel de Configurao
Figura 11: Painel de Configurao. Fonte: Elaborado pelo Autor.
A interface utilizada para realizar as configuraes necessrias aos testes foi 61
construda atravs das linguagens html e JavaServer Pages (JSP) para desenvolvimento de aplicaes para Web e apresentao das informaes no painel de configurao. O painel de configurao responsvel por configurar o nmero de repeties das coletas de dados em cada ambiente e por estabelecer o intervalo entre as coletas conforme ilustrado na figura 11. Tambm responsvel pela sincronizao, j que faz todos os agentes nmon iniciarem a coleta de informaes de memria ao mesmo tempo. Para cada n existe uma thread que inicia os agentes nmon utilizando o protocolo cliente-servidor telnet e, aps esta etapa, utilizado o protocolo FTP (File Transfer Protocol) para transferncia do resultado da coleta para o repositrio.
Figura 12: Caso de Uso. Fonte: Elaborado pelo Autor.
Pelo diagrama de caso de uso mostrado na figura 12, pode-se verificar que por meio do Painel de Configurao se d o incio monitorao dos ambientes. 62
6.1.2 Painel de Anlise
Figura 13: Painel de Anlise. Fonte: Elaborado pelo Autor.
Para o painel de anlise que demonstrado na figura 13 foi utilizada a linguagem PHP para montagem dos grficos e apresentao dos resultados. O painel de anlise responsvel pela apresentao do relatrio construdo atravs do algoritmo da arquitetura e indicar: O tipo de servidor se hospedeiro ou hspede Total de recurso Total configurado de memria 63
Utilizado Total utilizado de memria Recurso Livre Total de memria livre Porcentagem de Recurso Utililizado total utilizado de memria para facilitar a interpretao. Porcentagem de Recurso Disponvel total de memria livre para facilitar a interpretao. Classificao pode ser os cinco nveis bsicos citados na seo 5.1.3 deste trabalho. Alertas sobre tendncia de futura saturao dos ambientes, normalidade ou aquisio de recursos. Grficos foram utilizados grficos com total de memria livre para facilitar a anlise dos histricos dos recursos, pois cada vez que se chega mais perto do zero tem-se a certeza de que os recursos esto se esgotando, sendo possvel indicar quais planejamentos so necessrios. 6.2 Implementao
Figura 14: Implementao da Arquitetura. Fonte: Elaborado pelo Autor. 64
A Figura 14 ilustra o ambiente adequado para a arquitetura de apoio. Servidor de monitorao da capacidade A camada de Centralizao pode ser instalada em uma estrutura fsica separada dos ambientes virtuais, constituindo assim um servidor de monitorao da capacidade. Refinamento de dados A camada de refinamento de dados pode ser instalada no Servidor de monitorao da capacidade, sendo acessado pelo cliente via HTTP. Agentes de monitorao A camada de Coleta pode ser instalada atravs do agente nmon tanto nos sistemas hospedeiros quanto nos hspedes para coleta dos dados sobre recursos e servios. Comunicao - A comunicao entre o servidor de monitorao e os agentes de monitorao feita pelo protocolo telnet e os arquivos gerados so transferidos via FTP. Infraestrutura distribuda Como pode ser observado, a arquitetura pode monitorar vrios ambientes diferentes (fsicos e virtuais) e inclusive cluster de computadores, em que as mquinas comunicam-se atravs de uma rede, ou seja, realiza o gerenciamento da capacidade de sistemas virtualizados ou fsicos dentro de uma infra-estrutura distribuda. 6.3 Metodologia e Configuraes para os Testes
Para validar a arquitetura de apoio gerncia de capacidade de ambientes virtualizados e testar as funcionalidades e o equilbrio na utilizao de recursos proporcionados pela ferramenta, utiliza-se um ambiente composto de um sistema hospedeiro e trs mquinas virtuais idnticas, que buscam simular um data center virtualizado. O ambiente composto por um servidor com processador intel core 2 duo e7500 2.9 GHz, 4 GB de memria e sistema operacional Linux Ubuntu Server 11.10 atuando como hospedeiro. Adotou-se o Virtualbox como ferramenta de virtualizao, onde esto instalados trs sistemas hspedes com o sistema operacional Ubuntu Server 11.10, com configuraes de memria variveis para 65
cada caso de teste. O Tempo de processamento est dividido igualmente entre o hospedeiro e os hspedes. Para realizar cargas gerando utilizao de memria simulando aplicaes hospedadas nos ambientes virtualizados, utiliza-se o Memtest86+ que uma ferramenta livre para testes de erro e stress de memria desenvolvido para arquitetura x86 (DEMEULEMEESTER, 2011). As configuraes de memria nos ambientes hspedes variam de acordo com o caso de teste, conforme pode ser verificado na tabela 4:
Hospedeiro Hspede1 Hspede2 Hspede3 Caso de Teste 1 Configurao 2GB 256MB 256MB 256MB Carga 120MB Caso de Teste 2 Configurao 2GB 256MB 256MB 256MB Carga 150MB 150MB Caso de Teste 3 Configurao 2GB 500MB 500MB 500MB Carga 90MB 300MB 90MB 90MB Caso de Teste 4 Configurao 2GB 500MB 500MB 500MB Carga 100MB nos primeiros 10 minutos, 250MB de 10 a 20 min e 400MB de 20 a 30 min
Caso de Teste 5 Configurao 2GB 600MB 600MB 600MB Carga 500MB 500MB 500MB Tabela 4: Configurao para os Testes. Fonte: Elaborado pelo Autor.
6.4 Resultados dos Testes 66
Na sequencia so apresentados os resultados dos testes, conforme as configuraes da tabela 4, alm das limitaes da ferramenta.
6.4.1 Caso de Teste 1 A figura 15 mostra como a ferramenta se comporta em um ambiente cujos recursos esto distribudos de forma emprica, onde, de acordo com monitorao e anlise histrica dos picos realizados pela ferramenta, o hspede 2 e 3 subutiliza seus recursos de memria enquanto o sistema hspede 1 est tende a atingir um nvel mensurvel de saturao, j que o software Memtest86+ aplica uma carga de 120MB, propositalmente. Como pode ser observado, a ferramenta sugere a reconfigurao dos recursos de memria dos ambientes hspedes de forma que os ambientes com classificao quase subutilizados tenham 50% do seu total de recursos livres, conseguindo assim atingir a classificao normal. Automaticamente o que restou da memria que foi reconfigurada vai para o sistema hospedeiro. Da mesma forma esta reconfigurao sugerida para que o sistema classificado como quase saturado atinja o estado de normalidade; neste caso, porm, o sistema hspede deve ter apenas 35 % do seu total de recursos livres e assim atingir o estado de normalidade.
67
Figura 15: Caso de teste 1 - antes. Fonte: Elaborado pelo Autor.
Na figura 16 pode-se acompanhar a realocao feita de acordo com a sugesto realizada pela ferramenta na figura 15. O hospede1 continua com consumo de 120Mb realizado pelo Memtest86+. Pode-se observar que para este teste todos os ambientes virtualizados alcanaram o estado de normalidade definido pela ferramenta. Pode ser verificado tambm que a distribuio dos recursos est mais equilibrada o que pode ser visualizado de forma masi fcil pelas porcentagens de recurso utilizado e disponvel. 68
Figura 16: Caso de teste 1 depois Fonte: Elaborado pelo Autor.
O grfico da figura 15 ilustra o consumo dos ambientes pelo perodo de coleta de 16 minutos. O ambiente hospedeiro representado pela linha vermelha; hspede1 pela verde; hspede2 e hspede3 pelas linhas roxa e azul respectivamente, que esto sobrepostas. 69
Figura 17: Grfico do Caso de teste 1 antes Fonte: Elaborado pelo Autor.
Analisando os dois grficos das figuras 17 e 18 percebe-se que a distribuio dos recursos est mais equilibrada comparativamente configurao anterior, e, graas a classificao quase em saturao dada pela ferramenta ao hospede1, pode-se realizar a realocao e consequentemente a reconfigurao dos recursos em tempo hbil para que o ambiente no atinja saturao e cause algum tipo de impacto ao negcio. min MB 70
Figura 18: Grfico do Caso de teste 1 depois Fonte: Elaborado pelo Autor.
6.4.2 Caso de Teste 2
Neste teste os sistemas hspede1 e hspede 2 esto recebendo 150 MB de carga do Memtest86+ a fim de atingirem nveis mensurveis de saturao, sendo que o objetivo do teste analisar o comportamento da ferramenta em um ambiente quem tem dois hspedes saturados. Desta vez os sistemas hspede1 e hspede2 atingiram a classificao de quase saturado enquanto o sistema hspede3 est subutilizado e pode ser reconfigurado em 123 MB liberando 120,6 MB dos 243,6 MB iniciais. Porm, apenas com os recursos excedentes do sistema hspede 3 (120,6 MB), os ambientes classificados como quase saturados no iriam atingir o estado de normalidade, pois os dois juntos necessitam de um total de 165,8 MB a mais de memria, alm dos 243,6 MB que cada um j tem configurado. MB min 71
Figura 19: Caso de teste 2 - antes Fonte: Elaborado pelo Autor.
Realizadas as configuraes de acordo com as sugestes da ferramenta mostrado na figura 19, todos os sistemas atingiram o estado de normalidade, porm pode ser verificado na figura 20, que como os recursos excedentes do sistema hspede3 no seriam suficientes para que os ambientes quase saturados ficassem com classificao normal foram utilizados tambm recursos de memria do sistema hospedeiro. 72
Com o teste pode-se constatar tambm, que no caso da necessidade de adio de mais um ambiente hspede, podemos ter certeza da quantidade de memria livre existente no ambiente fsico, sem fragmentao dos recursos, e conseguimos dessa forma, precisar antecipadamente se o ambinte suporta ou no a adio de mais ambientes.
Figura 20: Caso de teste 2 - depois Fonte: Elaborado pelo Autor.
73
6.4.3 Caso de Teste 3 Objetivo do teste simular um ambiente que tem os recursos de seu sistema hospedeiro saturados. Neste teste pode-se observar que os ambientes hspedes foram configurados com 500MB de memria, ou seja, quantidade de memria maior que nos testes anteriores. O hspede1 recebe carga de 300MB para que atinja a classificao quase saturado e os ambientes hspede2 e hspede3 de 90MB para serem classificados como Normal. O hospedeiro continua com a configurao de 2GB e agora recebe carga de 90MB do Memtest86+, alm das cargas dos hspedes para que atinja a classificao de saturado.
Figura 21: Caso de teste 3 antes Fonte: Elaborado pelo Autor. 74
Seguindo as recomendaes de reconfiguraes sugeridas pela ferramenta e observadas na figura 21, verifica-se na figura 22 que todos os ambientes hspedes atingem o nvel de classificao Normal e o sistema hospedeiro tem seu total de recurso de memria livre aumentada, saindo do nvel anterior de saturao para a classificao Quase Saturado. A ferramenta alerta a tendncia de o ambiente global ter uma futura saturao, porm existe tempo hbil para se realizar um clculo de prazo de quando o ambiente ir saturar. Este teste demonstra o objetivo da ferramenta de prover uma utilizao dos recursos mais equilibrada, pois de acordo com a anlise histrica, os ambientes que poderiam doar recursos excedentes doaram, e o sistema hospedeiro que estava com seus recursos de memria RAM saturados conseguiu mais memria e abaixou seu nvel de criticidade, o que pode ser facilmente analisado pela comparao dos grficos das figuras 23 e 24. Alm de prover o equilbrio e melhor utilizao dos recursos o teste demonstrou que a ferramenta prov apoio ao gerenciamento de capacidade, uma vez que alerta o usurio sobre o fato de o ambiente global apresentar uma tendncia ao esgotamento. Embora seja uma tendncia prevista, d gerncia oportunidade de ao antes do ambiente esgotar todos os seus recursos e realizar uma anlise de tempo, que pode ser respaldada pelos grficos fornecidos pela ferramenta. Com este teste pode-se perceber que gerenciamento de capacidade para ser efetivo em ambientes virtualizados tem que levar em conta inicialmente a fragmentao dos recursos. Sem realizar essa desfragmentao inicial no existe a possibilidade de se precisar se o ambiente est ou no tendendo a nveis de saturao.
75
Figura 22: Caso de teste 3 depois Fonte: Elaborado pelo Autor.
Figura 23: Grfico do Caso de teste 3 antes Fonte: Elaborado pelo Autor. MB min 76
Figura 24: Grfico do Caso de teste 3 depois Fonte: Elaborado pelo Autor.
6.4.4 Caso de Teste 4 O objetivo deste caso de teste foi demonstrar como a ferramenta, com o auxlio dos seus grficos de memria livre, pode apoiar o gerenciamento de capacidade. Para isso foi utilizado um nvel crescente de carga simulando um ambiente que teria um aumento de carga de trabalho pelo tempo, demonstrando assim os diferentes picos de utilizao. A figura 25 mostra o estado do painel de anlise para este teste. MB min 77
Figura 25: Caso de teste 4 antes Fonte: Elaborado pelo Autor.
Verifica-se na figura 26, que a ferramenta proporciona um grfico consolidado com todos os ambientes hspedes e hospedeiros; neste caso a linha vermelha representa o sistemas hospedeiro; a verde, o hspede1; a roxa, o hspede2 e a azul, o hspede3, como demonstra a figura. Tambm so fornecidos grficos separados de cada ambiente. 78
Figura 26: Grfico do Caso de teste 4 consolidado Fonte: Elaborado pelo Autor.
Realizando uma anlise, por meio do grfico da figura 27, para o planejamento da capacidade do hospedeiro, pode-se afirmar que seguindo a mesma tendncia de utilizao de recursos e realizando uma mdia dos picos de utilizao, o sistema ir se saturar em aproximadamente 80 minutos. MB min 79
Figura 27: Grfico do Caso de teste 4 hospedeiro Fonte: Elaborado pelo Autor.
Analisando o grfico da figura 28, para o planejamento da capacidade do hspede1, pode-se verificar que o sistema atingiu a saturao de sua memria e somente com a reconfigurao de 724 MB sugerida pela ferramenta ele retornaria ao estado de normalidade. Isso evidencia, portanto que o alerta principal o de quase saturao, pois ele que d gerncia oportunidade de ao antes do ambiente esgotar todos os seus recursos como ocorreu neste caso de teste. Ou seja, a idia que o analista no permita que o sistema atinja a classificao de saturado. MB min 80
Figura 28: Grfico do Caso de teste 4 hospede1 Fonte: Elaborado pelo Autor.
Os sistemas hspede2 e hspede3 no receberam cargas e ficaram subutilizados, como pode ser observado nas figuras 29 e 30. MB min 81
Figura 29: Grfico do Caso de teste 4 hospede2 Fonte: Elaborado pelo Autor.
Figura 30: Grfico do Caso de teste 4 hospede3 Fonte: Elaborado pelo Autor.
MB MB min min 82
6.4.5 Caso de Teste 5 Para este teste os sistemas hspedes foram configurados cada um com 600MB de memria consumindo um total de 1,8 GB do sistema hospedeiro. Os sistemas hspedes, por sua vez, esto recebendo uma carga de 500MB da ferramenta Memtest86+ cada um; ou seja, todos os ambientes esto com carga suficiente para satur-los quase que totalmente, conforme verificado na figura 31. Apesar de no ser o objetivo final da ferramenta, ela deve contemplar tambm o indicativo no caso de todos os ambientes estarem saturados e nenhum outro possuir recursos disponveis para reconfigurao. Neste caso, ser apresentado o alerta indicando que o recursos j no suportam sua carga de trabalho, nem mesmo realizando redistribuio de recursos, devendo-se adquirir mais recursos para que o ambiente e seus sistemas no causem impacto negativo aos negcios. 83
Figura 31: Caso de teste 5 saturado Fonte: Elaborado pelo Autor.
O grfico da figura 32 demonstra a saturao a que o ambiente foi exposto. Como os ambientes hspedes receberam as mesmas configuraes e cargas, as 84
linhas que representam o consumo de memria atravs do tempo esto sobrepostas.
Figura 32: Grfico do Caso de teste 5 saturado. Fonte: Elaborado pelo Autor.
6.5 Limitaes Tipos de nuvens e virtualizaes suportadas pela ferramenta: SaaS Software as a Service (Software como servio) PaaS Platform as a Service (Plataforma como servio Virtualizao do tipo II. Tambm foi identificado durante os testes que a ferramenta proposta, trabalhando em conjunto com o VirtualBox, tem maiores ganhos com configuraes acima de 300 MB de memria, j que os processos da VirtualBox ligados aos sistemas hspedes podem consumir mais memria RAM do hospedeiro do que o alocado para hspedes, se estes estiverem com configuraes abaixo do sugerido. Por exemplo, se um hspede aloca 200 MB RAM no hospedeiro, um MB min 85
processo da VirtualBox consume em torno de 300MB. Por este motivo, verifica-se que depois da realocao de recursos no se obtm ganho no recurso no hospedeiro, pelo fato de a memria configurada ser menor do que os 300MB mnimos que o S.O hospedeiro precisa para executar uma mquina virtual. Um hspede configurado com mais de 300MB de RAM, cria um processo VirtualBox no hospedeiro consumindo no primeiro momento algo em torno de 250MB de RAM, mas que ao aplicar uma carga adicional na memria RAM, pode- se consumir os 300MB configurados.
6.6 Consideraes
Alm de prover o equilbrio para a utilizao dos recursos, os testes demonstraram que a ferramenta prov apoio ao gerenciamento de capacidade, uma vez que alerta ao usurio que o ambiente global apresenta uma tendncia ao esgotamento ou normalidade, dando oportunidade de ao gerncia antes do ambiente esgotar todos os seus recursos e uma anlise de tempo respaldada pelos grficos fornecidos pela ferramenta. Estes casos de testes permitem conferir as funcionalidades da ferramenta, constatando que o gerenciamento de capacidade para ser efetivo em ambientes virtualizados deve levar em conta, inicialmente, a fragmentao dos recursos. Realizando a desfragmentao inicial, pode-se averiguar se o ambiente est tendendo ao esgotamento de seus recursos computacionais.
86
7 CONCLUSES
Elaborou-se uma arquitetura para apoiar o gerenciamento de ambientes virtualizados. Sua concepo apoiou-se em conceitos e padres formais de gerenciamento de capacidade do ITIL v3, que serviram como guia no processo de desenvolvimento das camadas e mdulos da arquitetura descritos no Captulo 5. Como evidenciado, a arquitetura criou indicadores para realocao de recursos entre os sistemas hspedes, buscando atribuir recursos a todas as mquinas conforme sua necessidade especfica pela redistribuio dos recursos subutilizados. A anlise do comportamento dos ambientes virtuais por meio de histograma de dados, coletados e armazenados, orienta a deciso entre atualizaes de configuraes de recursos ou solues de incremento de capacidade. Uma das premissas para a arquitetura foi deix-la flexvel quanto possibilidade de utilizao de diferentes tecnologias de virtualizao. A ferramenta prov utilizao eficiente dos recursos computacionais e, quando suficientes, atendem demanda de cada hspede, sem excesso ou escassez, respeitando a disponibilidade global do ambiente. A arquitetura proposta promove o equilbrio no suprimento das necessidades e otimiza a utilizao dos recursos. A ferramenta de apoio ao gerenciamento de capacidade atingiu seus objetivos, informando atravs de alertas ao usurio, se o ambiente global est tendendo ao esgotamento e indicando, por meio dos grficos disponibilizados, dados relevantes para as anlises necessrias de previso do tempo at o esgotamento. Os casos de testes realizados sugerem que o gerenciamento de capacidade para ser efetivo em ambientes virtualizados devem considerar inicialmente a fragmentao dos recursos. Sem desfragmentao, impossvel precisar se o ambiente est ou no tendendo a nveis de saturao e se o futuro planejamento de capacidade ser realmente efetivo. 7.1 Trabalhos Futuros
Atravs desse trabalho foi possvel identificar alguns pontos de explorao 87
para trabalhos futuros, como: Desenvolvimento dos mdulos de gerenciamento de capacidade de negcio e gerenciamento de capacidade de servio: a arquitetura proposta foi desenvolvida pensando no gerenciamento de capacidade de recursos. Contemplar outros tipos de recursos: alm de memria, realizar tambm o gerenciamento de capacidade de disco, CPU e I/O de rede. Computao em Nuvem: implementao da arquitetura em um ambiente de computao em nuvem. Modelo Probabilstico: o presente trabalho se utiliza de modelos determinsticos para dar apoio s anlises de tendncias do gerenciamento de capacidade. Integrao desse modelo de Gerenciamento de Capacidade com modelos tpicos de outras reas, como por exemplo Engenharia de Produo, para ampliar a previsibilidade daTecnologia da Informao. Adaptao do algoritmo para realocao dos recursos disponveis utilizando acordos de nveis de servio. Teste da ferramenta em ambiente de produo.
88
REFERNCIAS
BARUCHI, A. Memory dispatcher: Uma contribuio para a gerncia de recursos em ambientes virtualizados. 2010. 96 f. Dissertao (Mestrado) - Escola Politcnica, Universidade de So Paulo, So Paulo, 2010.
BENEVENUTO, F., TEIXEIRA, C., CALDAS, M., ALMEIDA, V., ALMEIDA, J., SANTOS, J. R.; JANAKIRAMAN, G. Performance models for applications on xen. In Proc. Of XHPC06, volume LNCS 4331, Sorrento, Itlia: Springer-Verlag, 2006.
CARMO, A.B. do. Uma arquitetura para gerenciar ambientes virtualizados baseada nos conceitos das reas funcionais de gerncia. Dissertao (Mestrado) Faculdade de Informtica da PUC do Rio Grande do Sul, Porto Alegre. PUCRS, 2006, 60 pg.
CALDAS, M. et al. VEPMon: Uma Ferramenta de Monitorao de Desempenho para Ambientes Virtuais. Simpsio Brasileiro de Redes de Computadores (SBRC), Rio de Janeiro, Brasil, Maio 2008.
DEMEULEMEESTER, S. About Memtest86+. 25 jan. 2011. Disponvel em: <http://www.memtest.org/>. Acesso em: 10 Dez 2011.
FINK, Jason; SHERER, Matt; WALL, Kurt. Linux Performance Tuning and Capacity Planning. 1.ed. Indianapolis: Sams, 2002. 334 p.
ISO - INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ABNT NBR ISO/IEC 20000-2 2008 - Tecnologia da informao Gerenciamento de Servios Parte 1: Especificao. Rio de Janeiro: ABNT NBR ISO/IEC, 2008. 23 p.
ISO - INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ABNT NBR ISO/IEC 20000-2 2008 - Tecnologia da informao Gerenciamento de Servios Parte 2: Cdigo de Prtica. Rio de Janeiro: ABNT NBR ISO/IEC, 2008. 40 p.
LAUREANO, M. Mquinas Virtuais e Emuladores. 1.ed. So Paulo: Editora Novatec Ltda, 2006. 30 p. 89
MENASCE, D. A.; DOWDY, L. W.; ALMEIDA, V. A. F. Performance by design: Computer capacity planning by example. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2004.
NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY. The NIST Definition of Cloud Computing. U.S. Department of Commerce. Gaithersburg, p. 7. 2011.
RODRIGUES, E. M. Realocao de recursos em ambientes virtualizados. 2009. 80 f. Dissertao (Mestrado) - Faculdade de Informtica, Pontifcia Universidade Catlica do Rio Grande do Sul, Porto Alegre, 2009.
ROSENBLUM, M. The reincarnation of virtual machines. Queue, ACM. New York- NY, USA. v. 2, n. 5, p. 34-40, 2004. ISSN 1542-7730.
ROSSI, F .D. Alocao dinmica de recursos no xen. 2008. 70 f. Dissertao (Mestrado) - Faculdade de Informtica, Pontifcia Universidade Catlica do Rio Grande do Sul, Porto Alegre, 2008.
OGC. OFFICE OF GOVERNMENT COMMERCE. An introduction to ITIL. London: TSO, 2008.
SOUZA, F .B. Uma Arquitetura de Monitorao de Desempenho de Ambientes Virtualizados. 2006. 70 f. Dissertao (Mestrado) Universidade Federal de Minas Gerais, Belo Horizonte, 2008.
SYSTAR (USA). OmniVision and Capacity Management. Vienna, 2007. 12 p.
WININGER, R. Capacity Management in VMWare Virtualized Infrastructures A Customers Experience - Nimsoft. San Francisco, USA. p. 01-13, 2009
90
REFERNCIAS CONSULTADAS
BARHAM, P. et al. Xen and the art of virtualization. In: 19th ACM SYMPOSIUM ON OPERATING SYSTENS PRINCIPLES, Outubro 2003, New York, USA. Proceedings... New York: ACM .2003. p.160-184.
BOBBA, J. et al. Performance pathologies in hardware transactional memory. In: ISCA 07: Proceedings of the 34th annual international symposium on Computer architecture. New York-NY, USA: ACM, 2007. p. 8191. ISBN 978-1- 59593-706-3.
GAMBI, A. et al. SLA Protection Models for Virtualized Data Centers. 2009. ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, Vancouver, Canada, Maio 2009.
HOBBS, C. A Practical Approach to WBEM/CIM Management. Boca Raton-FL, USA: CRC Press, Inc., 2004. ISBN 0849323061.
MIDORIKAWA, E.T. Gerncia de Memria Adaptativa no XEN. VI Workshop de Sistemas Operacionais. Bento Gonalves, RS, Julho 2009.
PADALA, P. Automated Management of Virtualized Data Centers. 2010. 191 f. Tese (Doctor Of Philosophy) - University Of Michigan, Michigan, 2010.
RED HAT, INC. Red Hat Enterprise Linux 4: Introduo Administrao de Sistemas. 2005. Disponvel em: http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa- pt_br-4/s1-resource-capacity.html. Acesso em: 04/10/2010.
STALLINGS, W. SNMP, SNMPV2, SNMPV3, and RMON 1 and 2. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1998. ISBN 0201485346.
TOLENTINO, M. E.; TURNER, J.; CAMERON, K. W. Memory-miser: a performance constrained runtime system for power-scalable clusters. In: CF 07: Proceedings of the 4 th international conference on Computing frontiers. New York, NY, USA: ACM, 2007. p. 237 246. ISBN 1595936837.
WINCK, A. T. Processo de KDD para auxilio reconfigurao de ambientes virtualizados. 2007. 78 f. Dissertao (Mestrado) - Pontifcia Universidade Catlica do Rio Grande do Sul, Porto Alegre, 2007.