UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA GESTÃO DA CONFIGURAÇÃO EM AMBIENTES VIRTUALIZADOS: UM ESTUDO APLICADO EM ORGANIZAÇÕES GOVERNAMENTAIS. FERNANDO PARENTE ANDRADE ORIENTADORA: ELIANE CARNEIRO SOARES MONOGRAFIA DE ESPECIALIZAÇÃO EM GESTÃO DE SEGURANÇA DA INFORMAÇÃO PUBLICAÇÃO: 12 /2012 BRASÍLIA / DF: DEZEMBRO/2012 ii UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA ELÉTRICA GESTÃO DA CONFIGURAÇÃO EM AMBIENTES VIRTUALIZADOS: UM ESTUDO APLICADO EM ORGANIZAÇÕES GOVERNAMENTAIS. FERNANDO PARENTE ANDRADE MONOGRAFIA DE ESPECIALIZAÇÃO EM GESTÃO DE SEGURANÇA DA INFORMAÇÃO SUBMETIDA AO DEPARTAMENTO DE ENGENHARIA ELÉTRICA DA FACULDADE DE TECNOLOGIA DA UNIVERSIDADE DE BRASÍLIA, COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ESPECIALISTA. APROVADA POR: ELIANE CARNEIRO SOARES, Mestre, SEDF (ORIENTADOR) LAERTE PEOTTA DE MELO, Doutor, UnB (EXAMINADOR INTERNO) EDNA DIAS CANEDO, Doutora, UNB (EXAMINADOR EXTERNO) DATA: BRASÍLIA/DF, 06 DE DEZEMBRO DE 2012. iii FICHA CATALOGRÁFICA ANDRADE, Fernando Parente. Gestão da Configuração em Ambientes Virtualizados: Um Estudo Aplicado em Organizações Governamentais. [Distrito Federal] 2012. XVII, 59 p., 297 mm (ENE/FT/UnB, Especialista, Engenharia Elétrica, 2012). Monografia de Especialização – Universidade de Brasília, Faculdade de Tecnologia. Departamento de Engenharia Elétrica. 1. Virtualização 2. Governança 3. Gestão 4. Entidades Governamentais I. ENE/FT/UnB. II. MFE.037 /2012 REFERÊNCIA BIBLIOGRÁFICA Andrade, Fernando Parente. (2012). Gestão da Configuração em Ambientes Virtualizados: Um Estudo Aplicado em Organizações Governamentais. Monografia de Especialização, Publicação UnBLabRedes.MFE.037 /2012, Departamento de Engenharia Elétrica, Universidade de Brasília, Brasília , DF, 59 p. CESSÃO DE DIREITOS NOME DO AUTOR: Fernando Parente Andrade TÍTULO DA MONOGRAFIA: Gestão da Configuração em Ambientes Virtualizados: Um Estudo Aplicado em Organizações Governamentais. GRAU/ANO: Especialista/2012. É concedida à Universidade de Brasília permissão para reproduzir cópias desta Monografia de Especialização e para emprestar ou vender tais cópias somente para propósitos acadêmicos e científicos. Do mesmo modo, a Universidade de Brasília tem permissão para divulgar este documento em biblioteca virtual, em formato que permita o acesso via redes de comunicação e a reprodução de cópias, desde que protegida a integridade do conteúdo dessas cópias e proibido o acesso a partes isoladas desse conteúdo. O autor reserva outros direitos de publicação e nenhuma parte deste documento pode ser reproduzida sem a autorização por escrito do autor. Fernando Parente Andrade Av. Central AE 19 lote A CEP 71710585 – Brasília – DF - Brasil v Dedico esse trabalho as pessoas que sempre estiveram junto a mim. Em especial a minha esposa Patrícia, que me deu forças para continuar quando não mais as havia, que está presente, que nunca duvidou do que existe entre nós, que me norteia, que me auxilia e que me dá o prazer de tê-la em minha vida. A minha filha Júlia, pois se não fosse ela, não estaria buscando novas formas de aperfeiçoamento acadêmico para poder-lhe sempre dar-lhe o que mereces. A minha mãe, meu refugio nos momentos difíceis, minha consciência quando me sinto perdido, minha amiga quando necessito, meu puxão de orelha para lembrar-me de onde vim. Dedico esse trabalho a vocês, pois sem vocês eu não seria quem hoje eu sou. vii AGRADECIMENTOS A minha orientadora Prof.ª Eliane Carneiro Soares, pelo apoio, paciência, incentivo, dedicação e conhecimento, que contribuiu muito para que esse trabalho fosse finalizado. Aos alunos companheiros do curso de Gestão em Segurança da Informação da UNB Departamento de Engenharia Elétrica, por vencermos juntos este processo. A Empresa Brasileira de Pesquisa Agropecuária – EMBRAPA, por acreditar que a pesquisa leva o país a evoluir, e que seus funcionários são os maiores talentos para isso, por seu apoio total, pelo custeio do curso. A todos, os meus sinceros agradecimentos. ix RESUMO O trabalho apresentado nesse estudo de caso visa discutir como gerenciar e melhorar a gestão da configuração em ambientes virtualizados, embasados na pesquisa de autores relativos aos temas virtualização, governança de TI e ferramentas de análise na organização. De modo a apresentar melhores práticas para gestão de configuração de ambientes virtualizados, com ênfase em entidades governamentais. A evolução tecnológica apresentada nos últimos anos, aliada ao aumento do poder computacional e novos temas de Ti, aliado ao fato de empresas governamentais serem de grande infraestrutura de TI vem por necessidade se implementar a virtualização. A gestão da configuração em ambientes virtualizados é um processo de administração e gerência de TI crítico e deve ser tratado com maior atenção. Implementar segurança e virtualização em conjunto com uma boa gerência de recursos é a chave para o sucesso do tema. O estudo aqui aplicado demonstra de forma teórica e pratica os pontos chaves, os benefícios, as preocupações das empresas e gestores, os pontos negativos e de atenção que devem ser levados em conta durante o processo de virtualização de servidores e desktops. Visualizaremos todos os quesitos técnicos do tema virtualização, seus modos de uso e aplicações, estudaremos a governança corporativa e a governança de TI, aplicaremos os estudos em um ambiente totalmente configurado a partir do início e aplicaremos todos os pilares de segurança e conformidade nesse ambiente, levando assim a conclusão inevitável, a virtualização veio para ficar e seu futuro só promete maior crescimento e integração com outros dispositivos. Palavras chave: Governança, virtualização, VMWare, Desktops. xi xii ABSTRACT The work presented in this case study is to discuss how to manage and improve configuration management in virtualized environments, based on the research of authors on topics of virtualization, IT governance and analysis tools in the organization. In order to present best practices for configuration management of virtualized environments, with emphasis on governmental entities. Technological developments made in recent years, coupled with increased computing power and new topics You, coupled with the fact companies are large government IT infrastructure comes from necessity to implement virtualization. The configuration management in virtualized environments is a process of administration and management of critical IT and should be treated more carefully. Implement security and virtualization together with good management of resources is the key to the success of the theme. The study applied here demonstrates the theoretical and practical key points, benefits, and concerns of business managers, and the negative points of attention that should be taken into account during the process of virtualizing servers and desktops. We view all the technical issues of the theme virtualization, its applications and usage modes we study corporate governance and IT governance, we will apply their studies in a fully configured environment from the beginning and apply all pillars of security and compliance in this environment, leading so the inevitable conclusion, virtualization is here to stay and their future only promises greater growth and integration with other devices. Keywords: Governance, virtualization, VMWare, desktops. xiii ÍNDICE 1. INTRODUÇÃO................................................................................ 1 1.1. OBJETIVOS .................................................................................................................... 2 1.1.1. Objetivo Geral ........................................................................................................ 2 1.1.2. Objetivos Específicos ............................................................................................. 3 1.2. JUSTIFICATIVA ............................................................................................................. 3 1.3. METODOLOGIA ............................................................................................................ 4 1.4. 2. ORGANIZACAO DO TRABALHO ..................................................................................... 5 REFERENCIAL TEÓRICO. .......................................................... 7 2.1. VIRTUALIZAÇÃO .......................................................................................................... 7 2.1.1. A virtualização para a arquitetura x86 ............................................................... 9 2.1.2. Conceitos de virtualização .................................................................................. 10 2.1.3. Máquinas virtuais ................................................................................................ 13 2.1.4. Virtual Machine Monitor (VMM) ...................................................................... 14 2.1.4.1. Propriedades do VMM ................................................................................. 15 2.1.4.2. Classificação das VMs .................................................................................. 17 2.1.4.3. Máquina virtual de aplicação ...................................................................... 18 2.1.4.4. VMs de linguagem de alto-nível .................................................................. 19 2.1.4.5. Máquina virtual de sistema ......................................................................... 20 2.1.5. Benefícios da Virtualização ................................................................................. 23 xv 2.2. GOVERNANÇA ............................................................................................................ 25 2.3. CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY.............. 26 2.3.1. Critérios de Informação do CobiT ..................................................................... 28 2.3.2. Modelo de Maturidade ........................................................................................ 32 2.3.3. A Estrutura do modelo CobiT ............................................................................ 34 2.4. PROCESSO DO COBIT DS9 - GERENCIAR A CONFIGURAÇÃO ............................ 35 2.4.1. Objetivos de Controle Detalhados ...................................................................... 36 2.5. O AMBIENTE VMWARE ............................................................................................ 37 2.5.1. VSphere ................................................................................................................ 38 2.5.2. VMWare View ..................................................................................................... 40 3. GESTÃO DA CONFIGURAÇÃO EM AMBIENTES VIRTUALIZADOS: UM ESTUDO APLICADO EM ORGANIZAÇÕES GOVERNAMENTAIS. .............................................................................. 42 4. RESULTADOS ESPERADOS ...................................................... 51 5. CONCLUSÃO ................................................................................ 56 REFERÊNCIAS BIBLIOGRÁFICAS ...................................................... 58 xvi xvii 1. INTRODUÇÃO Com o aumento da capacidade computacional, dos recursos das estações de trabalho, da capacidade de servidores e o mais recente tema a TI verde. A virtualização de servidores e estações vem para maximizar o uso de recursos, reduzir gastos, e aumentar a agilidade do manejo de recursos e configurações. O tema proposto por este trabalho abordará uma estrutura de virtualização utilizando uma nuvem privada com o uso de softwares da empresa VMWare e a utilização do Control Objectives for Information and related Technology (COBIT) mais precisamente do processo DS9 Gestão da Configuração. O ambiente do projeto estudado aborda uma empresa governamental, nesse estudo, o Ministério da Agricultura, Pecuária e Abastecimento (MAPA). Entidades governamentais como MAPA são peças importantes na configuração do país como gerenciador, normatizador e fiscal. O computador é uma das maiores ferramentas do mundo moderno, porém em larga escala como nas redes governamentais, o gerenciamento de segurança e recursos por muitas vezes se dá de forma incompleta, devido a diferentes modelos e ou fornecedores de equipamentos, de características de rede, de versões de sistemas operacionais, dentre outros. Alguns problemas relacionados à segurança da informação são encontrados atualmente em diversas organizações governamentais, tais como os citados. A virtualização de servidores com foco em segurança, utilizando as melhores práticas visa minimizar os impactos e a subutilização de recursos computacionais em ambientes governamentais. A grande questão circunda sobre do por que virtualização. De acordo com (Tulloch) a virtualização vem porque os tempos mudaram. Com a economia global em crise, a principal preocupação para muitas empresas é a sobrevivência, como manter as luzes acesas. E virtualização com seus ganhos potenciais de eficiência e capacidade de baixar custos, é vista por muitas empresas como uma estratégia-chave para permitir a sua sobrevivência futura no mercado. A sobrevivência não é sua única preocupação, no entanto. Com base em pesquisas realizadas pela Microsoft, algumas preocupações específicas das empresas neste momento da história incluem: 1 Como controlar as despesas de capital (CAPEX) e fazer despesas operacionais (OPEX) mais previsíveis; Como agregar valor ao negócio, oferecendo serviços mais rápidos ainda mais baratos; Como tornar seu negócio mais "verde", evitando maiores custos de energia; Como garantir a segurança, proteger a privacidade, e atender às normas de conformidade e padrões. Estas são algumas das principais preocupações que estão conduzindo as decisões de gastos das empresas de hoje, e a virtualização pode resolver cada uma dessas preocupações. Um estudo recente realizou uma pesquisa junto aos Chief Information Officers (CIOs) e indicou que mais de um terço dos inquiridos identificaram servidor, armazenamento e virtualização em nuvem como condutores de suas decisões de gastos para 2009 e 2010, e quase um quarto dos entrevistados também identificaram a virtualização de desktops como pontos semelhantes. O estudo indicou ainda que a virtualização influencia suas decisões de gastar, mais do que questões como a otimização de trabalho, de computação sem fio, computação verde, ou questões de segurança. No ambiente governamental também existem as mesmas preocupações. Como resultado dessas preocupações, as empresas mais do que nunca estão investigando como as plataformas de virtualização, produtos e soluções podem ajudá-los a resolver as suas preocupações. Em outras palavras, as empresas mais do que nunca estão se alinhando com o conceito de TI Dinâmica, uma estratégia para a implementação de infraestruturas de TI que podem automaticamente ajustar-se às mudanças nas condições dos cenários, alinhando recursos de computação com os objetivos de negócios. 1.1. OBJETIVOS 1.1.1. Objetivo Geral Oferecer um ambiente mais seguro por meio da gestão da configuração em ambientes virtualizados com foco em segurança e no uso de servidores virtuais em entidades governamentais. 2 1.1.2. Objetivos Específicos Implementar o uso de servidores virtuais para o estudo de caso com foco em gestão de configuração em comparação com o modelo tradicional de servidores através do uso de softwares especializados em virtualização. Aplicar os pilares da segurança nos servidores e estações virtualizados. Desenvolver a gestão da configuração em ambientes virtualizados orientada pelo processo DS9 (Gerenciar a Configuração) do COBIT. Analisar o uso dos servidores virtualizados nos quesitos de manutenção e disponibilidade. Demostrar a dinamicidade da virtualização ao usuário por meio dos processos de gestão de configuração. 1.2. JUSTIFICATIVA Com o passar dos anos estamos vivendo uma atualização tecnológica jamais vista em outros tempos. Nos últimos 50 anos o homem evoluiu como nunca antes na história da humanidade. Se voltarmos a 15 ou 20 anos atrás, os computadores ainda estavam engatinhando na sociedade ao qual vivemos. Porém nos últimos cinco anos essa ferramenta poderosa para o trabalho evoluiu muito e se difundiu de maneira assustadora. Basicamente tudo hoje em dia é controlado por algum tipo de computador, desde o seu aparelho de celular, até as centrais de energia nuclear que gerem todo o processo de energia elétrica oriundo desse material. Os computadores estão cada vez mais rápidos e mais utilizados em nossa vida. O aumento do poderio computacional e a diversidade de sistemas e aplicações exigem que medidas sejam tomadas para diminuir o uso de recursos para aquisição e manutenção de redes e sistemas de computadores. O governo aqui citado e representado pelo MAPA também tem como missão “Promover o desenvolvimento sustentável e a competitividade do agronegócio em 3 benefício da sociedade brasileira.” E para isso utiliza de uma extensa rede de computadores e diversos sistemas, para atingir sua missão para o cliente dele, nesse caso o Brasil como um todo. A virtualização vem para minimizar impactos e maximizar os resultados obtidos com sua aplicação. Hoje o governo tem que demonstrar e explicar o que está sendo gasto e como está sendo gasto. Na maioria das entidades de governo, ministérios por exemplo, existe algum tipo de virtualização de servidores ou desktops, seja de um ou de vários fornecedores diferentes. A virtualização é um caminho sem volta a tendência é de um crescimento cada vez maior em sua utilização. Esse estudo de caso visa abordar como gerir ambientes virtualizados para que se obtenha o melhor aproveitamento da infraestrutura existente. 1.3. METODOLOGIA A pesquisa abordará o uso de servidores virtuais e a gestão de configuração em uma nuvem privada, podendo então ser caracterizada como pesquisa aplicada, aonde objetiva gerar conhecimentos para aplicação prática dirigida à solução de problemas específicos. Envolvendo verdades e interesses locais. Como método escolhido foi o indutivo, método proposto pelos empiristas Bacon, Hobbes, Locke e Hume. Que considera que o conhecimento é fundamentado na experiência, não levando em conta princípios preestabelecidos. No raciocínio indutivo a generalização deriva de observações de casos da realidade concreta. As constatações particulares levam à elaboração de generalizações. Para isso será configurado o ambiente para a execução do estudo de caso que deverá estudar os servidores virtuais, a gestão de configuração, a segurança nos canais de rede e a disponibilização de servidores virtuais aos usuários. Essas configurações serão realizadas em paralelo a estrutura já existente para efeito comparativo e de análise. Serão analisados dados de ferramentas de gestão de configuração tais como Windows Server Update Services (WSUS), Microsoft System Center Configuration 4 Manager (SCCM), VMWare View (VDI) com os obtidos na implantação das ferramentas para o estudo de caso. Os dados colhidos por essas ferramentas serão analisados de forma textual para um bom entendimento de todo o processo e as melhorias por ele descritas. 1.4. ORGANIZACAO DO TRABALHO O presente trabalho foca em gestão da configuração em ambientes virtualizados em entidades governamentais e foi divido em capítulos para melhor apresentação do conteúdo. Neste primeiro capítulo foi feita uma introdução ao assunto a ser tratado, apresentando o contexto ao qual se insere o estudo de caso, as motivações do trabalho nesta área e os objetivos que este trabalho espera alcançar. O capítulo 2 tem por objetivo apresentar a evolução da virtualização e como foram inicialmente concebidas. Além disso, mostrar como a virtualização passou do contexto dos mainframes e acabou seguindo para a arquitetura x86. Apresenta também as máquinas virtuais, com suas classificações e tipos. Serão abordadas as técnicas de virtualização, passando pelos desafios que a arquitetura x86 apresenta para a virtualização, a virtualização clássica e demais técnicas. Neste capítulo serão apresentados também exemplos de máquinas virtuais. Discute ainda, o conceito e a classificação da virtualização de aplicação, apresentando também exemplos de soluções já existentes com suas características. Apresenta ainda em forma de tópicos os benefícios das empresas ao adotarem a virtualização. Introduz o conceito de governança e o que representa o alinhamento da TI com o negócio. Demostra como o Control Objectives for Information and related Technology (COBIT) é estruturado, mostrando seus domínios, processos, os critérios de informação e o modelo de maturidade. Mostra em específico o processo DS9 do COBIT, a gestão da configuração, descrevendo o que deve e como deve ser implementado e suportado na organização. Descreve os softwares utilizados neste trabalho e demostra a empresa e sua relevância no mercado. O capítulo 3 descreve o ambiente governamental escolhido, as opções por virtualização e a preparação do ambiente de estudo realizando as instalações dos softwares analisados. 5 O capítulo 4 descreve o que pretende ser alcançado e o que deve ser implementado para que os resultados possam ser atingidos de forma a alinhar a virtualização e a governança. O capítulo 5 conclui o trabalho, fazendo um comparativo com a introdução, demonstra a integração do processo escolhido com o tema proposto e mostra uma visão do que se espera do futuro com virtualização. 6 2. REFERENCIAL TEÓRICO. 2.1. VIRTUALIZAÇÃO Desde a criação dos computadores eletrônicos por Von Neumann na década de 40, até os dias atuais, os sistemas computacionais vêm sofrendo constante evolução. Até o início da década de 80, os computadores eram grandes e caros. Segundo a lei de Grosch, o poder computacional de uma CPU era proporcional ao quadrado de seu preço (EIN-DOR, 1985). Desta forma, as empresas tinham um elevado custo com enormes máquinas para terem seus requisitos computacionais atendidos. A partir da segunda metade da década de 80, o desenvolvimento de microprocessadores e avanços nas tecnologias de redes de computadores mudou esta situação e possibilitaram o surgimento de técnicas de compartilhamento de recursos das máquinas. A origem das máquinas virtuais remonta ao início dos anos 70. Nessa época, era comum que cada computador (mainframe), mesmo de um único fabricante, tivesse seu próprio sistema operacional, e isso se tornou uma das principais razões para o aparecimento das máquinas virtuais: permitir que software legado executasse nos caros mainframes. Na prática, o software não incluía apenas a aplicação, mas sim todo o ambiente operacional sobre o qual ele executava. Essa abordagem foi usada com sucesso pela IBM que, na linha de mainframes 370 e seus sucessores, oferecia uma máquina virtual, portada para várias de suas plataformas, sobre a qual as aplicações executavam. Dessa forma era possível executar, ou migrar, uma aplicação de uma plataforma para outra desde que houvesse uma versão de máquina virtual para a plataforma alvo. Uma máquina virtual nada mais é que uma camada de software que oferece um ambiente completo muito similar a uma máquina física. Com isso, cada máquina virtual pode ter seu próprio sistema operacional, bibliotecas e aplicativos. Hoje, computadores baseados na arquitetura x86 estão frentes ao mesmo problema do subaproveitamento de recursos que os mainframes encontraram naquela época. Várias empresas como VMWare e Microsoft a partir da década de 90 visualizaram essa oportunidade e entraram no mercado desta arquitetura. 7 O conceito de multiprogramação para spooling de aplicações pôde ser observado no começo da década de 60 com o projeto ATLAS. Este projeto foi um esforço entre a universidade de Manchester e a companhia Ferranti Ltda. De acordo com os projetistas, o ATLAS era formado por um supervisor de rotinas, que era ativado por interrupções ou por instruções nos programas em execução. Uma espécie de precursor da “máquina virtual” como conhecemos hoje foi utilizado para o supervisor e outra usada para executar os programas. Na metade da década de 60, o conceito de máquina virtual foi utilizado pela IBM como uma forma de dividir recursos dos mainframes através de máquinas virtuais separadas de forma lógica. Essas partições permitiam aos mainframes trabalharem de forma multitarefa, ou seja, executando múltiplas aplicações e processos ao mesmo tempo. O projeto M44/44X teve sua arquitetura baseada em máquinas virtuais, a máquina principal foi a IBM7044 (corresponde a M44 do nome do projeto) e as máquinas adjacente, uma cópia da principal, operando no mesmo espaço de memória do M44, implementado através de memória virtual e multiprogramação. Nesta época a IBM proveu um IBM 704, uma série de atualizações de hardware e acesso para alguns de seus engenheiros de sistema para o MIT (Massachusetts Institute of Technology). Sobre as máquinas da IBM foi que o MIT desenvolveu o CTSS (Compatible Time Sharing System), onde o programa supervisor agora tratava I/O dos consoles, agendamento das tarefas, armazenamento temporário e recuperação de programas durante o swap, monitoramento de discos e etc. O supervisor tinha controle total sobre todas as interrupções das máquinas virtuais em execução. Durante essa época a IBM trabalhava na montagem da família de computadores 360. O MIT no final de 1963 desenvolveria o projeto MAC baseado nos avanços em time sharing do CTSS, que mais tarde originaria o Multics. Multics (Multiplexed Information and Computing Service), que era um conceito muito adiante do seu tempo, foi o primeiro sistema operacional de tempo compartilhado. A última instalação operacional do Multics foi desligada apenas em 31 de outubro do ano de 2000. Neste projeto o MIT foi apoiado pela General Electrics usando o GE645 ao invés das máquinas da IBM. Sem levar em consideração essa “perda”, a IBM foi uma importante força no campo de pesquisa de virtualização. Um grande número de sistemas virtualizados foram inventados com base nas pesquisas executadas pela IBM. Tipicamente as máquinas virtuais da IBM eram cópias idênticas do hardware base. Um componente chamado Virtual 8 Machine Monitor (VMM), executava diretamente sobre o hardware real. Múltiplas máquinas virtuais podiam ser criadas através do VMM e cada uma dessas instâncias executava seu próprio sistema operacional. A herança hoje deixada pelas máquinas virtuais da IBM é muito respeitada e considerada plataformas robustas de computação (Singh, 2008). 2.1.1. A virtualização para a arquitetura x86 Durante a década de 80, a virtualização foi esquecida quando aplicações clienteservidor, os ainda inexpressivos servidores na arquitetura x86 e os computadores desktop, estabeleceram um novo modelo de computação distribuída (VMWare Inc, 2008). As empresas e organizações utilizaram o baixo custo dos sistemas distribuídos para montar suas infraestruturas ao invés de compartilhar os recursos utilizando dos modelos de mainframes. À medida que os computadores começaram a se tornar mais comuns, a quantidade de sistemas operacionais convergiu para algumas poucas famílias (Unix, Macintosh e Microsoft), cada uma com seu público-alvo e seu conjunto de aplicativos, consolidaram praticamente para todo o futuro o uso da arquitetura x86 em pequenas, médias empresas e nos lares em geral. O crescente uso dessa arquitetura introduziu novos desafios operacionais para a infraestrutura de TI, dentre eles: Subutilização da Infraestrutura: Servidores x86 tipicamente atingiam somente de 10 a 15% do total de sua capacidade, de acordo com o IDC (Internantional Data Corporation). Tipicamente as organizações executavam apenas uma aplicação por servidor, para evitar o risco de uma aplicação afetar a disponibilidade da outra. Alto custo no crescimento da infraestrutura: O custo para se aumentar a infraestrutura começava a aumentar rapidamente. O aumento implicava na estrutura física, resultando em consumo de energia, sistemas de refrigeração e etc. O custo era maior se levarmos em consideração que o nível de complexidade dos sistemas tornava-se cada vez mais necessitado de pessoas especializadas e experientes, elevando ainda mais o custo do gerenciamento de TI. Devido ao constante uso da arquitetura x86 como servidor, a virtualização foi novamente colocada como estratégica, e necessária para resolver problemas desta nova 9 infraestrutura. A partir daí, rapidamente técnicas de virtualização foram aprimoradas e desenvolvidas. 2.1.2. Conceitos de virtualização Sistemas de computadores são projetados com basicamente três componentes assim denominados: hardware, sistema operacional e aplicações, como mostra a Figura 1. Figura 1 – Principais componentes de um sistema computacional Fonte: Laureano (2006) Estes sistemas são projetados em interfaces bem definidas que criam diferentes níveis (SMITH & NAIR, 2005) permitindo que diferentes equipes desenvolvam ao mesmo tempo software e hardware. O conjunto de instruções da arquitetura Instruction Set Architecture (ISA) simplifica os detalhes de implementação de baixo nível e reduz a complexidade do processo de criação. Programadores podem criar seus programas sem conhecer a organização física e lógica do hardware. Por exemplo, Intel e AMD programaram seus processadores sobre o conjunto de instruções Intel IA-32 (x86), enquanto os desenvolvedores da Microsoft desenvolveram o sistema operacional sobre esta especificação ISA, sendo, portanto compatível com ambos os processadores. Um exemplo típico dessa estrutura em níveis, separados por interfaces bem definidas, são os subsistemas de rede e de disco em um sistema operacional convencional. No subsistema de arquivos, cada nível abstrai um problema, como por exemplo, escalonamento de acesso ao disco e gerencia de buffers e cache, como mostra a Figura 2: 10 Figura 2 - Níveis de um subsistema de disco. Fonte: Laureano (2006) As interfaces existentes entre os diferentes componentes de um sistema computacional são: Conjunto de instruções (ISA – Instruction Set Architecture): é a interface básica entre o hardware e o software, sendo constituída pelas instruções em código de máquina aceitas pelo processador e todas as operações de acesso aos recursos do hardware (acesso físico à memória, às portas de I/O, etc.). Essa interface é subdividida em duas partes: o Instruções de usuário (User ISA): compreende as instruções do processador e demais itens de hardware acessíveis aos programas do usuário, que executam com o processador operando em modo não privilegiado; o Instruções de sistema (System ISA): compreende as instruções do processador e demais itens de hardware, unicamente acessíveis ao núcleo do sistema operacional, que executa em modo privilegiado; Chamadas de sistema (syscalls): é o conjunto de operações oferecidas pelo núcleo do sistema operacional aos processos dos usuários. Essas chamadas permitem um acesso controlado das aplicações aos dispositivos periféricos, à memória e às instruções privilegiadas do processador. 11 Chamadas de bibliotecas (libcalls): bibliotecas oferecem um grande número de funções para simplificar a construção de programas, além disso, muitas chamadas de biblioteca encapsulam chamadas do sistema operacional, para tornar seu uso mais simples. Cada biblioteca possui uma interface própria, denominada Interface de Programação de Aplicações (API – Application Programming Interface). Exemplos típicos de bibliotecas são a LibC do UNIX (que oferece funções como fopen e printf), a GTK+ (Gimp ToolKit, que permite a construção de interfaces gráficas) e a SDL (Simple DirectMedia Layer, para a manipulação de áudio e vídeo). A Figura 3 apresenta uma visão conceitual da arquitetura de um sistema computacional: Figura 3 - Componentes e interfaces de um sistema computacional Fonte: Laureano (2006) Infelizmente, estas interfaces bem definidas também têm suas limitações. Subsistemas e componentes projetados para uma interface, não irão trabalhar com outra. Aplicações são distribuídas e compiladas respeitando o conjunto de instruções do processador em modo usuário (User ISA) e o conjunto de chamadas de sistemas oferecido pelo sistema operacional (syscalls), tendo a visão conjunta dessas duas interfaces (User ISA + syscalls) denominada de Interface Binária de Aplicação (ABI - Application Binary Interface). Da mesma maneira, um sistema operacional só pode ser executado respeitando a interface ISA (User/System) do hardware para o qual foi projetado. A figura 4 mostra as interfaces ISA e ABI (SMITH & NAIR, 2005): 12 Figura 4 - Interfaces ISA e ABI Fonte: Smith & Nair (2005) A definição de interfaces, mesmo que útil, por facilitar o desenvolvimento, torna pouco flexível as interações entre eles. Um sistema operacional só funciona sobre o hardware (ISA) a qual foi projetado e uma biblioteca só trabalha sobre a ABI estabelecida. Virtualização provê um caminho para resolução desses problemas. Virtualizar um sistema ou componente do mesmo, como um processador, memória ou dispositivo de I/O, pode mapear as interfaces e os recursos de um sistema para outro. Diferente da abstração, a virtualização não ajuda necessariamente a simplificar ou esconder detalhes de implementação. A abstração provê uma interface simplificada para atingir os recursos, como um disco de armazenamento, por exemplo. A virtualização provê uma interface diferente ou diferentes recursos no mesmo nível de abstração, proporcionando uma camada de compatibilidade entre a aplicação (ou sistema operacional inteiro) e o hardware ou subsistema hospedeiro. 2.1.3. Máquinas virtuais O conceito de máquina virtual ou simplesmente VM (sigla em inglês para virtual machine), foi concebido pela IBM na tentativa de compartilhar tempo e recursos dos caros 13 mainframes da época (Rose, 2004). Na década de 60 e 70, a máquina virtual era definida como uma cópia perfeita e isolada de uma máquina. O termo virtual foi descrito na década de 1960 como uma abstração de software para um sistema físico (máquina virtual) (Laureano, 2006). As interfaces padronizadas entre os componentes do sistema computacional permitem o desenvolvimento facilitado, mas também apresentam problemas de interoperabilidade, por exemplo, não é possível executar um programa compilado para um processador ARM num processador Intel, as instruções entre os dois processadores são diferentes, da mesma forma uma aplicação Windows não executará no Linux. Para superar este problema é possível criar um ambiente virtual (camada de virtualização) construída em software. Este software será responsável por oferecer os serviços de uma determinada interface de uma forma com que seja compreendido pelo componente subsequente. Usando serviços oferecidos por uma determinada interface de sistema, a camada de virtualização constrói outra interface de mesmo nível, de acordo com as necessidades dos componentes de sistema que farão uso dela. A nova interface do sistema vista através dessa camada de virtualização é denominada máquina virtual Um ambiente virtualizado por uma máquina virtual pode ser dividido em três partes básicas: o sistema real, nativo ou hospedeiro (host system) onde existem os recursos reais de hardware e software do sistema; o sistema virtual, que é executado sobre o sistema computacional virtualizado, sendo que vários sistemas virtualizados podem coexistir, estando em execução simultânea no mesmo sistema real; e a camada de virtualização, denominada hypervisor ou monitor de máquina virtual (VMM – Virtual machine monitor), que é responsável por criar a compatibilidade entre as interfaces. 2.1.4. Virtual Machine Monitor (VMM) O VMM é o componente de software que hospeda o sistema convidado. De fato, o VMM é conhecido com o hospedeiro (host) e as máquinas virtualizadas como convidados (guest). O VMM é uma camada de software que abstrai a camada física de recursos para ser usada pelas máquinas virtualizadas (XenSource, 2007). O VMM provê um “processador virtual” e outras versões virtualizadas dos dispositivos do sistema como dispositivos de I/O, armazenamento, memória e etc. O VMM ainda proporciona um 14 isolamento entre a máquina virtual e seu hospedeiro, como mostra a Figura 5, para que falhas não venham a afetar uma a outra. Figura 5 - VMM ou hypervisor: camada de virtualização Fonte: Adams & Agesen (2006) 2.1.4.1. Propriedades do VMM Para atender de forma eficiente o sistema hóspede, um hypervisor precisa atender a alguns requisitos básicos, que são: prover um ambiente de execução idêntico a uma máquina real no ponto de vista lógico, e ter controle completo sobre os recursos do sistema real (host). Para isso necessita ter ao menos esses recursos: Equivalência: prover um ambiente de execução idêntico ao da máquina real original. Todo programa executando em uma máquina virtual deve se comportar da mesma forma que o faria em uma máquina real; Controle de recursos: possuir o controle completo dos recursos da máquina real: nenhum programa executando na máquina virtual deve ter acesso a recursos que não tenham sido explicitamente alocados a ele pelo hypervisor, 15 que deve intermediar todos os acessos. Além disso, a qualquer instante o hypervisor pode resgatar recursos alocados. Eficiência: grande parte das instruções do processador virtual (provido pelo hypervisor) deve ser executada diretamente pelo processador da máquina real. As instruções da máquina virtual que não puderem ser executadas pelo processador real devem ser interpretadas pelo hypervisor e traduzidas em ações equivalentes no processador real, caso contrário, devem ser executadas diretamente no hardware. Isolamento: garantir que um software em execução em uma máquina virtual não possa ter influencia ou modificar outro software em execução no hypervisor ou em outra máquina virtual. Garante que erros de software ou aplicações maliciosas possam ser contidos. Inspeção: o hypervisor tem acesso e controle sobre todas as informações do estado interno da máquina virtual, como registradores do processador, conteúdo de memória, eventos etc. Gerenciabilidade: como cada máquina virtual é uma entidade independente das demais, o hypervisor deve ter mecanismos para gerenciar o uso dos recursos existentes entre os sistemas convidados. Encapsulamento: como o hypervisor tem acesso e controle sobre o estado interno de cada máquina virtual em execução, ele pode salvar checkpoints de uma máquina virtual, periodicamente ou em situações especiais (por exemplo, antes de uma atualização de sistema operacional). Esses checkpoints são úteis para retornar a máquina virtual a estados anteriores (rollback), para análises post-mortem em caso de falhas, ou para permitir a migração da máquina virtual entre hypervisors executando em computadores distintos. Recursividade: deve ser possível executar um hypervisor dentro de uma máquina virtual, produzindo um novo nível de máquinas virtuais, mostrado na Figura 6. Neste caso, a máquina real é normalmente denominada máquina de nível 0. 16 Figura 6 - Níveis de virtualização Fonte: Laureano (2006) 2.1.4.2. Classificação das VMs De acordo com Smith &Nair (2005) as máquinas virtuais podem ser divididas em duas grandes famílias. Máquinas virtuais de aplicação (Process Virtual Machines): ambientes de máquinas virtuais destinados a suportar apenas processos ou aplicações convidadas específicas. A máquina virtual Java é um exemplo desse tipo de ambiente. Máquinas virtuais de sistema (System Virtual Machines): ambientes de máquinas virtuais construídos para suportar sistemas operacionais convidados completos, com aplicações convidadas executando sobre eles. Exemplos: VMWare, VirtualBox, VirtualPC, HyperV, RHEV, entre outros. A Figura 7 mostra estes dois tipos de ambientes: 17 Figura 7 - Máquinas virtuais de aplicação (A) e de sistema (B) Fonte: Smith &Nair (2005) 2.1.4.3. Máquina virtual de aplicação Máquina virtual de aplicação ou de processo (Process Virtual Machine) proveem um ABI ou API (Application Binary Interface e Application Programming Interface, respectivamente) para aplicações usuário. Em suas várias implementações, uma VM de aplicação oferece replicação, emulação e otimização (SMITH & NAIR, 2005). A VM de aplicação mais comum é tão ambígua que pouco é lembrada como uma VM. Muitos sistemas operacionais podem executar diversas aplicações e processos ao mesmo tempo através da multiprogramação, que dá a ilusão ao processo de ter uma máquina completa para ele: cada processo tem seu próprio espaço de endereço, registradores, nível de isolamento e estrutura de arquivos. O sistema operacional gerencia e compartilha o tempo de uso dos recursos do hardware. De fato o sistema operacional provê em certo nível uma VM de aplicação para cada um dos processos executando simultaneamente. 18 2.1.4.4. VMs de linguagem de alto-nível Para VMs de processo, portabilidade de plataforma é um objetivo claro. Entretanto, emular uma arquitetura convencional em outra exige um estudo caso-a-caso e um esforço de programação. Uma portabilidade completa de plataforma é mais prontamente atingida projetando uma VM como parte do ambiente de desenvolvimento de uma aplicação de linguagem de alto-nível (HLL – High level Language). A VM HLL resultante não corresponde a uma plataforma real, ao contrário, é projetada para prover portabilidade. A Figura 8 mostra a diferença entre uma compilação numa plataforma convencional e um ambiente de VM HLL: Figura 8 - VM de linguagem de alto-nível Fonte: Smith &Nair (2005) Num sistema convencional (A), um compilador front-end primeiramente gera um código intermediário que é similar ao código de máquina. Então um gerador de código back-end usa esse código intermediário para gerar um binário contendo códigos de máquina para uma específica ISA e sistema operacional. Este arquivo binário é distribuído e executado somente sobre a plataforma que possui a combinação ISA/OS correta. 19 Em um ambiente VM HLL (B), um compilador front-end gera um código de máquina abstrato em uma ISA virtual especificada pela interface da VM. Este código virtual, junto com um metadado associado contendo informações sobre ele, é distribuído para ser executado em diferentes plataformas. Cada plataforma host implementa uma VM capaz de carregar e executar a ISA virtual e um conjunto de rotinas especificada por uma API padronizada. VM HLL mais sofisticadas recompilam o código virtual para máquina host para ser executado diretamente sobre a plataforma. Uma vantagem da VM HLL é que a aplicação de software pode ser facilmente portada para outra plataforma, uma vez que a VM e bibliotecas são implementadas para várias plataformas. A arquitetura Sun Microsystems Java VM e a Microsoft .Net Framework, são exemplos de VM HLL largamente utilizadas em todo mundo. 2.1.4.5. Máquina virtual de sistema Uma VM de sistema provê um completo ambiente em que um sistema operacional e muitos processos possivelmente pertencentes a múltiplos usuários podem coexistir (SMITH & NAIR, 2005). Usando uma VM de sistema, um único hardware host pode suportar múltiplos, isolados e protegidos sistemas operacionais simultaneamente. A VM de sistema emergiu durante a década de 60 e inicio da década de 70, e foi a origem do termo virtual. Em uma VM de sistema, o hypervisor (VMM) primariamente provê a replicação de plataforma. O ponto central é a divisão de um conjunto de recursos de hardware entre múltiplos ambientes convidados cada um com seu sistema operacional. O guest (sistema operacional convidado) e suas aplicações são gerenciados de forma oculta pelo hypervisor. Quando um SO guest realiza uma instrução privilegiada ou operação que diretamente interage com o hardware compartilhado, o hypervisor intercepta a operação, checa por concorrência, e então realiza a operação requisitada pelo guest, sendo que ele (guest) não sabe deste processo. As VMs de sistema podem ser divididas em dois tipos: Modelo clássico: (ou nativo) Da perspectiva do usuário, as VMs de sistema provêm essencialmente a mesma funcionalidade, mas difere em seus detalhes de implementação. A abordagem clássica coloca o hypervisor 20 diretamente sobre o hardware e a VM no topo dessa estrutura, sendo que o hypervisor é executado no modo mais privilegiado, enquanto todos os outros sistemas têm privilégios mais reduzidos. Modo hospedado: Uma implementação alternativa coloca o sistema virtualizado sobre o topo de um sistema operacional hospedeiro (este passa a ser o host), passando então para uma VM hospedada. Uma vantagem desse modelo é que a VM é instalada como uma aplicação típica. O software virtualizado pode ainda utilizar recursos do sistema operacional host desde que este compartilhe tais recursos. A Figura 9 ilustra esses dois modelos de virtualização: Figura 9 - VMs de sistema: (a) modelo clássico (ou nativo), (b) modelo hospedado Fonte: Laureano (2006) Estes dois tipos de VM de sistema, são raramente utilizados em sua forma conceitual em implementações reais (Laureano, 2006). Na prática abordagens híbridas, são inseridas nas arquiteturas para aperfeiçoar e aumentar o desempenho do sistema, principalmente em relação às operações que envolvem dispositivos de I/O. No modelo clássico (ou nativo) de VMs de sistema, o sistema convidado (guest) pode acessar diretamente o hardware. Essa forma de acesso é implementada no núcleo do hypervisor. Essa otimização ocorre, por exemplo, no subsistema de gerência de memória do Xen, como mostra a Figura 10. 21 Figura 10 - Abordagem híbrida do modelo clássico da VM de sistema: o sistema guest pode acessar diretamente o hardware Fonte: Laureano (2006) No modelo hospedado de VM de sistema Figura 11, as otimizações podem ser: Figura 11 - Otimizações no modelo hospedado de VM de sistema Fonte: Laureano (2006) Onde o sistema convidado (1) acessa diretamente o sistema hospedeiro. Essa otimização é implementada no hypervisor, oferecendo partes da API do sistema hospedeiro ao sistema convidado, exemplo: VMWare pode utilizar o sistema de arquivos direto do hospedeiro, ao invés de virtualizar o sistema de arquivos. O Sistema convidado (2) acessa diretamente o hardware. Essa otimização deve ser implementada no hypervisor e parcialmente pelo sistema hospedeiro, devido ao fato de 22 poder usar algum driver específico, um exemplo é o acesso direto ao drive de CD implementado pelo VirtualPC e outros. O monitor (3) acessa diretamente o hardware. Neste caso, um driver específico é instalado no sistema hospede para que o hypervisor possa ter acesso ao hardware. 2.1.5. Benefícios da Virtualização Há vários benefícios na implementação da virtualização na TI da empresa. Entre eles: Redução de custos - consolidando várias instâncias de servidores (virtualizados) em um servidor físico, as empresas reduzem seus gastos com hardware. Além de reduzir gastos de capital, os ambientes virtualizados permitem que as empresas economizem em manutenção e energia, geralmente resultando na redução do custo total de propriedade (TCO). Automação - a tecnologia permite que alguns ambientes virtualizados sejam fornecidos conforme a necessidade e dinamicamente, facilitando, assim, a automação de processos de negócios e eliminando a necessidade de continuamente prover recursos e gerenciar partes do ambiente técnico que oferecem suporte a necessidades comerciais esporádicas. Algumas tecnologias de virtualização facilitam a alocação automática de um processo para seu desempenho ideal em um conjunto de ambientes virtualizados. Rapidez de resposta - como o ambiente virtual tem a capacidade de provisionar a si mesmo para obter o melhor dos recursos disponíveis, os tempos de resposta são mais rápidos e os tempos de inatividade podem ser reduzidos a quase zero, melhorando a agilidade e o desempenho. Dissociação - processos que antes precisavam estar em uma mesma máquina física agora podem ser facilmente separados, embora ainda preservando a solidez e a segurança necessárias. Os diferentes universos virtualizados (rede, sistema operacional [SO], banco de dados, aplicativos, etc.) podem ser dissociados (até distribuídos em localizações geográficas distintas) sem ameaçar a integridade do processo. 23 Flexibilidade - a criação ou a preparação relativamente fácil do ambiente adequado para o aplicativo correto permite que as empresas ofereçam flexibilidade à infraestrutura, não apenas nas fases de teste ou pré-produção, mas também na área de produção. Quando surge um novo procedimento ou requisito técnico/comercial, a capacidade da virtualização de permitir uma criação rápida do ambiente possibilita às empresas testar o ambiente sem ter que esperar que o processo de fornecimento regular seja executado e fornecido. Agilidade - a agilidade facilita a adaptação rápida às necessidades do negócio, por exemplo, quando ocorre um pico de pedidos e se faz necessária potência em computação. Uma empresa pode até mesmo optar por comprometer em excesso os recursos de uma máquina física, uma vez que a virtualização facilita a movimentação rápida dos diversos recursos “que habitam” em uma máquina física para outras máquinas virtuais. Dessa forma, a virtualização oferece suporte de alinhamento às necessidades do negócio. Balanceamento de carga de trabalho - a implantação de vários ambientes virtuais garante as práticas recomendadas de alta disponibilidade, redundância e failover, pois cargas de trabalho podem seguir para onde são mais eficientes. Assim, a virtualização se concentra não apenas na eficácia (fazendo as coisas corretamente), mas também na eficiência (fazendo as coisas de maneira mais rápida, mais barata e mais confiável). Simplificação - a TI virtual é ainda TI, portanto, algumas das dificuldades típicas de TI estão presentes mesmo em um ambiente virtual. No entanto, reduzir o número de servidores físicos reduz significativamente a probabilidade de falha e os custos de gerenciamento e resultados em simplificação, uma das promessas da virtualização. Utilização de espaço - a consolidação de servidor economiza espaço na central de dados e facilita a escalabilidade, pois há vários servidores em um servidor. Sustentabilidade - ambientes virtualizados usam menos recursos ambientais. É comum o desperdício no consumo de energia nas centrais de dados em máquinas que não são aproveitadas de maneira consistente. Como a virtualização permite que 24 várias máquinas virtuais sejam executadas em uma máquina física, é necessário menos energia para ligar e resfriar dispositivos. A Figura 12 mostra os cinco principais motivos para virtualizar. Figura 12 - Os benefícios da virtualização para o negócio. Fonte: VMWare (2010) 2.2. GOVERNANÇA Governança corporativa é o conjunto de responsabilidades e práticas exercidas pela administração da empresa, com o objetivo de fornecer orientação estratégica, garantindo que os objetivos sejam alcançados, verificando que os riscos são geridos adequadamente e ainda que os recursos da empresa são utilizados de forma responsável. (CHALARIS, LEMOS & CHALARIS). Em nível simplificado, a governança de TI corporativa pode ser definida como o processo que garante que a TI se alinhe com a estratégia de negócios e promova com eficácia os objetivos organizacionais. Assim como a impacta o cenário geral de tecnologia, seu uso crescente também impacta a governança de TI corporativa de várias áreas críticas. Esse impacto pode ser melhor compreendido considerando-se as várias características de virtualização e seus impactos potenciais positivos ou negativos. Um objetivo comum de esforços para administrar a TI de uma empresa é garantir que a TI possa oferecer, rápida e flexivelmente, soluções tecnológicas que deem suporte à realização de metas comerciais gerais da empresa. A virtualização auxilia nessa área, pois a virtualização pode levar a um ritmo de construção e implantação mais rápido por meio do uso de ferramentas e tecnologias que eliminam a necessidade de montagem física de computador quando novos sistemas são provisionados. O controle de custos também é um 25 foco central da governança de TI, e a virtualização também pode ser fornecida nessa área, reduzindo os custos de hardware, energia e instalação da empresa. Outra meta comum da governança de TI é garantir a continuidade de negócios através de soluções tecnológicas robustas que podem tratar e se adaptar a cenários de maior carga e desastres. A virtualização permite recursos significativos nessas áreas, oferecendo à organização de TI opções anteriormente indisponíveis para dimensionar a carga flexivelmente e mudar e alinhar dinamicamente os recursos para responder à continuidade dos negócios e a eventos de desastre. No lado negativo, mais virtualização apresenta alguns riscos às metas de governança de TI. Um dos principais riscos está relacionado aos conjuntos de habilidades e experiência organizacionais disponíveis para dar suporte ao uso da virtualização de servidor em ambientes de missão crítica. Embora a virtualização tenha se tornado bastante comum, ela ainda é uma tecnologia relativamente nova e as organizações podem ter dificuldade em garantir os trabalhadores experientes necessários para assegurar que a TI seja capaz de cumprir suas metas. Um risco relacionado está associado às funções e responsabilidades envolvidas no gerenciamento de uma infraestrutura virtualizada. Tradicionalmente, a tecnologia tem sido gerenciada por TI em várias áreas funcionais e técnicas, como armazenamento, rede, segurança e computadores/servidores. Com a virtualização, essas linhas ficam significativamente indistintas, assim, empresas que adotam a virtualização precisam amadurecer seus modelos de suporte para obter todos os benefícios que a virtualização pode oferecer. 2.3. CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY O Control Objectives for Information and related Technology (CobiT®) fornece boas práticas através de um modelo de domínios e processos e apresenta atividades em uma estrutura lógica e gerenciável. As boas práticas do CobiT representam o consenso de especialistas. Elas são fortemente focadas mais nos controles e menos na execução. Essas práticas irão ajudar a otimizar os investimentos em TI, assegurar a entrega dos serviços e prover métricas para julgar quando as coisas saem erradas. 26 O foco do CobiT é ilustrado por um modelo de processos de TI subdivididos em quatro domínios e 34 processos em linha com as áreas responsáveis por planejar, construir, executar e monitorar, provendo assim uma visão total da área de TI. Conceitos de arquitetura corporativa ajudam a identificar os recursos essenciais para o sucesso dos processos, ou seja, aplicativos, informações, infraestrutura e pessoas. O CobiT é focado no que é necessário para atingir um adequado controle e gerenciamento de TI e está posicionado em elevado nível. O CobiT foi alinhado e harmonizado com outros padrões e boas práticas de TI mais detalhados. O CobiT atua como um integrador desses diferentes materiais de orientação, resumindo os principais objetivos sob uma metodologia que também está relacionada aos requisitos de governança e de negócios. Todos os componentes do CobiT são inter-relacionados, proporcionando o suporte para as necessidades de governança, gerenciamento, controle e avaliação de diferentes audiências, conforme demonstrado na Figura 13. O CobiT habilita o desenvolvimento de políticas claras e boas práticas para controles de TI em toda a empresa. A orientação para negócios é o principal tema do CobiT, o qual foi desenvolvido não somente para ser utilizado por provedores de serviços, usuários e auditores, mas também, e mais importante, para fornecer um guia abrangente para os executivos e donos de processos de negócios. Figura 13 - Inter-relacionamento dos componentes CobiT Fonte - CobiT 4.1 (2007) 27 O modelo CobiT é baseado nos seguintes princípios como mostra a Figura 14. Prover a informação de que a organização precisa para atingir os seus objetivos, as necessidades para investir, gerenciar e controlar os recursos de TI usando um conjunto estruturado de processos para prover os serviços que disponibilizam as informações necessárias para a organização. O gerenciamento e o controle da informação estão presentes em toda a metodologia CobiT e ajudam a assegurar o alinhamento com os requisitos de negócios. Figura 14 - Princípios Básicos do CobiT Fonte - CobiT 4.1 (2007) 2.3.1. Critérios de Informação do CobiT Para atender aos objetivos de negócios, as informações precisam se adequar a certos critérios de controles, aos quais o CobiT denomina necessidades de informação da empresa. Baseado em abrangentes requisitos de qualidade, guarda e segurança, sete critérios de informação distintos e sobrepostos são definidos, como segue: 28 Efetividade lida com a informação relevante e pertinente para o processo de negócio bem como a mesma sendo entregue em tempo, de maneira correta, consistente e utilizável. Eficiência relaciona-se com a entrega da informação através do melhor (mais produtivo e econômico) uso dos recursos. Confidencialidade está relacionada com a proteção de informações confidenciais para evitar a divulgação indevida. Integridade relaciona-se com a fidedignidade e totalidade da informação bem como sua validade de acordo os valores de negócios e expectativas. Disponibilidade relaciona-se com a disponibilidade da informação quando exigida pelo processo de negócio hoje e no futuro. Também está ligada à salvaguarda dos recursos necessários e capacidades associadas. Conformidade lida com a aderência a leis, regulamentos e obrigações contratuais aos quais os processos de negócios estão sujeitos, isto é, critérios de negócios impostos externamente e políticas internas. Confiabilidade relaciona-se com a entrega da informação apropriada para os executivos para administrar a entidade e exercer suas responsabilidades fiduciárias e de governança. O modelo CobiT fornece um modelo de processo de referência e uma linguagem comum para que todos na organização possam visualizar e gerenciar as atividades de TI. Incorporar o modelo operacional e a linguagem comum para todas as áreas de negócios envolvidas em TI é um dos mais importantes passos e ações preliminares para uma boa governança. Isto também fornece uma metodologia para medição e monitoramento do desempenho de TI, comunicação com provedores de serviços e integração das melhores práticas de gerenciamento. Um modelo de processos incentiva a determinação de proprietários dos processos, o que possibilita a definição de responsabilidades. Para que a governança de TI seja eficiente, é importante avaliar as atividades e riscos da TI que precisam ser gerenciados. Geralmente eles são ordenados por domínios de responsabilidade de planejamento, construção, processamento e monitoramento. No 29 modelo CobiT esses domínios, como demonstrado na Figura 15 e descritos na Tabela 1, são denominados: Planejar e Organizar (PO) - Provê direção para entrega de soluções (AI) e entrega de serviços (DS) Adquirir e Implementar (AI) - Provê as soluções e as transfere para tornarem-se serviços Entregar e Suportar (DS) - Recebe as soluções e as tornam passíveis de uso pelos usuários finais Monitorar e Avaliar (ME) - Monitora todos os processos para garantir que a direção definida seja seguida. Figura 15 - Os Quatro Domínios Inter-relacionados do CobiT Fonte - CobiT 4.1 (2007) Tabela 1 - Os Quatro Domínios do CobiT Domínios Descrição Planejar e Este domínio cobre a estratégia e as táticas, preocupando-se com a identificação da maneira em que TI pode melhor contribuir para atingir os objetivos de negócios. O sucesso da visão estratégica precisa ser planejado, comunicado e gerenciado por diferentes perspectivas. Uma apropriada organização bem como uma adequada infraestrutura tecnológica devem ser colocadas em funcionamento. Para executar a estratégia de TI, as soluções de TI precisam ser identificadas, desenvolvidas ou adquiridas, implementas e integradas ao processo de negócios. Além disso, alterações e manutenções nos sistemas existentes são cobertas por esse domínio para assegurar que as soluções continuem a atender aos objetivos de negócios. Organizar (PO) Adquirir e Implementar (AI) Entregar e Suportar (DS) Monitorar e Avaliar (ME) Este domínio trata da entrega dos serviços solicitados, o que inclui entrega de serviço, gerenciamento da segurança e continuidade, serviços de suporte para os usuários e o gerenciamento de dados e recursos operacionais. Todos os processos de TI precisam ser regularmente avaliados com o passar do tempo para assegurar a qualidade e a aderência aos requisitos de controle. Este 30 domínio aborda o gerenciamento de desempenho, o monitoramento do controle interno, a aderência regulatória e a governança. Fonte - CobiT 4.1 (2007) Dentro desses quatro domínios o CobiT identificou 34 processos de TI geralmente utilizados Figura 16. Figura 16 - Visão Geral do Modelo do CobiT Fonte - CobiT 4.1 (2007) 31 2.3.2. Modelo de Maturidade O modelo de maturidade para o gerenciamento e controle dos processos de TI é baseado num método de avaliar a organização, permitindo que ela seja pontuada de um nível de maturidade não existente (0) a otimizado (5). Este enfoque é derivado do modelo de maturidade do Software Engineering Institute (SEI) definido para a maturidade da capacidade de desenvolvimento de software. Embora siga os conceitos do SEI, a implementação CobiT difere consideravelmente do original do SEI, o qual era orientado para os princípios de engenharia de produtos de software, organizações buscando excelência nessas áreas e uma avaliação formal dos níveis de maturidade para que os desenvolvedores de software pudessem ser “certificados”. No CobiT, uma definição genérica é provida para as escalas de maturidade do CobiT as quais são similares às do CMM, mas interpretadas de acordo com a natureza dos processos de gerenciamento de TI do CobiT. Um modelo específico é fornecido derivando dessa escala genérica para cada um dos 34 processos CobiT. Independente do modelo, as escalas não devem ser tão granulares visto que seria difícil de utilizar e sugeriria uma precisão não justificável, por que em geral o propósito é identificar onde estão as questões e como definir prioridades para aprimoramentos. O propósito não é avaliar o nível de aderência aos objetivos de controles. Os níveis de maturidade são designados como perfis de processos de TI que a empresa reconheceria como descrição de possíveis situações atuais e futuras. Eles não são designados como um modelo inicial, onde não se pode avançar para o próximo nível sem antes ter cumprido todas as condições do nível inferior. Com os modelos de maturidade do CobiT, diferentemente do enfoque original SEI CMM, não há intenção de medir os níveis de maneira precisa ou tentar certificar que aquele nível foi exatamente atingido. A avaliação de maturidade do CobiT espera resultar em um perfil em que as condições relevantes para diversos níveis de maturidade serão atingidas, como demonstrado no gráfico de exemplo da Figura 17 e sua descrição na Tabela 2. 32 Figura 17 - Representação Gráfica dos Modelos de Maturidade Fonte - CobiT 4.1 (2007) Tabela 2 – Modelo de Maturidade Genérico Nível Descrição 0 Inexistente Completa falta de um processo reconhecido. A empresa nem mesmo reconheceu que existe uma questão a ser trabalhada. 1 Inicial / Ad Existem evidências que a empresa reconheceu que existem questões e que hoc precisam ser trabalhadas. No entanto, não existe processo padronizado, ao contrário, existem enfoques Ad Hoc que tendem a ser aplicados individualmente ou caso a caso. O enfoque geral de gerenciamento é desorganizado. 2 Repetível, Os processos evoluíram para um estágio onde procedimentos similares são porém Intuitivo seguidos por diferentes pessoas fazendo a mesma tarefa. Não existe um treinamento formal ou uma comunicação dos procedimentos padronizados e a responsabilidade é deixada com o indivíduo. Há um alto grau de confiança no conhecimento dos indivíduos e consequentemente erros podem ocorrer. 3 Processo Procedimentos foram padronizados, documentados e comunicados através de Definido treinamento. É mandatório que esses processos sejam seguidos, no entanto, possivelmente desvios não serão detectados. Os procedimentos não são sofisticados, mas existe a formalização das práticas existentes. 4 Gerenciado e A gerência monitora e mede a aderência aos procedimentos e adota ações onde Mensurável os processos parecem não estar funcionando muito bem. Os processos estão debaixo de um constante aprimoramento e fornecem boas práticas. Automação e ferramentas são utilizadas de uma maneira limitada ou fragmentada. 5 Otimizado Os processos foram refinados a um nível de boas práticas, baseado no resultado de um contínuo aprimoramento e modelagem da maturidade como outras organizações. TI é utilizada como um caminho integrado para automatizar o fluxo de trabalho, provendo ferramentas para aprimorar a qualidade e efetividade, tornando a organização rápida em adaptar-se. Fonte - CobiT 4.1 (2007) 33 2.3.3. A Estrutura do modelo CobiT O modelo CobiT une os requisitos de negócios para informação e governança aos objetivos da função de serviços de TI. O modelo de processos do CobiT permite que as atividades de TI e os recursos que as suportam sejam serem apropriadamente gerenciados e controlados com base nos objetivos de controle de CobiT, bem como alinhados e monitorados usando os objetivos e métricas do CobiT, como ilustrado na Figura 18. Figura 18 - Gerenciamento, Controle, Alinhamento e Monitoramento do CobiT Fonte - CobiT 4.1 (2007) 34 Em resumo, os recursos de TI são gerenciados pelos processos de TI para atingir os objetivos de TI que respondem aos requisitos de negócios. Este é o princípio básico do modelo CobiT, como ilustrado pelo cubo do CobiT, conforme Figura 19. Figura 19 - Figura do CobiT Fonte - CobiT 4.1 (2007) Para esse estudo de caso vamos focar no processo DS9 Gerenciar a Configuração. 2.4. PROCESSO DO COBIT DS9 - GERENCIAR A CONFIGURAÇÃO Assegurar a integridade das configurações de hardware e software requer o estabelecimento e a manutenção de um repositório de configuração preciso e completo. Esse processo inclui a coleta inicial das informações de configuração, o estabelecimento de um perfil básico, a verificação e a auditoria das informações de configuração e a atualização do repositório de configuração conforme necessário. Um gerenciamento de configuração eficaz facilita uma maior disponibilidade do sistema, minimiza as questões de 35 produção e soluciona problemas com mais rapidez. A Figura 20 demonstra os requisitos do negócio afetados por esse processo. Figura 20 - Requisitos do negócio a serem atingidos Fonte - CobiT 4.1 (2007) A Figura 21 demonstra os recursos de TI atingidos por esse processo. Figura 21 - Recursos de Ti atingidos Fonte - CobiT 4.1 (2007) 2.4.1. Objetivos de Controle Detalhados DS9.1 Repositório de Configuração e Perfis Básicos: Estabelecer uma ferramenta de suporte e um repositório central para conter todas as informações relevantes sobre os itens de configuração. Monitorar e registrar todos os bens e as mudanças ocorridas neles. Manter um perfil básico de itens de configuração de todo sistema e serviço como um ponto de verificação seguro para eventual retorno após as mudanças. 36 DS9.2 Identificação e Manutenção dos Itens de Configuração: Implantar procedimentos de configuração para suportar a Direção e registrar todas as alterações no repositório de configurações. Integrar esses procedimentos com gerenciamento de mudanças, gerenciamento de incidentes e gerenciamento de problemas. DS9.3 Revisão da Integridade de Configuração Periodicamente revisar os dados de configuração para verificar e confirmar a integridade da configuração atual e histórica. Realizar análise crítica periódica da política de uso de software, verificando a eventual existência de software pessoal, não autorizado ou excedente ao contrato de licenças vigente. 2.5. Erros e desvios devem ser reportados, tratados e corrigidos. O AMBIENTE VMWARE A VMWare é líder em soluções de infraestrutura de virtualização e nuvem que permitem que as empresas possam prosperar na era Cloud, de acordo com a Figura 22. Figura 22 - Quadrante mágico para infraestrutura de virtualização de servidores X86. Fonte - Gartner (2012) 37 A VMWare está preparada ajudar os clientes transformando a forma de construir, entregar e consumir recursos de Tecnologia da Informação em uma forma que é evolutiva e com base em suas necessidades específicas. Em 2011 as receitas da empresa chegaram a 3,77 bilhões dólares, a VMWare tem mais de 350 mil clientes e 50 mil parceiros. A empresa está sediada no Vale do Silício, com escritórios em todo o mundo e pode ser encontrada online em www.VMWare.com. Dentre os aplicativos existentes na empresa serão abordados nesse trabalho os mais voltados as soluções propostas, o vSphere que atualmente está em sua versão de número 5.1 e o View que está em sua versão 5.0. 2.5.1. vSphere O VMWare vSphere é a plataforma de virtualização líder do setor para criação de infraestruturas em nuvem. Ele permite aos usuários executar aplicativos essenciais aos negócios com segurança e responder com mais rapidez às necessidades de negócios. O vSphere acelera a mudança para a computação em nuvem de data centers existentes, além de fornecer sustentação às ofertas de nuvem pública compatíveis, formando a base para o modelo único de nuvem híbrida do setor. Com mais de 250.000 clientes no mundo todo e o suporte de mais de 2.500 aplicativos de mais de 1.400 parceiros ISV, o VMWare vSphere é a plataforma confiável para qualquer aplicativo. Dentre os principais recursos e componentes é importante ressaltar: a) Serviços de infraestrutura A arquitetura do hypervisor VMWare vSphere ESXi fornece uma camada de virtualização de alto desempenho, sólida e comprovada na produção. Ela permite que várias máquinas virtuais compartilhem recursos de hardware com desempenho que pode corresponder e, em alguns casos, exceder o throughput original. O vSphere Virtual SMP (Symmetric Multiprocessing) permite o uso de máquinas virtuais ultra eficientes que tenham até oito CPUs virtuais. O hardware virtual da VMWare pode oferecer suporte a 1 TB de RAM e a uma variedade de hardware de última geração, como processadores de gráficos 3D e dispositivos USB 3.0. 38 O vSphere Storage VMFS (Virtual Machine File System) 5 permite que máquinas virtuais acessem dispositivos de armazenamento compartilhados (Fibre Channel, iSCSI etc.) e é uma importante tecnologia habilitadora para outros componentes do VMWare vSphere, como o VMWare vSphere Storage vMotion. As APIs do VMWare vStorage fornecem integração com soluções terceirizadas de proteção de dados compatíveis. O VMWare vStorage Thin Provisioning fornece alocação dinâmica de capacidade de armazenamento compartilhado, permitindo que as organizações de TI implementem uma estratégia de armazenamento hierárquico à medida que reduzem as despesas com armazenamento em até 50%. b) Serviços de aplicativos O VMWare vSphere vMotion permite a migração em tempo real de máquinas virtuais entre servidores sem interrupção para os usuários nem perda de serviço, eliminando a necessidade de programar o tempo de inatividade de aplicativos para manutenção do servidor. O vSphere HA (High Availability) permite reinício automatizado e econômico em poucos minutos de todos os aplicativos, no caso de falhas de hardware ou do sistema operacional. O Hot Plug permite que armazenamentos virtuais e dispositivos de rede sejam conectados ou desconectados das máquinas virtuais sem interrupção nem tempo de inatividade. O Hot Extend de discos virtuais permite que armazenamentos virtuais sejam adicionados às máquinas virtuais em execução sem interrupção nem tempo de inatividade. A Figura 23 descreve os pilares do VSphere. Figura 23 - Pilares do VSphere. Fonte - VMWare (2011) 39 2.5.2. VMWare View O VMWare View oferece serviços de desktop a partir de sua nuvem para dar liberdade ao usuário final e à TI gestão e controle. O VMWare View permite que a TI simplifique e automatize a gestão de milhares de desktops, e com segurança, entregar desktops como um serviço para os usuários a partir de uma localização central, com níveis de disponibilidade e confiabilidade incomparáveis aos PCs tradicionais, proporcionando acesso seguro a aplicações e dados para qualquer dispositivo, quando e onde o usuário precisa, o VMWare View oferece aos usuários finais os mais altos níveis de mobilidade e flexibilidade. As empresas de hoje são pegas em um dilema com o uso de desktops. Por um lado, as organizações de TI enfrentam pressões em torno de conformidade, custo, gerenciamento e segurança. Esta situação é agravada pelo atual paradigma de computação "O Dilema do Desktop" Figura 23, que é caro para gerir e restringe a agilidade para responder aos negócios em constante mudança. Por outro lado, os usuários finais requerem cada vez mais a liberdade e flexibilidade para acessar seus aplicativos e dados de mais dispositivos e locais. Este dilema que restringe a liberdade do usuário em contra partida a necessidade de controle da TI pode elevar os custos, segurança, impacto e sobrecarregar os recursos da TI. Para se libertar deste dilema, as organizações estão procurando uma ágil e adaptativa abordagem de computação que permite que a TI possa equilibrar as necessidades da empresa com as necessidades dos usuários finais por uma flexível e de alta performance experiência com o computador. Figura 23 - Dilema do Desktop. Fonte - VMWare (2011) 40 A virtualização de desktops com o VMWare View permite que as organizações possam fazer mais com menos e adotem uma abordagem para a computação verdadeiramente centrada no usuário e ainda flexível. Ao desvincular as aplicações, dados e funcionamento dos sistemas a partir do ponto final, e movendo estes componentes para o Data Center onde possam ser centralmente gerenciados em uma nuvem. Virtualização de aplicações e desktops oferecem a TI um caminho mais simples e seguro para gerenciar usuários e fornecer serviços ágeis que podem ser acessados quando necessários. 41 3. GESTÃO DA CONFIGURAÇÃO EM AMBIENTES VIRTUALIZADOS: UM ESTUDO APLICADO EM ORGANIZAÇÕES GOVERNAMENTAIS. O Ministério da Agricultura, Pecuária e Abastecimento (MAPA) é um órgão governamental federal e atua na administração direta das áreas no país. Cada Ministério da administração pública federal estabelece políticas, diretrizes e prioridades na aplicação dos recursos públicos para os setores que representam. No caso da Agricultura, Pecuária e Abastecimento, a atribuição constitucional da organização é promover o desenvolvimento sustentável e a competitividade do agronegócio em benefício da sociedade brasileira. Esta é a missão do Ministério, cujos programas são destinados ao pequeno, médio e grande produtor rural e a sociedade em geral. O agronegócio é visto como a soma das atividades de fornecimento de bens e serviços à agricultura, da produção agropecuária, do processamento, da transformação e da distribuição de produtos até o consumidor final. O desenvolvimento sustentável, por sua vez, é um processo de transformação que permite ao agronegócio evoluir de forma econômica, social e política, com respeito ao meio ambiente, satisfazendo as aspirações e as necessidades das gerações atuais e futuras. A agropecuária do Brasil apresenta um valor expressivo na consolidação do PIB nacional. Em observância deste fator, deve-se estar em constante processo de monitoramento e reciclagem das atividades envolvidas no agronegócio. Para tal, a criação de indicadores, normas e procedimentos com a finalidade de monitorar a situação atual da economia agrícola, e a busca por novas soluções são fundamentais. No entanto, para que esses objetivos e metas sejam cumpridos, é fundamental que o Ministério conte com toda a infraestrutura necessária para o processamento seguro das informações correlatas aos seus anseios. Neste sentido, o custo da informação pode ter valor inestimável para uma organização, no caso do MAPA, cuja produção oriunda do campo responde, de acordo com o então Ministro da Agricultura, Wagner Rossi (2010), por parcela de aproximadamente 27% do Produto Interno Bruto (PIB), 43% das exportações e 40% dos empregos gerados no País, a informação é de extrema importância para a nação. 42 Com o aumento contínuo da produção agropecuária e o desenvolvimento de novas tecnologias, normas e padrões, o MAPA vem investindo em sua infraestrutura tecnológica. O aumento do poder computacional, aliado a novos temas, como a TI verde e a virtualizalização vem de encontro a essa necessidade e serão abordados nesse estudo. O MAPA dispõe de uma estrutura de TI altamente complexa e avançada tecnologicamente. São mais de 150 servidores entre físicos e virtuais, mais de 5000 estações de trabalho espalhadas por todo o país. Os servidores são de em sua maioria de marcas consagradas no mercado de PCs, IBM, Dell, Netapp, com diferentes configurações e características. Temos desde os mais simples para aplicações de pouco ou baixíssimo risco, com configurações de processador Pentium 4 3 Giga-hertz (GHz), memória de 1Gigabyte (Gb) e Disco rígido de 80Gb. A servidores que tem propriedades de ser um Host VM, com processadores Intel Xeon Quadcore 3,46 GHz, 32 Gb de memória RAM e até 3 Terabytes (Tb) de disco. Os servidores estão dispostos quase que em sua totalidade em uma sala cofre no próprio MAPA, podendo ser de bancada ou de rack. Atualmente somente as máquinas mais antigas estão em bancadas, sendo todas as novas, adquiridas já próprias para o uso em racks. O uso de servidores virtuais se dá na necessidade de um melhor aproveitamento dos recursos materiais e computacionais envolvidos. Por exemplo, uma máquina com alto poder computacional como a descrita acima, sendo utilizada somente para o controle de acesso biométrico a sala cofre, seria um completo desperdício de poder computacional, energia e recursos da empresa, uma vez que uma aplicação como essa necessita somente de um Sistema Operacional (SO) e a própria aplicação, não consumindo quase nada em recursos, portanto tornando o uso de um servidor com tamanha configuração um desperdício para a empresa. Assim, a utilização do grande potencial apresentado por esses recursos centra-se na virtualização. Para iniciar o processo de virtualização o MAPA optou pela solução VMWare, uma empresa líder em seu segmento já citado anteriormente, mas sem deixar de olhar outras empresas de virtualização como Microsoft e RedHat, com seus respectivos produtos HyperV e Red Hat Enterprise Virtualization (RHEV), ambas também foram instaladas e 43 testadas, mas ainda as principais ferramentas de virtualização são da VMWare, por isso o foco estará nesta ferramenta. Hoje o MAPA não se utiliza de virtualização em desktops, um tema que será abordado com maior ênfase nesse estudo de caso, devido a alguns pontos a serem discutidos mais adiante. Os desktops assim como os servidores são em sua maioria computadores de fornecedores consagrados no mercado, como IBM, LENOVO, DELL, EPCOM, ITAUTEC e estão espalhados por todo o país. Suas configurações dependem do modelo e do tempo de uso deles, estando os mais antigos com configurações próximas a processadores Intel Pentium 4 2.4 GHz, 512 Megabytes (MB) de memória RAM e 40 GB de disco, e os últimos adquiridos com processadores AMD Dual Core 2.8GHz, 4Gb de RAM e 500Gb de Disco. Assim como os servidores há alguns casos onde a máquina está subutilizada e em outros a estação de trabalho está trabalhando no limite de seus recursos, então para solucionarmos esses desvios pensando em gestão de configuração, novamente teremos a virtualização, nesse caso a de desktops, como um ponto chave para alcançar o melhor aproveitamento dos recursos e redução de gastos com a subutilização de equipamentos. a) Gestão da configuração de recursos físicos. Atualmente para equipamentos em garantia, se aciona o suporte técnico da empresa responsável pela venda dos equipamentos ou a fabricante dos mesmos e a peça em questão é trocada por uma nova, nos servidores ainda existe a opção de substituição dessas peças defeituosas por uma em utilização em uma máquina com aplicação de menor importância, ou por um servidor que tenha seu serviço redundante, para que o dano causado pela parada desse equipamento seja diminuído. Nos servidores mais antigos, fora de garantia, existem algumas peças em estoque que podem ser utilizadas para substituição de peças defeituosas, essas peças são decorrentes da migração de um serviço para um equipamento mais novo, e o novo serviço instalado nesse equipamento não seja necessário todo o poderio de hardware que o mesmo possua, então com a adequação sobram algumas peças que são utilizadas para a reposição de peças defeituosas, ou ainda um equipamento que tenha, por exemplo, sua placa mãe com problema, possa ter o restante de suas peças remanejadas para a utilização ou 44 substituição em outros equipamentos fora de garantia. Gerando assim um pequeno estoque de peças para substituição. Nos desktops a situação é a mesma, quando se está em garantia, a peça é trocada pelo vendedor ou fornecedor do equipamento, e quando não há mais a garantia a peça só é trocada se por acaso houver no estoque alguma peça sobressalente de outro equipamento com defeito ou desativado. Em algumas ocasiões serviços podem ficar parados devido a disposição geográfica desses equipamentos e o defeito que o mesmo sofreu, um exemplo seria um fiscal que confere produtos na fronteira de Roraima, teve seu computador queimado por uma descarga elétrica, nessa localidade não há nenhum equipamento que possa ser utilizado para substituição do mesmo, tendo que ser demandado a unidade central mais próxima a substituição, podendo levar dias ou semanas para o processo ser concluído. b) Instalando Recursos de Virtualização Foi selecionado para esse estudo de caso um servidor Dell, com as seguintes configurações, 2 processadores Intel Xeon 3.46GHz Quadcore, 48Gb de RAM, e 3 discos de 450Gb cada em RAID 5, neste equipamento foi instalado o vSphere e o View, ambos softwares da VMWare para virtualização, sendo o View específico para desktops. A instalação do vSphere é simples e se inicia dando boot no servidor escolhido com a mídia de instalação, Figura 24. Figura 24 - Tela inicial de instalação do ESXi. Fonte - Linha de Código UOL (2011) Após escolher o instalador, os arquivos necessários para a instalação serão carregados e uma tela inicial será mostrada, Figura 25. 45 Figura 25 - Tela inicial de instalação após carregamento de arquivos necessários. Fonte - Linha de Código UOL (2011) Será mostrada então uma tela de boas vindas e o acordo de licença de uso do software, em seguida será solicitada a escolha do disco para a instalação do software, Figura 26. Figura 26 - Tela de escolha de disco para instalação do ESXi. Fonte - Linha de Código UOL (2011) O próximo passo é a escolha da senha de root, recurso obrigatório a partir da versão 5.0, Figura 27. Figura 27 - Tela de configuração de senha de ROOT do ESXi. Fonte - Linha de Código UOL (2011) 46 Uma verificação de hardware é iniciada para checar a compatibilidade de todos os dispositivos, não havendo complicações a instalação se inicia após a confirmação, Figura 28. Figura 28 - Tela de confirmação de instalação do ESXi. Fonte - Linha de Código UOL (2011) Após a conclusão do processo a tela inicial novamente será apresentada e agora com um diferencial, a URL para gerenciar a mesma, Figura 29. Figura 29 - Tela de configuração do ESXi. Fonte - Linha de Código UOL (2011) Para completar o processo as configurações de rede devem ser realizadas com o uso da tecla F2, nesse estudo o Internet Protocol (IP) do vSphere é o 192.168.2.147. Para acessar e gerenciar o servidor é necessária a instalação de um cliente que pode ser obtido através de uma interface web, então após digitar o endereço 192.168.2.147 será mostrada a tela de boas vindas, Figura 30. 47 Figura 30 - Tela inicial de instalação do VMWare client. Fonte - MAPA (2012) Quando se encerra o processo de instalação é necessário efetuar login pela primeira vez no cliente instalado, Figura 31. Figura 31 - Tela inicial de login do vSphere. Fonte - Mapa (2012) 48 A tela inicial do programa apresenta diversas opções. Figura 32. Figura 32 - Tela inicial do vSphere. Fonte - Mapa (2012) Acessando a opção Hosts and Clusters dá-se início a configuração do ambiente de testes com o outro serviço proposto nesse estudo, o VMWare View, Figura 33. Figura 33 - Tela inicial do View. Fonte - Mapa (2012) O View é um aplicativo instalado sobre um sistema operacional Windows podendo ser uma máquina física ou uma VM. Ele contém algumas ferramentas para gerenciamento 49 de Desktops virtuais tais como o View Composer, que gerencia as réplicas da imagem padrão de um desktop virtual. c) Gerenciamento de configuração em ambientes virtualizados. Uma vez estabelecido o ambiente virtualizado observa-se facilidades quanto ao seu gerenciamento, uma vez que toda a estrutura de hardware é simulada por um host VM, analisando uma situação em que se tem um determinado servidor virtual que rode a folha de pagamento e está configurado com 60Gb de disco, 4Gb de memória e 2 processadores, e em determinado período do mês essa máquina exige o dobro de recursos. Em uma máquina física isso se torna inviável tanto pela mão de obra quanto pelo trabalho necessário para o aumento do recurso. Com a virtualização poderemos realizar esse proocesso de forma rápida e prática, apenas movendo recursos para o servidor que necessita deles momento e retirando-os quando não houver a necessidade para uso. 50 4. RESULTADOS ESPERADOS Considerando a virtualização como um processo aparentemente sem volta para as organizações, o controle de seus recursos, a segurança e o alinhamento estratégico são peças importantes no processo de gestão. Assim, com base no quesito segurança temos os três pilares da segurança da informação, disponibilidade, integridade e confidencialidade, para que esses pilares possam ser atingidos a virtualização deve estar orientada para tal, espero que possamos demonstrar como atingir cada um deles nos quesitos técnicos a começar pela disponibilidade. A virtualização possui como característica fundamental um hypervisor que gerencia e hospeda as máquinas virtuais, sejam servidores ou desktops. Esses softwares possuem como uma das suas especialidades o controle e compartilhamento de recursos, ou seja, em uma máquina hypervisor que tenha uma memória de 32 Gb pode disponibilizar para os servidores 40 ou 48 Gb, pois os recursos são reservados, porém somente são disponibilizados no momento em que o servidor necessita, quando em baixo processamento ou período de uso, essa memória fica disponível para outro servidor que a necessite com maior prioridade. Também, pode-se levar em consideração o fato de que os recursos para essas VMs são virtuais apoiados em recursos físicos de forma a garantir a disponibilidade do serviço no quesito virtualização, sem levar em conta os meios físicos (rede, link, energia, etc.), sendo necessário apenas possuir 2 (dois) hosts para balanceamento de carga e caso haja algum problema físico com a máquina host, esta poderia ser desligada para os reparos sem que o serviço tenha uma queda para o usuário. No caso de desktops observam-se, ainda, mais opções em função do serviço do View disponibilizar em seus desktops virtuais a possibilidade de utilização em dispositivos de diferentes marcas ou modelos tais como notebooks, tablets, smartphones, ou mesmo personal computers (PCs), convencionais, conforme demonstrado na Figura 34. 51 Figura 34 - Estrutura de disponibilização de acesso do View. Fonte - Servix (2012) Desta forma, quando o desktop é carregado pode ser trabalhado de forma off-line, ou seja, quando se carregam os dados do desktop no tablet, utiliza-se o equipamento em qualquer lugar como em casa ou em atividades fora da rede de origem e quando o equipamento novamente estiver na rede local será realizado automaticamente o sincronismo de todos os seus dados desde o último check-in. Passando para a segunda parte dos pilares da Segurança da Informação temos, então, a integridade dos dados. Para esse recurso a VMWare trabalha com arquivos de extensões próprias, de modo que os mesmo só possam ser utilizados em sua plataforma, ou então tem que ser importados para plataformas de outros softwares. Assim, não há como conseguir ter acesso aos dados da máquina virtual sem ter algum software de virtualização para importar a máquina, além disso, a máquina virtual deve ser configurada com os requisitos próprios de segurança de acordo com cada organização, seja servidor ou desktop, partindo então para o terceiro pilar da segurança, a confidencialidade. Como não existe a possibilidade de acessar os arquivos do servidor sem ter um software de virtualização e um conversor para fazê-lo, aliado ao fato de que mesmo se os 52 possuir ainda deve-se possuir um usuário se senha para acesso ao servidor o mesmo tornase bastante difícil de romper a confidencialidade. No caso de desktops virtuais pode-se acessar o computador com os dados do usuário de qualquer dispositivo que possua a compatibilidade para tal, porém os dados são armazenados no servidor ou storage de modo que somente o usuário registrado para aquela imagem virtual possa ter acesso aos dados nela contidos mesmo partindo de uma única imagem de sistema operacional em comum a todos os usuários do serviço, Figura 35. Figura 35 - Estrutura de acesso a imagens do View. Fonte - Servix (2012) Diante do proposto pelo processo DS9 do COBIT que trata de assegurar a integridade das configurações de hardware e software por meio do estabelecimento e a manutenção de um repositório de configuração preciso e completo se faz necessário o alinhamento desse processo com a virtualização. Para tanto, o primeiro ponto do processo DS9 descreve a necessidade de ter um repositório de configurações e perfis básicos e, neste contexto, deve-se estabelecer uma ferramenta de suporte e um repositório central para conter todas as informações relevantes sobre os itens de configuração. Monitorar e registrar todos os bens e as mudanças ocorridas. Manter um perfil básico de itens de 53 configuração de todo sistema e serviço como um ponto de verificação seguro para eventual retorno após as mudanças. Com as máquinas virtuais pode-se manter uma imagem padrão de sistema operacional com requisitos mínimos para o seu funcionamento, um exemplo, podemos construir uma imagem de servidor com um SO Microsoft Windows Server 2008, com disco de 40Gb e memória de 4Gb, essa imagem será a imagem padrão para todas as futuras máquinas com Windows 2008 solicitadas a partir desse momento, portanto essa imagem tem que ser configurada com os softwares considerados necessários para a organização (IIS, Antivírus, SQL, etc.) e todas as máquinas criadas a partir dessa máquina teriam as mesmas configurações e padrões da máquina “mãe”. No caso de desktops com o uso do View Composer pode-se ir ainda mais longe, pois a imagem padrão pode ser atualizada e configurada assim como a de servidores, porém com um diferencial, pois uma vez que, se atualiza ou instala um novo software na imagem padrão e disponibiliza-se essa imagem aos usuários, todos os desktops que forem acessados já estarão automaticamente com as mesmas configurações da imagem mãe. Nos quesitos de hardware os ambientes governamentais em sua maioria não possuem peças sobressalentes para a troca e reparo de seus servidores, no caso do MAPA existem algumas peças que podem ser remanejadas de um servidor a outro, em casos mais graves de problemas ou até que a garantia possa realizar a substituição das mesmas. O segundo ponto do DS9 trata da identificação e manutenção dos itens de configuração e para isso deve-se implantar procedimentos de configuração para suportar a direção e registrar todas as alterações no repositório de configurações. Integrar esses procedimentos com gerenciamento de mudanças, gerenciamento de incidentes e gerenciamento de problemas. Com a virtualização pode-se realizar a cada alteração na imagem padrão um novo snapshot, descrevendo quais alterações, softwares, hardware ou versões o mesmo possui, podendo facilmente disponibilizar uma versão mais nova ou mais antiga do recurso solicitado. 54 Em relação aos outros processos de gerenciamento, como não há ainda sua implementação no MAPA, neste trabalho não será possível entrar em detalhes mais profundos, porém todas as máquinas virtuais são monitoradas em tempo real por diversos aplicativos, e seus problemas, manutenções, revisões e quaisquer procedimentos, são registrados em ferramenta específica para monitoramento e acompanhamento de chamados, podendo ter um histórico completo de tudo o que ocorreu na máquina virtual ou no host. O terceiro e último ponto do DS9 trata da realização da revisão da integridade de configuração e para tanto deve-se periodicamente revisar os dados de configuração para verificar e confirmar a integridade da configuração atual e histórica. Realizar análise crítica periódica da política de uso de software, verificando a eventual existência de software pessoal, não autorizado ou excedente ao contrato de licenças vigente. Erros e desvios devem ser reportados, tratados e corrigidos. Com o uso de softwares virtualizados, uma das maiores preocupações é o uso de softwares não autorizados ou registrados, pois podem comprometer não um, mas todos os serviços que estão rodando sobre aquela plataforma, os ambientes governamentais são ambientes altamente regidos a políticas de uso de softwares e equipamentos. Especificamente, no caso do MAPA não podem ser utilizados nem em servidores nem em estações nenhum tipo de software pirata ou não autorizado, conforme descrito na Política de Segurança da Informação do MAPA e essa auditoria é feita por softwares de gerenciamento de rede, não ligados a virtualização diretamente. 55 5. CONCLUSÃO Com o exposto no trabalho a computação em constante avanço de capacidade e recursos, as novas tecnologias, a preocupação com o meio ambiente, os recursos financeiros e a agilidade na tomada de decisões, temos a virtualização como um ponto forte para a resolução desses problemas. Foram apresentados os principais conceitos sobre virtualização, seus modos de operação e formas de implementação. Foi demonstrado que a virtualização é uma técnica que um sistema computacional seja compartilhado e que execute vários outros que são denominados de máquinas virtuais. Cada máquina virtual trabalha isoladamente e com características próprias, incluindo sistema operacional e periféricos, que podem ser diferentes do sistema hospedeiro. O processo DS9 do COBIT - Gestão da Configuração, com seus pontos de controle específicos se integram quase que perfeitamente ao conceito aqui apresentado. As empresas em geral, em específico as entidades governamentais são extremamente importantes para o funcionamento do país, e quase, senão todas utilizam o computador como sua principal ferramenta de trabalho e a preocupação com a segurança das informações trafegadas ou armazenadas e ainda a conectividade com outros dispositivos são grandes desafios a TI moderna. Virtualizar desktops e servidores, prover segurança e conectividade, auxilia e maximiza o uso de recursos computacionais pelos usuários finais. Ao realizar a análise dos ambientes físicos e virtuais, fazendo um breve comparativo, tenho a certeza de que a virtualização é um caminho sem volta, sua tendência é de enorme crescimento, tanto no quesito de novas tecnologias e aplicações como no uso de material virtualizado. Hoje algumas empresas estão utilizando desktops virtuais em maior escala do que os físicos. Entendo isso como uma tendência futura para entidades governamentais, pois o maior controle por parte da equipe de TI, assim como os pilares da segurança nele desenvolvidos e utilizados, podem prover ao usuário uma maior integração e disponibilidade de uso dos dados uma vez que, os usuários podem acessar desktops e 56 aplicativos corporativos de quase qualquer dispositivo e as políticas de segurança quando bem implementadas auxiliam na proteção de dados confidenciais. Todos já ouvimos falar das gerações, a geração do rock, a geração Coca-Cola, hoje, estamos vivenciando a geração internet, onde o mundo é conectado. As crianças aprendem a utilizar computadores antes mesmo de aprender a escrever, os gadgets, celulares, tablets, notebooks, estão cada vez mais no nosso dia a dia. Essa geração internet, vai cada vez mais demandar a TI a conectividade e disponibilidade de seus dados. A TI por sua vez, tem a cada dia que se especializar para poder prover com a maior segurança possível o que os usuários necessitam, sem esquecer o que o negócio necessita, então a gestão se faz necessária, o COBIT nesse trabalho representado pela Gestão da Configuração, é uma das muitas ferramentas que podem auxiliar nesse contexto. A grande maioria das entidades governamentais tem como clientes finais a população em geral, então se pudermos utilizar os recursos financeiros e tecnológicos, aliados a uma gestão confiável e alinhada com o negócio de cada empresa, poderemos maximizar a experiência com o uso e a disponibilização das informações a quem necessitar, ajudando assim o país a crescer e prosperar, podendo ainda ajudar nossas futuras gerações. 57 REFERÊNCIAS BIBLIOGRÁFICAS BEMER, B. Computer history, V12 – IBM – Origins of Timesharing - a trip log for reference - Dallas, acessado em Outubro de 2012 em http://www.bobbemer.com/TIMESHAR.HTM. SINGH, A. An Introduction to Virtualization. Janeiro de 2004, Acessado em Maio de 2012 em http://www.kernelthread.com/publications/virtualization/. LAUREANO, M. Máquinas Virtuais e Emuladores - Conceitos, Técnicas e Aplicações – Novatec, Brasil, 2006. SMITH, J. E.; NAIR, R. The Architecture Of Virtual Machines. Institute of Electrical and Electronics Engineers Computer Society, Piscataway, United States 2005. ROSE, R. Survey of System Virtualization Techniques. Oregon State University Março de 2004. XenEnterprise vs. ESX Benchmark Results: Performance Comparison of Commercial Hypervisor s. 2007. Disponível em: http://blogs.xensource.com/simon/wpcontent/ uploads/2007/03/hypervisor _performance_comparison_1_0_3_no_esxdata. Acesso em Agosto de 2012. VMware Named a Leader in Magic Quadrant for x86 Server Virtualization Infrastructure. Califórnia, Junho de 2012, Acessado em Outubro de 2012 em http://www.vmware.com/company/news/releases/vmw-gartner-mq-06-2912.html. VMware View - Your Cloud, Your Desktop, Just Got Better. Califórnia, 2011, Acessado em Outubro de 2012 em http://www.vmware.com/files/pdf/view/VMware-View-Datasheet.pdf. Cobit 4.1 - Portuguese. IT Governance Institute. Estados Unidos, 2007, Acessado em Março de 2012 em http://www.isaca.org/About-ISACA/Press-room/NewsReleases/Portuguese/Pages/ISACA-Introduces-Portuguese-Edition-of-COBIT-41-Portuguese.aspx. ALISKI, A. Rossi: Dilma quer modernizar Ministério da Agricultura, Jornal Estadão, Caderno Política, 13 de Dezembro de 2010. CHALARIS, L., PANAYIOTIS, P. L., CHALARIS, M., IT Governance: The Safe Way to Effective and Efficient Governance. 1 Technological Educational Institution of Athens, Dept. of Informatik, 2005. SILVA, M. B. Instalando o VMware ESXi 5, Linha de código UOL. Acessado em Outubro de 2012, Disponível em http://www.linhadecodigo.com.br/artigo/3280/instalando-o-vmware-esxi-5.aspx. VMware, Inc., VMware View Installation, acessado em Novembro de 2012, disponível em http://pubs.vmware.com/view50/topic/com.vmware.ICbase/PDF/view-50-installation. SLAGER, P., Installing & Configuring VMware View, Setembro de 2010. Acessado em Novembro de 2012, Disponível em http://paulslager.com/?p=572. DESAI, A., The Definitive Guide To The Definitive Guide To Virtual Platform Management, CA Technologies, Agosto de 2010. BRUZZESE, P., The Essentials Series: Virtualization and Disaster Recovery Data Protection in a Virtualized Environment, CA Technologies, Março de 2012. 58 BRUZZESE, P., The Essentials Series: Virtualization and Disaster Recovery Leveraging Virtualization for High Availability and Business Continuity, CA Technologies, Março de 2012. SHIELDS, G., The Shortcut Guide To: Virtualization and Service Automation, Hewlett-Packard HP, Fevereiro de 2009. GOLDEN, B., Virtualization For Dummies, 2nd HP Special Edition, Wiley Publishing, Inc. Hewlett-Packard HP, Indiana, EUA, 2009. TULLOCH, M., Understanding Microsoft Virtualization Solutions, From the Desktop to the Datacenter, 2nd Edition, Microsoft Press, Washington, EUA, 2010. ISACA, Virtualização: Benefícios e desafios, 2010, disponível em http://goo.gl/w7LUn SERVIX, FREITAS, L. Virtualização de Desktops, Brasília, DF 19 de Março de 2012. 59