COMPUTAÇÃO EM NUVEM: UMA NOVA ABORDAGEM EM AMBIENTES DE REDE

Tamanho: px
Começar a partir da página:

Download "COMPUTAÇÃO EM NUVEM: UMA NOVA ABORDAGEM EM AMBIENTES DE REDE"

Transcrição

1 COMPUTAÇÃO EM NUVEM: UMA NOVA ABORDAGEM EM AMBIENTES DE REDE ANDRÉ COVELINHAS DA ROCHA Centro Universitário da Cidade do Rio de Janeiro RIO DE JANEIRO JUNHO/2009

2 COMPUTAÇÃO EM NUVEM: UMA NOVA ABORDAGEM EM AMBIENTES DE REDE ANDRÉ COVELINHAS DA ROCHA Centro Universitário da Cidade do Rio de Janeiro Prof. FREDERICO SAUER Orientador RIO DE JANEIRO JUNHO/2009 II

3 COMPUTAÇÃO EM NUVEM: UMA NOVA ABORDAGEM EM AMBIENTES DE REDE André Covelinhas da Rocha Projeto desenvolvido durante o curso de Tecnologia em Redes de Computadores, apresentado ao Centro Universitário da Cidade, UniverCidade, como pré-requisito para obtenção do título de Tecnólogo em Redes de Computadores. Comissão Examinadora: Prof. Frederico Sauer Guimarães Oliveira, Doutor Prof. Celso Rabelo Machado Pinto, Especialista Prof. Rodrigo de Almeida David, Especialista RIO DE JANEIRO JUNHO/2009 III

4 Este trabalho reflete a opinião do autor e não necessariamente a da UniverCidade. Autorizo por meio desta a difusão deste trabalho. André Covelinhas da Rocha IV

5 DEDICATÓRIA Este trabalho é dedicado a minha família, especialmente minha mãe, que graças a sua confiança, seu apoio, seu incentivo e principalmente pela dádiva da vida, tenho mais uma vez a oportunidade de expressar a minha opinião. Dedico também a todos os meus professores, que tanto se sacrificam para trazer conhecimentos que muitas vezes excedem os limites do escopo das disciplinas que ministram. A eles, entrego através deste gesto simbólico o título de verdadeiros amigos, em especial ao Prof Sauer, ao Prof Celso, ao Prof Sobral e ao Prof Paulo. A materialização deste trabalho reflete todo o ensinamento que foi adquirido. André Covelinhas da Rocha V

6 AGRADECIMENTOS Agradeço a Deus por mais esta oportunidade, a minha mãe, a minha namorada Fabíola, ao meu orientador, aos demais professores e a todos os meus amigos, inclusive os de âmbito profissional e acadêmico, por acreditarem em mim, me apoiarem, confiarem, incentivarem e também pela compreensão pelas faltas que deixei no período em que me dediquei a extenuante tarefa que concluí com a realização deste trabalho. A minha namorada, agradeço pela paciência e pelo carinho, e por sempre me incentivar a fazer e agir da melhor forma possível, o que me empurra além do limite e faz com que eu descubra novas capacidades. André Covelinhas da Rocha VI

7 EPÍGRAFE Sucesso, é conquistar aquilo que você ama. Felicidade, é amar aquilo que você já conquistou. Dalai Lamma VII

8 SUMÁRIO CAPÍTULO INTRODUÇÃO...10 CAPÍTULO COMPUTAÇÃO EM NUVEM COMPARAÇÕES HISTÓRIA ANATOMIA DA COMPUTAÇÃO EM NUVEM Software Como Serviço Plataforma Como Serviço Infra-estrutura Como Serviço TIPOS DE IMPLEMENTAÇÃO DA NUVEM Nuvens Públicas Nuvens Privadas Nuvens Híbridas APROVEITAMENTO DA NUVEM Usando a Nuvem Alavancando a Nuvem Construindo a Nuvem CARACTERÍSTICAS Independência de Dispositivo e Local Multi-locação MITIGAÇÃO DE RISCOS...28 VIII

9 CAPÍTULO VIRTUALIZAÇÃO VIRTUALIZAÇÃO DE SISTEMAS OPERACIONAIS VIRTUALIZAÇÃO DE PLATAFORMA VIRTUALIZAÇÃO DE REDE VIRTUALIZAÇÃO DE APLICAÇÕES...40 CAPÍTULO IMPLEMENTANDO UM AMBIENTE DE NUVEM SISTEMAS UTILIZADOS DIAGRAMA DE REDE INSTALAÇÃO DOS SISTEMAS Firewall + Proxy Reverso + DNS Configurações de Segurança Configurações do Serviço DNS Configurações do Proxy Reverso Cloud Server Instalação dos Softwares Necessários Gerência CONSIDERAÇÕES SOBRE A CONTRIBUIÇÃO DO TRABALHO...86 CAPÍTULO CONCLUSÃO...88 APÊNDICE 1 ARQUIVO DE CONFIGURAÇÃO DO VICOMPRESS...92 REFERÊNCIAS BIBLIOGRÁFICAS...93 IX

10 10 CAPÍTULO INTRODUÇÃO Na era tecnológica contemporânea, têm-se recursos computacionais mais que suficientes para atender a grande maioria das necessidades de usuários, sejam eles domésticos ou empresariais. No entanto, paga-se por poder de fogo além do que realmente é necessário, pois para muitos se faz necessário apenas a leitura e envio de mensagens, navegação web, e acesso a sistemas de escritório. Despesas com maquinário estão sempre acompanhadas de despesas de manutenção, pois computadores possuem inúmeros componentes físicos (hardware) e lógicos (software) interdependentes. A fim de minimizar desperdício de recursos computacionais e também de capital com atividades mantenedoras e renovação de licenças de software, propõe-se a utilização de um ambiente centralizado em nuvem, não suscetível a perda de informações, e acessível de qualquer lugar do mundo, através de dispositivos conectados à internet. Este trabalho apresenta de forma objetiva e prática o conceito de Computação em Nuvem (Cloud Computing), e como projetar e implementar este ambiente,

11 11 de forma a torná-lo capaz de fornecer funcionalidades essenciais ao expediente de todos, sejam usuários domésticos ou empresariais. A Computação em Nuvem é uma tecnologia emergente que altera o conceito em termos de infra-estrutura, onde a execução de dados e softwares acontece diretamente na nuvem (internet). Ela abstrai a plataforma de aplicação de softwares da infra-estrutura de hardware subjacente, desobrigando o usuário de estar preso a um hardware específico. A Computação em Nuvem está mostrando que é possível nos dias atuais o uso de tecnologia antes apresentada apenas em publicações sobre tecnologias do futuro. O trabalho está segmentado da seguinte forma: O capítulo 2 descreve os conceitos fundamentais da computação em nuvem. O capítulo 3 descreve os tipos de virtualização existentes, e de que forma elas estão inseridas no conceito deste trabalho. O capítulo 4 descreve os passos necessários para implementar e gerenciar um ambiente de nuvem, e descreve as considerações a respeito da contribuição do trabalho. O capítulo 5 conclui o trabalho.

12 12 CAPÍTULO COMPUTAÇÃO EM NUVEM Computação em Nuvem é um modelo emergente de computação, que se refere ao uso de tecnologia computacional (Computação), e desenvolvimento e distribuição de aplicações baseadas em internet (Nuvem), onde recursos são dinamicamente virtualizados e dimensionados de forma escalável1, para serem disponibilizados como serviços na web. Uma característica interessante da Computação em Nuvem é o fato da mesma ocultar de desenvolvedores e usuários finais a complexidade de sua infra-estrutura, apresentando aos mesmos apenas uma interface para acesso aos sistemas. Usuários não precisam ter conhecimento ou até mesmo saber o que existe no interior da nuvem para que possam se beneficiar de seus recursos. Este modelo de utilização pode ser melhor entendido na ilustração 1, onde a área identificada por 1 representa de forma abstraída o interior da infra-estrutura real, e a área identificada por 2 representa o que é percebido pelos usuários. 1 Passível de aumento de capacidade de forma dinâmica, de acordo com a necessidade.

13 13 Ilustração 1: Acesso a recursos em nuvem A Nuvem é uma metáfora para internet, baseada em como ela é representada nos diagramas de redes de computadores. Ela é uma abstração da complexa arquitetura que representa. Tim O'Reilly, CEO2 da O'Reilly Media, definiu a computação em nuvem da seguinte forma: It's one of the foundations of the next generation of computing. It's a world where the network is the platform for all computing, where everything we think of as a computer today is just a device that connects to the big computer we're building. Cloud computing is a great way to think about how we'll deliver computing services in the future. De acordo com esta definição, a computação em nuvem é um dos fundamentos para a próxima geração de computação, onde a rede será a plataforma, e tudo o que se pensa hoje em termos de computador, será apenas um dispositivo que se conectará ao grande computador que está sendo construído. A computação em nuvem é uma grande forma de pensar como serão distribuídos serviços computacionais no futuro. 2 CEO: Chief Executive Officer. Em português, "Diretor-executivo" ou "diretor-geral".

14 COMPARAÇÕES A Computação em Nuvem é freqüentemente confundida com os seguintes termos: Computação em Grade (Grid Computing), que é uma forma de computação distribuída onde um Super e Virtual Computador é composto de um cluster de computadores fracamente acoplados3, agindo em conjunto para realizar tarefas maiores. Grids também necessitam que aplicações estejam em conformidade com suas interfaces de software (IBM Grid Literature, 2006). O modelo grid difere do modelo de nuvem, pois é voltado a realização de tarefas específicas, com início e fim definidos, onde o modelo de nuvem (que pode utilizar em sua arquitetura a tecnologia de grid), é voltado ao fornecimento contínuo de um serviço. Computação Utilitária (Utility Computing), que é o empacotamento e disponibilização de recursos computacionais de processamento e armazenamento, através de um modelo de negócio de fornecimento de serviços, similar ao modelo adotado no fornecimento de energia elétrica, onde consumidores pagam pela quantidade de recursos consumidos. Embora pareçam similares, as diferenças entre utility computing e cloud computing são grandes. Utility computing está relacionada ao modelo de negócio em que se baseia o fornecimento de serviços, através da infra-estrutura de um provedor, onde normalmente o aumento de capacidade está atrelado ao upgrade de recursos. Já Cloud computing, apesar de utilizar o mesmo sistema de cobrança e fornecimento de serviços, 3 Computadores interligados através de uma rede.

15 15 possui habilidade para crescimento dinâmico de capacidade, tornando possível a alocação de recursos sob-demanda, em tempo real, permitindo que aplicações que necessitem de processamento mais intensivo não se limitem a capacidade de uma determinada infraestrutura. (IBM Systems Journal, 2004) Computação Autonômica (Autonomic Computing), que são sistemas de computadores capazes de auto-gerenciamento. O conceito teve origem quando a preocupação com o aumento do poder de processamento deixou de ser tão grande, e decidiu-se mudar a linha de pesquisa de forma a descobrir meios de construir computadores mais inteligentes, ao invés de poderosos. A abordagem utilizada para esta adição de inteligência foi a construção de sistemas baseados em elementos artificiais inspirados em elementos biológicos, permitindo assim que sistemas solucionem seus próprios problemas, dispensando a alocação de tempo e mão-de-obra necessárias a realização de manutenções. (IBM Research Autonomic Computing, 2009) Em computação em nuvem, o crescimento dinâmico de ambientes depende, entre outras coisas, que sistemas sejam capazes de perceber situações e tomar decisões por conta própria. De fato, muitas implementações de Computação em Nuvem realizadas atualmente, dependem de grids, possuem características autonômicas e são cobradas como serviços tradicionais. Nota do Autor:4 Este trabalho utiliza o termo Servidor para remeter a serviços e aplicações. O termo, em nenhuma forma, está diretamente associado a máquinas ou computadores, e sim, as aplicações que são executadas nos mesmos. 4 Servidor não é máquina, e sim, um processo. (Simone Markenson, 2008)

16 HISTÓRIA Resumidamente, computação em nuvem é um meio de distribuir recursos de TI como serviços. Quase todos os recursos de TI podem ser distribuídos como um serviço de nuvem: aplicações, poder de processamento, capacidade de armazenamento, networking, ferramentas de desenvolvimento, e até mesmo serviços de comunicação. A computação em nuvem começou a ser utilizada em larga escala por provedores de serviços de internet como Google5, Amazon6 e outros, com a construção de suas próprias infra-estruturas. Assim, uma nova arquitetura emergiu: Massively Scaled Recursos de sistemas distribuídos horizontalmente, abstraídos como serviços virtuais de TI, agrupados e gerenciados continuamente. Este modelo arquitetural foi apresentado por George Gilder, através do artigo The Information Factories7. Este artigo fala sobre uma arquitetura, onde os dados estão em sua maioria residentes em servidores em algum lugar na internet, e as aplicações rodam tanto em servidores de nuvem quanto no browser do usuário. Tanto nuvens como grids são construídos para escalonar horizontalmente de forma muito eficiente. Ambos foram desenhados para resistir a falhas de nós ou elementos individuais, e são cobrados por uso. No entanto, normalmente grids processam trabalhos 5 Google App Engine: Com o Google App Engine, é possível criar aplicativos da web sobre os mesmos sistemas escaláveis dos aplicativos do Google, através do fornecimento de um ambiente de aplicativos totalmente integrado, que facilita a criação de aplicativos escaláveis, que crescem de um usuário para milhões, sem preocupações com a infra-estrutura. <http://code.google.com/intl/pt-br/appengine/> Acessado em 05 de abril de Amazon EC2: Serviço web, que fornece através de nuvem, capacidade computacional redimensionável. É desenhado de forma a tornar mais fácil para desenvolvedores o escalonamento de aplicações web. <http:// aws.amazon.com/ec2/> Acessado em 05 e abril de The Information Factories: Revista Wired, outubro de <http://www.wired.com/wired/archive/14.10/ cloudware.html> Acessado em 05 de abril de 2009.

17 17 em série, com um ponto de início e fim definidos, a despeito de serviços em nuvem, que podem ser contínuos. Além disso, nuvens expandem os tipos de recursos disponíveis (armazenamento de arquivos, bancos de dados, e serviços web), e aumentam a aplicabilidade da web para aplicações empresariais. Ao mesmo tempo, o conceito de computação utilitária (utility computing), tornou-se foco em projetos e operações de TI. Como Nick Carr observou em seu livro The Big Switch8, a infra-estrutura de serviços de computação estava começando a se tornar similar ao uso da eletricidade como serviço fundamental. O livro em questão fala sobre como seria excepcional poder comprar recursos computacionais sob-demanda, pagando apenas pelo que fosse necessário, quando necessário. Para usuários finais, computação em nuvem significa que não existem custos com aquisição de hardware, gerenciamento de licenças ou upgrades de software, contratação de novos empregados ou consultores, locação de instalações, e custos de capital de qualquer natureza. Não existem custos implícitos, apenas uma contagem pelo consumo ou uma taxa fixa de inscrição. Utiliza-se somente o que for necessário, e paga-se somente pelo que for utilizado. A computação em nuvem eleva o modelo de computação utilitária ao próximo nível. É uma forma nova e evoluída deste modelo, em que muitos tipos diferentes de recursos (hardware, software, armazenamento, comunicações, etc.) podem ser combinados e recombinados on the fly9, para alcançar capacidades ou serviços específicos, de acordo com a necessidade do cliente. Desde ciclos de CPU para projetos de HPC (high performance computing10) a altíssima capacidade de armazenamento para backups de 8 The Big Switch <http://www.nicholasgcarr.com/bigswitch/> Acessado em 05 e abril de O termo On The Fly significa em tempo de vôo, ou seja, em tempo de execução, sem a necessidade de paralisação para alterar configurações. 10 High Performance Computing: Modelo de computação de alto desempenho, utilizado para processamento intensivo de dados, através de uma rede fracamente acoplada. Exemplo: Cluster.. <http://www.sun.com/servers/hpc/index.jsp> Acessado em 05 de abril de 2009.

18 18 grandes corporações, a computação em nuvem pode, em tempo real, distribuir virtualmente qualquer capacidade de TI ANATOMIA DA COMPUTAÇÃO EM NUVEM Enquanto a primeira revolução da internet viu o modelo three-tier11 ou ntier emergir como uma arquitetura geral, o uso de virtualização em nuvens criou um novo conjunto de camadas: aplicação, plataforma e infra-estrutura. Estas camadas não encapsulam apenas recursos sob-demanda, mas também definem um novo modelo de desenvolvimento de aplicações. Em cada camada de abstração, existe uma miríade de oportunidades de negócio, no tocante a definição de serviços que podem ser oferecidos em uma base pay-per-use12. Ilustração 2: Camadas da Computação em Nuvem 11 Three-tier: Modelo de programação em três camadas, onde o software é desenvolvido baseando-se em camadas de responsabilidades, e cada uma destas partes é executada em um computador diferente (Ariel Ortiz Ramirez, Julho de 2000). <http://www.linuxjournal.com/article/3508> Acessado em 05 de abril de Pay-per-use: Diretamente traduzido para o português: "pague para usar".

19 19 A ilustração 2 representa a fundação das camadas existentes em uma arquitetura de nuvem. Como se pode perceber, é necessário que se possua uma infraestrutura sólida, para que sob a mesma, possa estabelecer-se uma plataforma onde serão disponibilizadas aplicações baseadas em nuvem SOFTWARE COMO SERVIÇO (Software as a Service SaaS): Representada como Aplicação na ilustração 1, é a camada mais alta, e possui como característica oferecer serviço sob-demanda, em forma de uma aplicação completa, via multiarrendamento ou multitenancy (uma única instância de um software executa na infraestrutura e servidores de um operador de nuvem, e serve a múltiplas organizações clientes tenants). Um exemplo de SaaS é a empresa Salesforce.com. No entanto, existem outros, incluindo o Google Apps, que oferece serviços básicos de negócio, como o . As aplicações da Salesforce.com precedem em alguns anos a definição de computação em nuvem. No entanto, esta empresa criou um outro segmento, o Force.com, e passou a operar em mais de uma camada de computação em nuvem. Este segmento se apresenta de forma a ser um ambiente amigável de desenvolvimento de aplicações, também conhecido como Plataforma como Serviço PLATAFORMA COMO SERVIÇO (Platform as a Service PaaS): Representada como Plataforma na ilustração 1, é a camada do meio, e prevê o encapsulamento por abstração de um ambiente de desenvolvimento de serviços. Este ambiente abstraído normalmente é, por exemplo, uma imagem Xen13 (adotado pela Amazon 13 Xen: É um hypervisor, e suas imagens são máquinas virtualizadas. <www.xen.org> Acessado em 06 de abril de 2009.

20 20 Web Services) ou Vmdk14, contendo uma pilha básica web, que pode ser, por exemplo, uma distribuição Linux, com um servidor web e um ambiente de programação (como Perl15 ou Ruby16). Ofertas de PaaS podem sustentar todas as fases do desenvolvimento e teste de softwares, e podem também ser específicas a uma área particular, como gerência de conteúdos. Um exemplo comercial deste tipo de oferta é o Google App Engine, que serve aplicações na infra-estrutura do Google. Serviços PaaS como este podem prover uma grande flexibilidade. No entanto, podem ser limitados pela capacidade disponível no provedor INFRA-ESTRUTURA COMO SERVIÇO (Infrastructure as a Service IaaS): Representada como Infra-estrutura na ilustração 1, é a camada mais baixa de serviço fornecido, e representa um meio de distribuir através da rede serviços padronizados de armazenamento e capacidade computacional. Servidores, sistemas de armazenamento, switches, roteadores, e outros dispositivos são agrupados (através de tecnologia de virtualização, por exemplo) de forma a serem capazes de lidar com tipos específicos de cargas. O exemplo comercial mais conhecido desta camada é o Amazon Web 14 Vmdk (Virtual Machine Disk): É um dos formatos de discos virtuais utilizados por máquinas abstraídas pelos produtos da VMware <www.vmware.com> Acessado em 06 de abril de Perl (Practical Extraction And Report Language): É uma linguagem de programação estável e multiplataforma, utilizada em aplicações de missão crítica, onde destaca-se o uso para desenvolvimento de aplicações web de todos os tipos. <http://www.perl.org/> Acessado em 05 abril de Ruby: Linguagem dinâmica, open source, com foco na simplicidade e na produtividade. Tem uma sintaxe elegante de leitura natural e fácil escrita. <http://www.ruby-lang.org/pt/> Acessado em 05 abril de 2009.

21 21 Services, cujos serviços EC26 e S317 oferecem capacidade computacional e de armazenamento, respectivamente. Outro exemplo é a Joyent <http://www.joyent.com/> acessado em 05 de abril de 2009, cujo produto principal é uma linha de servidores virtualizados que fornecem uma infra-estrutura de alta escalabilidade sob-demanda, com a finalidade de rodar páginas web, incluindo aplicações mais bem elaboradas, escritas em Ruby on Rails18, PHP19, Python20 e Java21. Existe também o GoGrid <http://www.gogrid.com/> acessado em 06 de abril de 2009, que opera de forma semelhante à este último. Ilustração 3: Tipos de serviços de nuvem e alguns ofertantes, sobre as camadas que tornam possível a computação em nuvem. Autor: Cloudtrends. 17 S3: Simple Storage Service Serviço de armazenamento para internet, destinado a tornar a computação escalar para web mais fácil para desenvolvedores. <http://aws.amazon.com/s3/> Acessado em 05 de abril de Ruby on Rails: É um framework de desenvolvimento web, gratuito e de código aberto. <http://www.rubyonrails.pro.br/> Acessado em 05 de abril de PHP (Hypertext Preprocessor): É uma linguagem de programação amplamente utilizada, voltada ao desenvolvimento de conteúdo dinâmico para web. <http://php.net/> Acessado em 05 de abril de Python: É uma linguagem de programação de alto nível orientada a objetos, que pode ser utilizada para o desenvolvimento de vários tipos de aplicações. <http://www.python.org/> Acessado em 05 de abril de Java: Sua versatilidade, eficiência, portabilidade de plataforma e segurança fazem dela a tecnologia ideal para a computação em rede. <http://java.com/pt_br/about/> Acessado em 05 de abril de 2009.

22 22 A ilustração 3 exemplifica, na cor azul, os tipos de serviços de nuvem apresentados e algumas de suas operadoras. Na cor verde, as camadas tecnológicas que tornam a computação em nuvem possível. Nesta ilustração, têm-se uma visão mais clara da hierarquia tecnológica que dá origem a computação em nuvem. 2.4 TIPOS DE IMPLEMENTAÇÃO DA NUVEM Uma companhia pode escolher utilizar um provedor de serviços de nuvem ou construir seu próprio. Esta possibilidade deu origem a alguns conceitos, que possuem vantagens distintas: (Sun, 2009) NUVENS PÚBLICAS: São geridas por terceiros, e tarefas de muitos clientes diferentes compartilham recursos da infra-estrutura existente no interior da nuvem. Usuários finais não possuem visão sobre as tarefas de outros, e estas por sua vez, podem estar em execução no mesmo recurso, ao mesmo tempo. Esta é a forma tradicional de computação em nuvem, e também é conhecida como nuvem externa NUVENS PRIVADAS: São uma boa opção para companhias que lidam com proteção de dados e necessidades relacionadas ao nível de serviço. Elas são uma infraestrutura sob-demanda, mantidas por um único cliente, que controla quais aplicações irão executar, e onde. Neste modelo privado, o cliente possui o servidor, a rede, os discos, e

23 23 pode decidir quais usuários estarão autorizados a utilizar a infra-estrutura. Esta forma de computação em nuvem também é conhecida como nuvem interna. Mesmo os que se sentirem compelidos a construir uma arquitetura de nuvem privada, provavelmente sentirão a necessidade de executar também aplicações no espaço de uma nuvem pública. Esta necessidade dá origem a um outro conceito: o de Nuvem Híbrida NUVENS HÍBRIDAS: Combinam os modelos de nuvem pública e privada. Neste modelo, existem partes da infra-estrutura que são de uso exclusivo e partes que são de uso compartilhado. Nuvens híbridas pretendem oferecer escalonamento externo e sobdemanda, ao custo de ser necessário lidar com a complexidade existente em determinar como aplicações serão distribuídas por estes ambientes diferentes. Embora empresas possam se sentir atraídas pelas promessas de uma nuvem híbrida, acredita-se que esta opção, pelo menos inicialmente, será reservada apenas a aplicações apátridas, que não necessitarão de bancos de dados complexos ou esquemas de sincronização APROVEITAMENTO DA NUVEM Computação em nuvem não significa apenas que um usuário possa carregar em uma nuvem pública imagens de máquinas contendo toda sua pilha de software, como no caso da Amazon Web Services. Existem vários caminhos diferentes para explorar esta infra-estrutura, juntamente com o ecossistema de novos modelos de negócio.

24 USANDO A NUVEM: O número e qualidade de ofertas públicas de serviços baseados em nuvem é crescente (Johnm Willis, 2008). Usar uma nuvem é freqüentemente a melhor opção para iniciantes, projetos de pesquisa, desenvolvedores de web 2.0 ou apenas experimentadores, que desejem uma maneira simples e de baixo custo para iniciar. Quando se é iniciante em internet, é recomendável que se mantenha os custos com TI os menores possíveis. Esta é exatamente a finalidade de uma nuvem. A ilustração 4 exemplifica alguns dos ofertantes de serviços de nuvem. Ilustração 4: Ofertas de serviços de nuvem. Autor: Dion Hinchcliffe ALAVANCANDO A NUVEM: Normalmente, empresas estão utilizando nuvens públicas para funções específicas ou gerenciamento de picos de carga. A nuvem é uma alternativa para: Teste e Desenvolvimento: Este provavelmente é o caso mais interessante para empresas (e não apenas desenvolvedores iniciantes). Não há a necessidade de comprar computadores para iniciar um determinado projeto, sem saber se o mesmo será aprovado.

25 25 Descarga Funcional: Pode-se utilizar a nuvem para gerenciar picos de carga específicos. Como exemplo, a empresa SmugMug22 processa a miniaturização de imagens através de um processo batch (em seqüência) na nuvem. Segue um pronunciamento de Don MacAskill, CEO da SmugMug: We really don't want to operate datacenters anymore. We'd rather spend our time giving our customers great service and writing great software than managing physical hardware. Este pronunciamento expressa a vontade do diretor em focar seu tempo no desenvolvimento de melhores aplicações para os clientes, ao invés de desperdiçá-lo com administração de equipamentos. Antecipação: Nuvens oferecem uma nova opção para gerenciar picos de carga ou antecipar picos para serviços em demanda. Esta é uma opção muito atraente para empresas. No entanto, potencialmente é um dos mais difíceis casos de uso, pois o sucesso é dependente do estado total da aplicação, e também da interdependência com outros conjuntos de dados que podem necessitar serem replicados e balanceados entre dois sites. Experimentação: Não será mais necessário realizar o download de demos de novos softwares, para depois instalá-los, licenciá-los e só então poder testá-los. No futuro, a avaliação de softwares pode ser realizada dentro da nuvem, antes que licenças e suporte precisem ser comprados. 22 SmugMug: Serviço de compartilhamento de vídeos e fotos. <http://www.smugmug.com/> Acessado em 05 de abril de 2009.

26 CONSTRUINDO A NUVEM: Apesar dos benefícios econômicos da computação em nuvem, é necessária muita cautela na adoção da plataforma, pois deve-se antes de qualquer movimento, assegurar a aplicação rigorosa de políticas de segurança. Uma vez estabelecidos estes padrões, pode-se iniciar a migração e posteriormente a homologação de sistemas empresariais maduros em um ambiente de nuvem privada, de forma a avaliar e convencionar os níveis ideais necessários de capacidade computacional CARACTERÍSTICAS Serão examinadas agora algumas características que fazem da nuvem um ambiente atrativo INDEPENDÊNCIA DE DISPOSITIVO E LOCAL: Permite que usuários acessem sistemas utilizando um navegador web, independentemente de sua localização e dispositivo utilizado, tais como PCs, celulares, Thinclients23, etc. Sua infra-estrutura é offsite24 (normalmente fornecida por terceiros) e acessada pela internet, tornando possível o acesso a partir de qualquer lugar do mundo. 23 Thinclient: É um computador cliente de uma rede modelo cliente-servidor, que possui poucos ou nenhum aplicativo instalados, de forma a depender de um servidor central para o processamento de dados. 24 Off-site: Tomando lugar ou localizado longe do local original, com a finalidade de realizar uma determinada atividade. Ex: Uma estação de tratamento de resíduos. <http://www.answers.com/topic/offsite> Acessado em 05 de abril de 2009.

27 27 Ilustração 5: CherryPal C114. Autor: Green Corporation. A ilustração 5 mostra um dispositivo para utilização de pilhas web, que podem ser sistemas operacionais completos MULTI-LOCAÇÃO: Possibilita o compartilhamento de recursos e distribuição de custos entre um grande grupo de usuários, tornando possível: Centralização da infra-estrutura em áreas de baixo custo; Aumento da capacidade de gerenciamento de picos; Melhor aproveitamento e eficiência de sistemas ociosos; Aumento da Confiabilidade através do uso de múltiplos sites redundantes (continuidade do negócio e recuperação de desastres); Aumento da Escalabilidade através de fornecimento sob-demanda, em tempo real, de recursos computacionais; Aumento da Segurança devido à tratamento cauteloso dos dados; Aumento da Sustentabilidade, pois com a melhor utilização de recursos,

28 28 menor é a energia consumida com operação e resfriamento de máquinas, diminuindo assim a emissão de carbono MITIGAÇÃO DE RISCOS Apesar da evolução da tecnologia de computação em nuvem, é possível que com o advento da crise financeira global iniciada no ano de 2008, empresas fiquem receosas em adotá-la. É provável que a questão da segurança neste tipo de ambiente seja um dos principais motivos causadores de preocupações quando se pensa em adotar a plataforma, pois a grande maioria dos administradores de rede estão acostumados a estarem próximos a seus ambientes. Uma outra questão a ser considerada é a disponibilidade dos dados. É recomendável que antes de se contratar uma infra-estrutura de nuvem seja feita uma análise cautelosa na Política de Segurança do provedor do serviço. A empresa Gartner25, que possui foco em consultoria e análise tecnológica, exemplifica alguns itens que devem ser discutidos em detalhes com o fornecedor da solução, e quais as informações devem ser solicitadas. Esta lista pode ser visualizada abaixo. 1. Acesso Privilegiado por Usuário: Questionar sobre quem possuirá acesso especializado aos dados, e também sobre a contratação e gerência de tais administradores; 25 Gartner: Seven cloud-computing security risks <http://www.infoworld.com/d/security-central/gartnerseven-cloud-computing-security-risks-853> Acessado em 05 de abril de 2009.

29 29 2. Conformidade da Concessão: Certificar-se de que o fornecedor está disposto a se submeter à auditorias externas e certificações de segurança; 3. Locação de Dados: Consultar se o provedor permite algum nível de controle sobre a locação dos dados; 4. Segregação de Dados: Certificar-se de que existe uso de criptografia em todos os estágios da migração e também da operação, e que os esquemas criptográficos tenham sido desenhados e testados por profissionais experientes; 5. Recuperação: Saber em quanto tempo dados extraviados por uma situação de desastre podem ser recuperados, e também se será possível realizar uma restauração completa do ambiente; 6. Suporte Investigativo: Questionar se o fornecedor dispõe de profissionais qualificados para investigar a ocorrência de possíveis atividades impróprias ou ilegais; 7. Termo de Longa Viabilidade: Deixar claro o que acontecerá com os dados caso a companhia abandone o negócio, e também como estes serão devolvidos e em qual formato. Como se pode perceber pelos itens acima, é de extrema importância levar em consideração a segurança do ambiente, pois este novo conceito de computação em nuvem pode causar a impressão de que esta plataforma é uma solução definitiva para

30 30 alguns dos problemas de infra-estrutura enfrentados atualmente. Assim, vale ressaltar que deve existir uma grande preocupação com as decisões e ações que devem ser executadas em caso de desastre. Devido ao disposto, é recomendável que além dos itens sugeridos faça-se uso de tecnologias que garantam a consistência e a disponibilidade dos dados das empresas. Algumas destas tecnologias podem ser vistas no Capítulo 4.

31 31 CAPÍTULO VIRTUALIZAÇÃO Embora as tecnologias fundamentais da computação em nuvem como escalabilidade horizontal e computação distribuída já estejam disponíveis há algum tempo, a Virtualização (abstração de recursos computacionais) é a Pedra Angular26 da tecnologia para todas as arquiteturas de nuvem. Com a capacidade para virtualizar computadores, dispositivos de armazenamento, desktops e aplicações através de um sistema operacional abstraído por um hypervisor27, um amplo vetor de recursos de TI pode ser alocado sobdemanda. 26 A Pedra Angular: Salmo 118:22 A pedra angular que os construtores rejeitaram, veio a ser posta como principal pedra. 27 Hypervisor: Permite que um computador rode múltiplos sistemas operacionais simultaneamente. <http:// Acessado em 06 de abril de 2009.

32 32 Ilustração 6: Virtualização Autor: Vmware. A ilustração 6 exemplifica como computadores são virtualizados. Uma camada de virtualização é adicionada entre o hardware e o sistema operacional, e permite que múltiplos sistemas operacionais executem concorrentemente como máquinas virtuais, em um único computador, compartilhando e particionando dinamicamente os recursos físicos (processador, memória, rede e armazenamento). O crescimento nos últimos anos da disponibilidade ubíqua de redes de banda larga a custos acessíveis é igualmente crítico. O que outrora estava disponível apenas a uma pequena porcentagem de usuários de internet, agora é oferecido à maior parte do mundo. A banda larga permite que massivos recursos de computação e dados sejam acessados através de um browser. Recursos virtualizados podem estar em qualquer lugar na nuvem, podendo ser acessados remotamente por programadores ou usuários finais. Adicionalmente, através de tecnologias capacitantes, a computação em nuvem pode remeter a capacidades de TI em uma escala absolutamente sem precedentes. Alguns exemplos destas tecnologias são:

33 33 Microsystems, Sistemas de Arquivo sofisticados, a exemplo do ZFS28 da Sun que pode suportar uma capacidade virtualmente ilimitada de armazenamento, garantir a integridade e gerência de dados, e até gerar clones de discos que estejam em operação. Padrões de Arquitetura, que permitem o desenvolvimento acelerado de estruturas de nuvem super-escalares, através do fornecimento de soluções redundantes para problemas comuns. Novas Técnicas, voltadas a gerência de dados estruturados, não- estruturados e semi-estruturados, podem fornecer uma melhoria radical no processamento intensivo de dados. Imagens de Máquinas (snapshots), podem ser instantaneamente mobilizadas, simplificando e acelerando dramaticamente a alocação de recursos, aumentando assim a agilidade e responsividade de operações de TI. Ilustração 7: Recursos físicos migrados para Nuvem Autor: Gene Smith 28 ZFS: The Solaris ZFS offers a dramatic advance in data management with an innovative approach to data integrity, tremendous performance improvements, and a welcome integration of file system and volume management capabilities. <http://www.sun.com/software/solaris/zfs_learning_center.jsp> Acessado em 05 de abril de 2009.

34 34 A ilustração 7 simboliza a migração de arquiteturas físicas para arquiteturas de nuvem. Nesta imagem, são usados como recursos para implementação da nuvem servidores blade e storages. Virtualização é a pedra angular em concepção técnica para todas as arquiteturas de nuvem. Na computação em nuvem, refere-se primariamente a virtualização de plataforma ou abstração de recursos físicos de TI, das pessoas e aplicações que os usam. Ela permite que servidores, dispositivos de armazenamento, e outros hardwares sejam tratados como um grupo de recursos ao invés de sistemas discretos, fazendo com que estes recursos possam ser alocados sob-demanda. Na computação em nuvem, existe o interesse em técnicas como paravirtualization, que permite que um único servidor seja tratado como múltiplos servidores virtuais, e clustering, que permite que múltiplos servidores sejam tratados como um único servidor. Como um meio de encapsulamento de recursos físicos, a virtualização resolve vários dos desafios do núcleo de gerentes de data-centers, e traz ainda algumas vantagens específicas, incluindo: Altas taxas de utilização: Anteriormente a virtualização, estimava-se que a taxa média de utilização da maioria das máquinas e dispositivos de armazenamento em data-centers empresariais era inferior a 50% da capacidade disponível, e que taxas entre 10% e 15% eram comuns. A ilustração 8 exemplifica esta estatística. Através da virtualização, cargas podem ser encapsuladas e transferidas para sistemas ociosos ou subutilizados o que significa que sistemas já existentes podem ser consolidados, e que a compra de hardware adicional pode ser adiada ou evitada.

35 35 Baixo consumo de CPU e RAM, mesmo com 5 máquinas abstraídas Melhor Aproveitamento de Recursos Ilustração 8: Caso real de consolidação de servidores: Baixo consumo de CPU justifica virtualização. Autor: Azul Seguros Consolidação de recursos: A virtualização permite consolidar múltiplos recursos de TI. Além da consolidação de servidores e armazenamento, ela provê uma oportunidade para consolidar a arquitetura dos sistemas, a infra-estrutura de aplicações, bancos de dados, interfaces, redes, estações de trabalho, e até processos do negócio, resultando em diminuição de custos e aumento de eficiência.

36 36 Menor consumo de energia: O custo da eletricidade necessária para implementar data-centers empresariais está ascendendo. Estima-se (Sun Microsystems, 2009) que para cada dólar gasto em hardware para computadores servidores de aplicações, um dólar adicional é gasto em energia (incluindo o custo para rodar e resfriar máquinas). Usar a virtualização para consolidar serviços torna possível diminuir o consumo total de energia, e conseqüentemente o de capital. Economia de espaço físico: O aumento da quantidade de computadores servidores continua sendo um problema sério na maioria dos data-centers, e a expansão deste último nem sempre é uma opção disponível, pois os custos de construção são sempre muito elevados. A virtualização pode aliviar esta tensão, pois permite consolidar muitos sistemas virtuais em poucos sistemas físicos. Recuperação de desastres: A virtualização pode aumentar as taxas de disponibilidade de serviços em todas as áreas, fornecendo novas opções em soluções de recuperação de desastres, garantindo assim a continuidade do negócio. Custos reduzidos de operação: Acredita-se que existe uma proporção de 8 para 1, em termos de despesas com manutenção e aquisição de nova infra-estrutura, respectivamente. A virtualização pode mudar a racionalização máquinas/administrador, reduzindo o total de carga administrativa necessária, diminuindo assim custos operacionais. A ilustração 8 mostra a janela de administração básica de um sistema VMWare Server (VMWare, 2009), que é um dos produtos de virtualização disponíveis no

37 37 mercado. Como se pode perceber, os hosts consolidados (virtualizados), bem como o computador em que ocorre a virtualização, consomem muito pouco processamento, dando a visão clara de como recursos podem ser melhor aproveitados através do uso desta técnica VIRTUALIZAÇÃO DE SISTEMAS OPERACIONAIS O uso de Níveis de Virtualização ou Particionamento de Recursos29 (IBM, 2008) em arquiteturas de nuvem pode ajudar a resolver alguns dos problemas de segurança, privacidade e questões regulatórias existentes na mesma, e que atrasam sua adoção VIRTUALIZAÇÃO DE PLATAFORMA Permite que sistemas operacionais distintos (Linux, Windows, Solaris, etc.) e suas respectivas aplicações executem em um determinado sistema. Existem dois modelos básicos: Virtualização Completa Total simulação de hardware: Um 29 Particionamento de Recursos: Subconjunto de recursos de hardware, virtualizados como computadores independentes, onde uma máquina física pode ser particionada em múltiplas máquinas lógicas.

38 38 computador completo, com seus respectivos componentes (disco, rede, memória, vídeo, etc.) é emulado através da implementação de Hypervisors Tipo 2, que executam no topo de um sistema operacional tradicional; Paravirtualização Oferece um modelo similar do hardware subjacente, compartilhando recursos físicos do mesmo, através da implementação de Hypervisors Tipo 1, que executam diretamente no hardware. Existem vantagens e desvantagens em cada um dos modelos de virtualização de plataforma. Normalmente, quanto mais abstraído do hardware subjacente é o sistema operacional, menos características específicas podem ser acessadas. O aumento da abstração também pode aumentar a probabilidade de ocorrerem limitações e reduções na performance. Por outro lado, como se pode observar na ilustração 9, quanto menos abstraído é o sistema operacional, mais características específicas podem ser acessadas, e menor é a probabilidade de ocorrerem limitações e reduções de performance. No entanto, podem ocorrer potenciais problemas de compatibilidade.

39 39 Ilustração 9: Relação entre Funcionalidade e Abstração. Autor: Sam Johnstone VIRTUALIZAÇÃO DE REDE Técnicas de Balanceamento de Carga são um constante em computação de nuvem, pois a medida que se escalam os sistemas físicos e virtuais, igualmente escala-se a complexidade de gerenciar os picos de carga que são gerados na distribuição dos serviços. Balanceadores de carga agrupam múltiplos computadores e serviços atrás de um endereço IP virtual. Eles realizam a distribuição dos recursos de acordo com as requisições aos serviços, e fornecem resistência automática a falhas quando estas ocorrem em um dos nós da arquitetura. Enquanto balanceadores baseados em hardware superam em performance os balanceadores baseados em software, sua flexibilidade é sempre limitada. Engenheiros terminaram por fim escrevendo softwares que interagem com o hardware

40 40 através de interfaces sub-otimizadas, ou ainda através do uso de um grande número de computadores para resolver o problema em questão. Um desafio significativo em redes de computação em nuvem não é apenas o fornecimento de uma interface individual e virtual de rede para um dado ambiente, mas também a necessidade crescente de infra-estruturas de nuvem que ofereçam data-centers privados mais complexos, e que provisionem um conjunto de diferentes papéis com interconexões lógicas entre si VIRTUALIZAÇÃO DE APLICAÇÕES Existe também a figura dos containers30 dentro da nuvem. A tecnologia de container web implementada na nuvem impacta diretamente na produtividade e flexibilidade do desenvolvedor. O container web é a parte da aplicação servidora que gerencia Servlets31, arquivos JSP32, e outros componentes de 3 camadas (web-tier). Atualmente, a maior parte dos ofertantes de computação em nuvem concentram-se em virtualização de plataforma, e o desenvolvedor escolhe qual sistema operacional será utilizado como plataforma de desenvolvimento. No entanto, com o aumento da quantidade de nuvens públicas, provavelmente nuvens privadas irão oferecer 30 Container: Elemento de software que implementa múltiplos recursos, aumentando a flexibilidade de desenvolvimento de aplicações. <http://java.sun.com/webservices/containers/index.html> Acessado em 05 de abril de Servlet: Mecanismo simples e consistente para expandir as funcionalidades de um servidor web. <http://java.sun.com/products/servlet/index.jsp> Acessado em 05 de abril de JSP (JavaServer Page): Fornece um meio rápido e simples de criar conteúdo web dinâmico <http://java.sun.com/products/jsp/> Acessado em 05 de abril de 2009.

41 41 abstrações de ambientes de programação de nível mais elevado. Espera-se que com o passar do tempo, o nível de abstração das interfaces para desenvolvedores avance, ao passo que novas funcionalidades agreguem-se à plataforma. Ilustração 10: Imagem retirada do filme The Matrix. Autores: Andy Wachowski e Larry Wachowski Off-Topic: A ilustração 10 refere-se a uma idéia curiosa sobre virtualização, que foi utilizada no cinema. No filme The Matrix (1999), seres humanos eram virtualizados.

42 42 CAPÍTULO IMPLEMENTANDO UM AMBIENTE DE NUVEM Padrões abertos são críticos para o crescimento da computação em nuvem, e softwares livres fornecem a fundação para muitas implementações desta tecnologia. Este trabalho não se destina a ser um manual de instalação de sistemas operacionais. Por isso, serão cobertos aqui apenas os pontos relevantes de configuração destes. No entanto, a instalação e configuração das aplicações será apresentada de forma mais detalhada, pois estão diretamente ligadas a materialização do ambiente. Todos os softwares e sistemas utilizados neste trabalho são de código aberto ou livres de licenças, não constituindo seu uso infração de distribuição não autorizada ou violação de copyright. Os scripts apresentados foram desenvolvidos pelo autor, e podem ser utilizados e alterados livremente, desde que sejam mantidos os créditos originais. Será apresentada a seguir uma breve descrição das aplicações e ferramentas utilizadas nesta implementação.

43 SISTEMAS UTILIZADOS OpenSolaris: Versão open source do sistema Solaris, utilizado tipicamente em grandes empresas. Possui alta tolerância a cargas e falhas, além de grande performance, e conta com recursos nativos de virtualização e alta disponibilidade. (Sun Microsystens, 2009) Slackware: Distribuição Linux rápida e estável, que apesar do uso ser relativamente fácil, é adotada por administradores mais experientes. (Volkerding, 2009) Debian: Distribuição Linux de fácil administração, que conta com milhares de softwares disponíveis em sua base. (Debian GNU/Linux, 2009) ViCompress: É um proxy de cache para o protocolo HTTP, que possui suporte a compressão de dados. Open source e extremamente flexível, é utilizado para reduzir o consumo de banda e aumentar os tempos de resposta em aplicações que rodam no protocolo HTTP. Possui a habilidade para compactar páginas de texto, fazendo com que a quantidade de dados a ser transferida seja reduzida, minimizando assim o consumo do link de dados, possibilitando desta forma transferências mais rápidas. (ViSolve, 2009) Apache: Servidor web (HTTP/HTTPS) open source de grande robustez. O objetivo de seus desenvolvedores é fornecer um servidor seguro, eficiente e expansível, que esteja em conformidade com o padrão HTTP. É o servidor web mais popular da Internet desde Abril de (The Apache Software Foundation, 2009)

44 44 OpenSSL: Conjunto de ferramentas open source, robustas e completas em funcionalidades, que fornecem uma forte biblioteca criptográfica voltada a implementar as criptografias SSL (Secure Sockets Layer) v2/v3 e TLS (Transport Layer Security) v1, o que possibilita realizar comunicações seguras. (OpenSSL Project, 2009) PHP: Linguagem de programação amplamente utilizada, voltada ao desenvolvimento de aplicações web. A figura 11 exemplifica o crescimento da adoção da linguagem PHP (Hypertext Preprocessor) nos últimos anos. (PHP, 2009) Ilustração 11: Adoção da linguagem PHP nos últimos anos. Autor: PHP Netfilter (IpTables): Firewall nativo em sistemas Linux capaz de operar nos modos stateless packet filtering e statefull packet filtering. É capaz ainda de realizar tradução de endereços de rede (NAT) e outras funções avançadas, como filtragem por strings, que podem ser lidas de dentro de cabeçalhos. (Netfilter, 2009) Net-SNMP: Conjunto de aplicações open source, que implementam os protocolos SNMPv1, SNMPv2c e SNMPv3, utilizados na gerência de sistemas e ambientes de rede. (Net-SNMP, 2009)

45 45 DjbDNS: Servidor DNS rápido e seguro, que segundo seu desenvolvedor, é imune aos tipos de ataque desferidos contra servidores convencionais. Existe uma recompensa em dinheiro para o primeiro que descobrir uma falha de segurança neste software. (D.J.Bernstein, 2009) Nagios: Ferramenta bem conhecida para gerência de redes. Possibilita a monitoria de serviços, máquinas e ativos de rede. As informações obtidas podem ser utilizadas em planejamento pró-ativo, identificação e resolução rápida de problemas. Pode ser customizada de forma a atender qualquer tipo de monitoramento. (Nagios, 2009) Cacti: Ferramenta de fácil uso complementar ao Nagios. Gera e armazena gráficos de monitoramento, que são administrados através de uma interface intuitiva. Muito robusto, é capaz de monitorar redes com centenas de ativos. (Cacti, 2009) Centreon: Ferramenta que roda sob a plataforma Nagios. Através de sua interface, facilita a configuração e consolida o uso deste sistema. (Centreon, 2009) MySQL: Banco de Dados open source muito popular devido a sua consistência, desempenho, confiabilidade e fácil operação. (MySQL, 2009) EyeOS: Aplicação que simula um sistema operacional através de tecnologias web. (EyeOS, 2009) OpenOffice: Suíte open source completa de escritório. Seu desenvolvimento já alcançou um grau de maturidade que o torna comparável às suítes

46 46 comerciais. (OpenOffice, 2009) Scripts: Desenvolvidos para facilitar a instalação, aumentar a segurança, suportar a integração, a gerência e a manutenção da arquitetura apresentada DIAGRAMA DE REDE Para a implementação prática deste trabalho, propõe-se o diagrama de rede exibido na ilustração 12. Ilustração 12: Diagrama de rede proposto para realização do trabalho.

47 47 1) Cloud Server: Principal fornecedor de serviços deste projeto. Foi escolhida a plataforma OpenSolaris para seu desenvolvimento, devido ser uma plataforma estável, robusta e de grande performance, além de possuir ferramentas nativas para virtualização e expansão dinâmica de recursos. Como algumas das preocupações são a escalabilidade e a disponibilidade do ambiente, a plataforma em questão apresentou-se como melhor alternativa. 2) Banco de Dados: Foi utilizada a aplicação MySQL como servidor de banco de dados, devido a sua grande popularidade, consistência, performance, fácil operação e manutenção. 3) Gerência: Através das aplicações Nagios, Cacti e Centreon, realiza o monitoramento ostensivo do ambiente, bem como a coleta de informações úteis, como consumo de processamento, disco e banda de rede. O monitoramento permite saber o estado dos hosts (se os mesmos estão online e com tempo de resposta adequado), e dos serviços (se os mesmos estão rodando e respondendo de forma otimizada). A coleta das informações citadas permite que seja realizado um planejamento pró-ativo de crescimento da arquitetura, bem como identificar onde e quando falhas ocorrerem, através de avisos e alarmes configurados com base em thresholds33, afim de diminuir o downtime34 e agilizar a resolução de problemas. 33 Valores mínimos toleráveis, que representam o estado normal de um determinado sistema. A excedência destes valores significa que um sistema está operando fora de suas especificações, e que uma ação corretiva deve ser empregada, afim de restabelecer o estado normal do mesmo, evitando dificuldade ou instabilidade no acesso ao recurso. 34 Quantidade de tempo que um determinado host ou serviço permanece indisponível.

48 48 4) Backup Server: Serviço responsável por realizar e manter cópias de segurança de informações sensíveis, como dados de usuários, configurações de sistemas e informações armazenadas em banco de dados. A implementação deste serviço permite que sejam recuperadas em pouco tempo informações necessárias a reconstrução parcial ou total de ambientes, bem como dados que eventualmente possam ser extraviados pelos usuários. 5) Firewall + Proxy Reverso + VPN: Fornece a segurança fundamental do ambiente, bem como evita o processamento redundante de informações, além de garantir um meio seguro para administração dos sistemas. A segurança é implementada através da utilização do Netfilter (IpTables), que através da criação de regras de acesso, permite a comunicação entrante oriunda de ambiente externo apenas para as aplicações disponibilizadas publicamente. O proxy reverso, como encontra-se antes do Cloud Server, intercepta as requisições HTTP e HTTPS, evitando que este tenha que processar e responder novamente a uma solicitação que já tenha sido realizada e armazenada em cache anteriormente, como o acesso a uma determinada página ou imagem. Este serviço aumenta a confiabilidade do ambiente, pois faz com que o cloud server processe apenas requisições úteis, diminuindo assim o desperdício de ciclos de CPU. A VPN fornece um nível a mais de segurança, pois disponibiliza um canal seguro (criptografado) para que os administradores realizem intervenções mais avançadas. Ela permite que os sistemas sejam acessados e configurados remotamente, apenas por pessoal autorizado. 6) DNS Server: Serviço que associa endereços IP a FQDN (full qualified domain name), que são nomes de domínio qualificados, como por exemplo, univercidade.br. É fundamental para que os serviços possam ser acessados através da internet e da intranet. Foi escolhida a aplicação DjbDNS, pois possui excepcional

49 49 desempenho e segurança. Segundo seu desenvolvedor, é imune aos ataques conhecidos, como por exemplo, envenenamento de cache de zonas. Ainda segundo seu desenvolvedor, devido a arquitetura modular da aplicação, onde 3 programas realizam tarefas específicas (diferentemente de outras aplicações monolíticas, onde apenas uma aplicação realiza todo o trabalho), um simples computador 486 é capaz de gerenciar mais de 500 domínios, com um desempenho satisfatório. A confiança de seu mantenedor em seu trabalho é tão grande que há uma recompensa em dinheiro para quem apontar falhas de segurança na aplicação. Nota: De acordo com a ilustração 12, o ambiente proposto apresenta o uso de um Roteador, VLANs e máquinas independentes, responsáveis pelos servidores. A idéia inicial era utilizar um roteador virtual, emulado com a aplicação Dynamips (Christophe Fillot, 2009), através da interface GNS3 (Jeremy Grossmann e Xavier Alt, 2009). No entanto, devido ao baixo desempenho e limitações deste emulador, o mesmo não pôde ser utilizado, pois comprometeria a qualidade do projeto. Outras limitações foram a disponibilidade de ativos de rede (switch gerenciável, para criação de VLANs), capacidade de processamento e quantidade de memória (para execução de máquinas virtuais). Devido a isso, foi necessário o acúmulo de funções, se fazendo necessário executar mais de um servidor por máquina virtual, onde o ideal seria que cada máquina ficasse responsável por apenas um servidor. Porém, a qualidade do resultado final não ficou comprometida com esta prática.

50 INSTALAÇÃO DOS SISTEMAS As informações apresentadas a seguir não compreendem a única forma possível para a materialização do ambiente proposto. Elas expressam apenas o ponto de vista do autor, e foram elaboradas levando-se em consideração os limites dos recursos disponíveis durante a realização do projeto. Devido a estas limitações, será implementada apenas a parte que se acredita ser a mais nobre. Isto significa que os serviços de VPN e Backup não serão implementados, além de que alguns processos tenham que ser acumulados em um mesmo host, conforme descrito na tabela a seguir: NR FUNÇÃO NOME DE HOST SERVIÇOS 1 firewall alfa Firewall, Proxy Reverso e DNS 2 cloudserver beta Serviços e Aplicações Web 3 gerencia gama Nagios, Cacti e Banco de Dados Apesar do disposto, foram observadas boas práticas de segurança e configuração das aplicações envolvidas. Os nomes de host praticados foram escolhidos com base em orientação do professor Paulo Mendonça (Segurança de Redes) em sala de aula, de que deve-se evitar utilizar nomes cognitivos para máquinas importantes em um ambiente de rede. Por convenção, serão adotadas as seguintes nomenclaturas para os segmentos de rede utilizados: DMZ: Área onde serão fornecidos serviços publicamente. LAN: Área de tráfego interno apenas.

51 FIREWALL + PROXY REVERSO + DNS: Sistemas de firewall são fundamentais para a segurança de ambientes de rede, pois previnem o acesso não autorizado a estas ou a serviços específicos, através da criação de perímetros de segurança (Paulo Mendonça, 2009). Este trabalho aborda a implementação de um Firewall Statefull, pois como está sendo levada em consideração a segurança do ambiente, acredita-se que este modelo seja o mais adequado. Também será feito uso de um proxy reverso, que ficará localizado antes do servidor web, e funcionará realizando cache de páginas e arquivos acessados com maior freqüência, evitando desta forma que o servidor web desperdice recursos com tarefas redundantes, realizando na maior parte do tempo operações mais relevantes. O serviço DNS, por ser sensível, foi escolhido com cautela, pois está sendo buscada nesta implementação a maior performance e segurança possível. Todos estes ficarão alocados em uma mesma máquina, que no tocante a hardware, propõe-se que possua 3 interfaces de rede, para que se possam acomodar todos os segmentos da mesma. Deverá ainda, possuir um disco de 20Gb e 256Mb de memória RAM. Para sistema operacional, será utilizado o Slackware 12.2, sem ambiente gráfico, levando-se em consideração os seguintes detalhes: Particionamento de Disco: Do total disponível, 25% deverão ser alocados para a partição root ( / ), 25% para a partição usr, 10% para a partição swap e o restante para a partição var. O filesystem utilizado deverá ser o EXT4, devido sua consistência e desempenho, proporcionados por técnicas como Alocação Tardia, Marcas Temporais de maior resolução (nanosegundos) e verificações melhores de integridade. (Mathur, 2007) Configurações de Rede: O nome de host deverá ser alfa. Será utilizado um domínio fictício para todas as máquinas deste trabalho, denominado

52 52 forenaite.net. A interface de rede identificada por eth0 será responsável pela comunicação do segmento DMZ, que representa a área onde serão disponibilizados serviços publicamente através da internet, e deverá possuir o endereço IP /28. A interface de rede identificada por eth1 será responsável pela comunicação do segmento LAN, onde serão realizadas as comunicações internas, como gerência do ambiente, acesso a banco de dados e gravação de backups (este último não implementado neste trabalho). O endereço IP deverá ser /26. A interface de rede identificada por eth2 será responsável pela comunicação com a rede externa (internet). Deverá possuir endereço de rede /24, pois é um endereço IP pertencente ao mesmo segmento de rede do link de dados utilizado durante o desenvolvimento deste trabalho. Seu gateway deverá ser , pois neste trabalho é quem fornecerá acesso à internet. Finalizando a configuração básica de rede, existe a figura do servidor DNS, que será o próprio firewall, pois conforme explicado no início deste capítulo, algumas funções serão acumuladas. O endereço utilizado será , tendo em vista que os processos de firewall e DNS estarão executando no mesmo host. Observação: A instalação padrão do sistema Slackware não fornece opção para configurar todas as interfaces de rede. De fato, permite que seja configurada apenas uma interface no ato da instalação. Para configurar as demais interfaces, será necessário editar o arquivo /etc/rc.d/rc.inet1.conf, adicionando ao mesmo as configurações pendentes, conforme exibido na ilustração 13.

53 53 Ilustração 13: Adicionando as configurações pendentes Para validar as alterações, basta reiniciar o serviço de rede, através da execução do comando /etc/rc.d/rc.inet1 restart Configurações de Segurança: Conforme dito no capítulo 4.3.1, para a implementação da solução proposta será utilizado um Firewall Statefull, através da utilização da aplicação IPTables. Para isso, deverá ser criado em /etc/rc.d/rc.firewall um script, que realizará a configuração desta aplicação. Este script deverá possuir o seguinte conteúdo: #!/bin/bash # Fore FW. Andre Rocha, Maio de 2009 case "$1" in stop) # Limpa as regras do Firewall # iptables -F iptables -t nat -F iptables -X 2> /dev/null iptables -t nat -X 2> /dev/null ;;

54 54 start) # Declara Interfaces # IF_DMZ=eth0 IF_LAN=eth1 # Interface que da acesso ao link intrenet IF_INET=eth2 # Declara Redes # LAN= /26 DMZ= /28 # Rede utilizada durante o desenvolvimento do trabalho INET= /24 # Ativa o forward de IPs # /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # Limpa as regras do Firewall # iptables -F iptables -t nat -F iptables -X 2> /dev/null iptables -t nat -X 2> /dev/null # Nega todos os acessos por padrao # iptables -P INPUT DROP iptables -P FORWARD DROP # Evita Spoofing iptables -A FORWARD -i $IF_INET -s! $INET -j DROP iptables -A FORWARD -i $IF_LAN -s! $LAN -j DROP iptables -A FORWARD -i $IF_DMZ -s! $DMZ -j DROP iptables -P OUTPUT ACCEPT # Habilita o NAT iptables -t nat -A POSTROUTING -o $IF_INET -j MASQUERADE # Permite Loopback iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -i lo -j ACCEPT # Habilita modo Statefull iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Descarta pacotes invalidos iptables -A FORWARD -m state --state INVALID -j DROP iptables -A INPUT -m state --state INVALID -j DROP # Libera IPs da Administracao iptables -A FORWARD -s j ACCEPT iptables -A FORWARD -s j ACCEPT # Permite Acesso ao Proxy Reverso # PortasTCP=" " for A in $PortasTCP do iptables -A INPUT -i $IF_DMZ -p tcp --dport $A -j ACCEPT iptables -A INPUT -i $IF_LAN -p tcp --dport $A -j ACCEPT iptables -A INPUT -i $IF_INET -p tcp --dport $A -j ACCEPT done

55 55 # Permite acesso ao DNS iptables -A INPUT -i $IF_LAN -p udp --dport 53 -j ACCEPT iptables -A INPUT -i $IF_DMZ -p udp --dport 53 -j ACCEPT iptables -A INPUT -i $IF_INET -p udp --dport 53 -j ACCEPT # Permite SSH - Nao deve ser liberado em caso de producao iptables -A INPUT -i $IF_LAN -p tcp --dport 22 -j ACCEPT iptables -A INPUT -i $IF_DMZ -p tcp --dport 22 -j ACCEPT # Permite Ping # iptables -A INPUT -i $IF_DMZ -p icmp -j ACCEPT iptables -A INPUT -i $IF_LAN -p icmp -j ACCEPT iptables -A INPUT -i $IF_INET -p icmp -j ACCEPT iptables -A FORWARD -i $IF_DMZ -p icmp -j ACCEPT # Permite SNMP # iptables -A INPUT -i $IF_LAN -p udp --dport 161 -j ACCEPT # Permite acesso aos/dos servidores da ServerLAN=" " for I in $ServerLAN do iptables -A FORWARD -i $IF_LAN -p tcp iptables -A FORWARD -i $IF_LAN -p udp iptables -A FORWARD -i $IF_LAN -p tcp iptables -A FORWARD -i $IF_LAN -p udp iptables -A FORWARD -i $IF_DMZ -p tcp iptables -A FORWARD -i $IF_DMZ -p udp iptables -A FORWARD -i $IF_DMZ -p tcp iptables -A FORWARD -i $IF_DMZ -p udp iptables -A FORWARD -i $IF_DMZ -p tcp iptables -A FORWARD -i $IF_DMZ -p udp iptables -A FORWARD -i $IF_INET -p tcp iptables -A FORWARD -i $IF_INET -p udp done # Bloqueia NETBIOS NetBIOS=" " for L in $NetBIOS do iptables -A FORWARD iptables -A FORWARD iptables -A FORWARD iptables -A FORWARD iptables -A FORWARD iptables -A FORWARD done # Habilita Logs # Logs=" " for G in $Logs do iptables -A INPUT "InputDeny_eth$G-Log " iptables -A INPUT iptables -A FORWARD "ForwardDeny_eth$G-Log " iptables -A FORWARD done ;; -i -i -i -i -i -i $IF_LAN $IF_LAN $IF_DMZ $IF_DMZ $IF_INET $IF_INET LAN # -d -d -s -s -d -d -s -s -o -o -o -o -p -p -p -p -p -p $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $I -j ACCEPT $IF_INET -j ACCEPT $IF_INET -j ACCEPT $IF_DMZ -j ACCEPT $IF_DMZ -j ACCEPT tcp udp tcp udp tcp udp --dport --dport --dport --dport --dport --dport $L $L $L $L $L $L -i eth$g -j LOG --log-prefix -i eth$g -j DROP -i eth$g -j LOG --log-prefix -i eth$g -j DROP -j -j -j -j -j -j DROP DROP DROP DROP DROP DROP

56 56 restart) $0 stop $0 start ;; *) ;; esac echo "Uso: /etc/rc.d/rc.firewall {start stop restart}" exit 1 exit 0 Para que o script possa ser executado, deverá ser atribuída a permissão correspondente, levando em consideração que apenas o usuário administrador do sistema identificado por root, possa manipulá-lo. Para obter este nível de privilégio, basta executar o comando chmod 700 /etc/rc.d/rc.firewall Configurações do Serviço DNS: Conforme dito no Capítulo 4, o serviço DNS utilizado neste trabalho é o DjbDNS, pois acredita-se que suas características são as mais apropriadas ao objetivo desta implementação, por englobarem segurança, baixo consumo de recursos e alta performance. Não é possível afirmar que sua instalação seja complexa, mas certamente demanda uma grande quantidade de trabalho, pois possui dependências (softwares que são pré-requisitos). Para facilitar o entendimento, é preciso que alguns detalhes sejam elucidados. O primeiro deles é o fato deste software ser modular, ou seja, possui processos separados que são responsáveis por funções específicas. Estes processos serão descritos a seguir. DNSCache: É apenas um resolvedor recursivo, criado com a finalidade única de encontrar endereços IP para os hosts solicitados, através de queries (perguntas) UDP e TCP para servidores autoritativos (servidores que possuem autoridade

57 57 sobre domínios), conforme necessidade. Ele utiliza uma técnica de restrições a respeito do que será retornado como resposta, para evitar ataques relacionados a este tipo de consulta, como por exemplo, o envenenamento de cache, ou em sua forma original, DNS Cache Poisoning (SecureWorks, 2007). Os servidores autoritativos são encontrados através de uma cadeia de delegações, que começa pelos endereços dos servidores root (servidores raiz) configurados internamente. Tudo isso faz parte do modelo de segurança empregado nesta solução. Se o DNSCache não houvesse sido desenhado para funcionar desta forma, estaria passivo aos mesmos tipos de ataque de envenenamento de cache sofridos pelos servidores DNS atualmente não-seguros35, como por exemplo, o Bind (ISC, 2009). TinyDNS: Serve autoritativamente (possui autoridade sobre domínio) nomes, exclusivamente por queries UDP. Por ser autoritativo, não serve nomes recursivamente (responde a consultas sobre domínios sobre os quais não tem autoridade) de forma direta, e tampouco responde a queries TCP. Este serviço recebe requisições de hosts apenas por intermédio de outros servidores recursivos, como o DNSCache ou o Bind. Devido a isso, seu endereço IP nunca deverá ser configurado em um sistema operacional na área referente a Servidores DNS ou semelhante. AxfrDNS: Serve nomes autoritativamente, através de queries TCP apenas, ao mesmo tempo em que é o servidor de transferência de zonas. Existem dois motivos para se utilizar programas separados para cada função. Um deles é limitar incursões de segurança, e o outro é devido ao fato de muitos sites não necessitarem de transferência de zonas, evitando assim que um serviço desnecessário esteja em execução. A exemplo do Bind, que é um software monolítico (um 35 Bind DNS Cache Poisoning <http://www.trusteer.com/bind9dns> Acessado em 17 de maio de 2009.

58 58 mesmo processo é responsável por várias funções), a agregação de funcionalidades excessivas em um único módulo é o principal motivo para ocorrência de desastres na segurança (RFC 2010, RFC 2870). Com o intuito de diminuir a complexidade envolvida na instalação deste sistema, todas as aplicações necessárias foram agrupadas em um único arquivo, e foi desenvolvido um script que automaticamente o obtém e resolve as dependências, instalando posteriormente o DjbDNS. Este script deve ser executado com privilégios de administrador, e seu código será apresentado a seguir. #!/bin/bash # Fore DjbDNS Installer. Andre Rocha, Maio de 2009 # Realiza o download dos softwares necessários, inclusive dependências cd /usr/src wget tar zxvf djbdns.tar.gz # Instalacao do UCSPI-TCP, que e a primeira dependencia tar zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 patch <../ucspi-tcp_errnopatch make && make setup check # Instalacao do DAEMONS TOOLS, que e a segunda dependencia mkdir -p /package ; chmod 1755 /package cd /package tar xzvf /usr/src/daemontools-0.76.tar.gz cd /package/admin/daemontools-0.76/src patch < /usr/src/daemontools_errnopatch cd.. package/install # Instala o TinyDNS cd /usr/src tar zxvf djbdns-1.05.tar.gz cd djbdns-1.05 patch <../djbdns_errnopatch make && make setup check # Cria as contas de usuário necessárias useradd -s /dev/null -d /dev/null dnscache useradd -s /dev/null -d /dev/null dnslog useradd -s /dev/null -d /dev/null tinydns

59 59 Após realizada a instalação, deve-se proceder com a configuração do sistema. O comando dnscache-conf dnscache dnslog /etc/dnscache configura o módulo DNSCache, que após ativado, passará a responder às solicitações que chegarem pela interface do segmento LAN. O endereço IP nunca deverá ser cadastrado nos registros de NS (Name Servers). Deve ser configurado apenas nos sistemas operacionais, na área referente a Servidores DNS ou Nameserver, pois sua função é apenas resolver nomes. O comando ln -s /etc/dnscache /service habilita o DNSCache. Por padrão, este software não responde a nenhuma rede que não for explicitamente autorizada. Para informar as redes que estão autorizadas a utilizar o cache, basta executar os comandos touch /etc/dnscache/root/ip/10.0.0, que libera a rede DMZ, touch /etc/dnscache/root/ip/ , que libera a rede LAN, e em seguida touch /etc/dnscache/ root/ip/127, que libera o acesso via loopback. O módulo TinyDNS é o próximo a ser configurado. Primeiramente, deve-se cadastrar o endereço IP do servidor autoritativo (que possuirá autoridade sobre o domínio). Isso pode ser feito através do comando tinydns-conf tinydns dnslog /etc/tinydns O comando ln -s /etc/tinydns /service habilita o serviço TinyDNS. A próxima ação a ser executada é informar ao TinyDNS o domínio sobre o qual ele terá autoridade. Isso pode ser feito através do comando cd /service/tinydns/root ;./add-ns forenaite.net ;./add-ns in-addr.arpa ; make. Este comando, além de realizar o informado, também cadastra o reverso (função que resolve um endereço IP para um nome de servidor) dos IPs deste domínio. Agora basta adicionar o mesmo a lista de servidores root, com o comando cd / etc/dnscache/root/servers ; echo > forenaite.net ; ln -s forenaite.net in-

60 60 addr.arpa. Feito isso, os nomes dos hosts onde serão executados serviços públicos podem ser cadastrados, ns1.forenaite.net através do ; comando./add-host cd /service/tinydns/root beta.forenaite.net ;./add-alias ;./add-host gama.forenaite.net ;./add-alias ; make. Seguindo recomendação do professor Paulo Mendonça (Segurança de Redes) em sala de aula, o nome de host do firewall não será cadastrado no serviço DNS. Os hosts onde serão executados os serviços internos podem ser cadastrados com o comando cd /service/tinydns/root ;./add-host sol.forenaite.net ;./add-host mon.forenaite.net Nota: Em um ambiente real de produção, é recomendável que seja utilizado um serviço DNS a parte, de forma que atenda apenas a rede interna. Para que todas as alterações entrem em vigor, basta reiniciar o serviço, com o comando svc -h /service/dnscache/. Isto conclui a configuração do servidor DNS Configurações do Proxy Reverso: O último sistema a ser configurado para este host é o proxy reverso. Para este serviço será utilizada a aplicação ViCompress, devido às características apresentadas no capítulo 4. Acredita-se que sua instalação não seja complexa, pois a documentação disponível no site do desenvolvedor36 é bastante clara. O 36 ViCompress HTTP Compression & Caching Proxy <http://www.visolve.com/vicompress/vicompress.html>acessado em 17 de maio de 2009.

61 61 serviço de proxy reverso deve ser configurado de forma que intercepte as requisições entrantes direcionadas ao protocolo HTTP, confrontando o resultado das solicitações com o conteúdo de sua árvore de cache. Caso a resposta para a solicitação conste no cache do proxy reverso, o mesmo se encarregará de a enviar diretamente ao solicitante, sem que esta chegue ao servidor web. Esta prática visa aumentar a performance e o balanceamento de processos do ambiente, fazendo com que as aplicações envolvidas funcionem de forma otimizada e sem gargalos. Para agilizar o processo de instalação, foi criado o seguinte script, que se destina a realizar automaticamente a instalação da aplicação ViCompress. #!/bin/bash # Fore ViCompress Installer. Andre Rocha, Maio de 2009 # Faz o download e descompacta a aplicacao cd /usr/src wget tar xzf vicompress tar.gz ; cd vicompress-1.0.9/src/ # Prepara o código fonte para ser instalado./configure /usr/vicompress # Compila e instala o software make && make install Antes que a aplicação ViCompress possa ser inicializada, é necessário que a mesma seja configurada. Os detalhes acerca deste processo podem ser vistos em sua documentação oficial. O último passo é automatizar a inicialização deste software, para que o mesmo execute automaticamente toda vez que o sistema operacional for inicializado. Isto pode ser feito através do comando ln -s /usr/vicompress/bin/vicompress.sh /etc/rc.d/rc.vicompress.

62 62 O acesso a este script deve ser controlado, de forma que somente o administrador do sistema possa manipulá-lo. Isso pode ser feito através do comando chmod 500 /etc/rc.d/rc.vicompress. Isto finaliza a configuração e também a instalação deste host. Para fins acadêmicos, o arquivo de configuração do ViCompress pode ser examinado na íntegra no Apêndice 1, pois mesmo o manual da aplicação citar os pontos relevantes do processo, acredita-se que há espaço para interpretações variadas. A ilustração 14 exemplifica o benefício da utilização de um proxy reverso. Como se pode perceber, houve uma significativa economia no link de dados, o que agiliza processos e diminui custos. sem cache e sem compressão com cache e compressão Ilustração 14: Economia de banda com uso de proxy reverso Autor: ViSolve CLOUD SERVER: Da parte de hardware, a máquina utilizada deverá possuir 2 interfaces de rede, com a finalidade de acomodar os segmentos DMZ e LAN. Deverá possuir ainda um disco de 30Gb, e 1Gb de memória RAM. O sistema operacional utilizado será o OpenSolaris, e deverão ser levados em consideração os seguintes detalhes:

63 63 Particionamento de Disco: Do total disponível, 25% deverão ser alocados para a partição root ( / ), 25% para a partição var, 10% para swap e o restante para a partição home, pois tipicamente é onde ficam armazenados os dados dos usuários. O filesystem deverá ser o ZFS28, devido sua consistência, capacidades nativas de backup, clonagem, self-healing37, escalabilidade e fácil administração; além de possibilitar o uso de conteiners38. Mais informações sobre a instalação do OpenSolaris podem ser obtidas na documentação oficial39. Configurações de Rede: O nome de host deverá ser beta. O nome de domínio será forenaite.net. A Interface de rede identificada por e1000g0 será responsável pela comunicação com o segmento DMZ, e deverá possuir o endereço IP /28. A interface de rede identificada por e1000g1 será responsável pela comunicação com o segmento LAN, e deverá possuir endereço de rede /26. Como o servidor DNS utilizado será o firewall, o sistema deverá ser configurado de forma que as requisições DNS apontem para o endereço IP Desta forma, as consultas de nomes realizadas pelas máquinas da rede interna utilizarão como meio físico o segmento de rede LAN. Esta prática melhora a performance da rede, pois serão utilizados meios apartados para comunicação, de acordo com o público atendido. Ou seja, as comunicações pertinentes à DMZ ocorrerão por um meio físico, e as comunicações pertinentes à LAN ocorrerão por outro. 37 Self-healing: Capacidade autônoma de recuperação após uma falha. 38 Solaris Conteiners: Tecnologia que permite virtualização de forma nativa em sistemas Solaris <http://www.sun.com/software/solaris/virtualization.jsp> Acessado em 06 de maio de OpenSolaris Documentation: <http://www.opensolaris.org/os/documentation/> Acessado em 06 de maio de 2009.

64 64 Como as configurações de rede em ambientes Solaris são tipicamente mais complexas, as mesmas serão cobertas em detalhes. Serão descritos a seguir, os passos necessários a obtenção de uma configuração correta para o ambiente proposto. A primeira ação que deve ser realizada é o cadastramento das subnets que o sistema faz parte. Este processo requer que as mesmas sejam declaradas no arquivo /etc/inet/netmasks. No caso deste trabalho, este arquivo possuirá conteúdo semelhante ao apresentado na ilustração 15. Ilustração 15: Cadastro de Subnets O próximo passo é realizar a configuração de nome de host, pois caso este não esteja configurado, não será possível atribuir corretamente os endereços IP para as interfaces de rede. Para isso, basta substituir o conteúdo do arquivo /etc/nodename pelo texto beta. Para habilitar a interface de rede que faz parte do segmento DMZ do ambiente, deve-se criar o arquivo /etc/hostname.e1000g0 com o conteúdo beta_dmz. Para a interface de rede que faz parte do segmento LAN, o processo é semelhante, bastando criar o arquivo /etc/hostname.e1000g1 com o conteúdo beta_lan. A atribuição de endereços IP a estas interfaces deverá ser feita através da manipulação do arquivo /etc/hosts, que deve possuir conteúdo semelhante ao apresentado na ilustração 16.

65 65 Ilustração 16: Atribuição de endereços IP A próxima ação necessária ao processo de configuração de rede constitui em informar o sistema sobre o servidor DNS a ser utilizado. Para isso, basta criar o arquivo /etc/resolv.conf, com o conteúdo nameserver Para que o sistema passe a utilizar este servidor, deve-se manipular o arquivo /etc/nsswitch.conf, onde a linha que possui o conteúdo hosts: files deve ser alterada para hosts: files dns. Para finalizar a configuração de rede, basta definir qual será a rota padrão. Para isso, basta inserir no arquivo /etc/defaultrouter o conteúdo A tabela de rotas do sistema pode ser visualizada através do comando netstat -rn. Todas as alterações realizadas somente entrarão em vigor após o reboot do sistema Instalação dos Softwares Necessários: Através do gerenciador de pacotes, deverão ser adicionadas as seguintes aplicações: PHP, Apache Web Server, Expect, System Management Agent, OpenOffice e OpenOffice-pt-BR. Estas aplicações possuem dependências (dependem de outros pacotes para funcionarem). Devido a isso, automaticamente serão instalados outros aplicativos, além dos que foram selecionados. Um item fundamental para a segurança desta implementação é o uso de criptografia de dados. Comunicações criptografadas são mais seguras, pois mesmo que o tráfego seja interceptado, não será possível decodificar os dados capturados, garantindo

66 66 assim a privacidade dos usuários do sistema. Como os serviços serão fornecidos via web, é necessário que seja habilitado o protocolo HTTPS, que implementa o uso de criptografia SSL sobre o protocolo HTTP. A configuração deste protocolo em servidores web baseados em Apache é trivial, pois todas as informações necessárias estão presentes no manual do produto40. No entanto, é necessária a utilização de uma chave privada para criptografia. Esta chave deve possuir uma senha secreta, que precisa ser inserida todas as vezes que o serviço HTTPS for iniciado. Esta interatividade conflita com a proposta deste trabalho, pois sistemas de nuvem devem possuir características que o tornem o mais automático possível. Uma prática que pode resolver esta questão é a criação de uma chave privada que não possua senha cadastrada. Porém, esta não é uma prática aceitável, pois caso a chave privada seja roubada, o ladrão poderá utilizar a mesma livremente, pois não haverá uma senha para controlar seu uso legítimo. Desta forma, o infrator poderá assumir facilmente a identidade do proprietário, e poderá aplicar golpes virtuais, como por exemplo, enviar mensagens assinadas digitalmente passando-se por outra pessoa. Para resolver esta questão, será utilizado um simples script criado em linguagem Expect41. Esta linguagem é capaz de realizar a captura de mensagens específicas de um terminal, como por exemplo, uma solicitação de senha, permitindo que sejam criadas respostas para as mesmas, automatizando assim o processo. Este script pode ser armazenado em /etc/scripts/startssl, e seu nível de acesso deve ser controlado, de forma que apenas o administrador do sistema tenha acesso, pois possuirá informações sensíveis. A definição do privilégio pode ser feita com o comando chmod 500 /etc/scripts/startssl. Será apresentado a seguir o código do script que foi desenvolvido para a automatização do processo de inicialização do servidor web com uso de criptografia. 40 Apache SSL/TLS Encryption <http://httpd.apache.org/docs/2.2/ssl/> Acessado em 17 de maio de Expect é uma ferramenta para automatizar aplicações interativas, como Telnet e FTP. (Charles Hymes, 2009)

67 67 #!/usr/bin/expect # Fore ApacheSSL Auto Start. Andre Rocha, Maio de 2009 # Nao exibe no terminal a informacao que sera inserida set force_conservative 1 set timeout -1 # Software que sera iniciado e que solicitara os dados spawn /usr/apache2/2.2/bin/apachectl -f /etc/apache2/2.2/httpd.conf start -k match_max # Espera exibicao de uma determinada string, e envia a resposta expect "Enter pass phrase:" send -- "univercidade\r" expect eof Nota: Tipicamente, uma autoridade certificadora deve assinar o certificado digital gerado, para que o mesmo tenha sua autenticidade reconhecida. Sem um certificado assinado, um servidor web utilizando criptografa SSL não funcionará. Por isso, foi preciso assinar localmente o certificado. Certificados assinados localmente não são menos seguros que certificados assinados por uma autoridade certificadora. A diferença, é que a assinatura deste último já vem cadastrada nos sistemas operacionais atuais, e a assinatura do anterior, como foi criada localmente, não. Devido a isso, quando o servidor web referenciado neste trabalho for acessado através do protocolo HTTPS, será exibida uma mensagem referente ao certificado utilizado não ser reconhecido. Isto não representa nenhum tipo de risco para o sistema ou para o utilizador. Um exemplo da mensagem exibida pode ser visto na ilustração 17.

68 68 Nome da autoridade que assinou o cer tificado Ilustração 17: Certificado digital assinado localmente A comprovação da eficácia do uso de criptografia pode ser demonstrada através do uso da ferramenta Wireshark42, que possui a capacidade de analisar em detalhes o tráfego de uma rede. A ilustração 18 exibe a captura de um tráfego não criptografado. Dados trafegando em texto claro Ilustração 18: Captura de tráfego não criptografado Como se pode perceber na ilustração 18, dados trafegam em texto claro, o que torna possível que terceiros tenham acesso a informações pessoais. 42 Wireshark: Go Deep <http://www.wireshark.org/> Acessado em 24 de maio de 2009.

69 69 A ilustração 19 exibe a captura de um tráfego criptografado. Nesta imagem percebe-se claramente que não é possível visualizar nenhum tipo de informação pessoal. Ilustração 19: Captura de tráfego criptografado Para finalizar a configuração do servidor web, é necessário fazer com que o mesmo inicie automaticamente quando o sistema operacional for iniciado. Para isso, será criado outro script, que se encarregará de iniciar este serviço juntamente com o uso de criptografa, sem que para isso seja necessário inserir manualmente a senha da chave privada gerada. Este script deve ser armazenado em /etc/rc3.d/s01apache, e é necessário que seja atribuída permissão de execução para o mesmo, de forma que somente o administrador do sistema possa manipulá-lo. Isto pode ser feito com o comando chmod 500 /etc/rc3.d/s01apache. Seu código será mostrado a seguir.

70 70 #!/bin/bash export PATH=/usr/gnu/bin:/usr/bin:/usr/X11/bin:/usr/sbin:/sbin:/usr/apache2/2.2/ bin export LD_LIBRARY_PATH=/lib:/usr/apache2/2.2/lib:/usr/apache2/2.2/libexec case $1 in 'start') /etc/scripts/startssl ;; 'stop') /usr/apache2/2.2/bin/apachectl stop ;; 'restart') /usr/apache2/2.2/bin/apachectl stop sleep 2 /etc/scripts/startssl ;; *) echo "Uso: $0 start stop restart" exit 1 ;; esac Uma vez finalizada a configuração do servidor web, será iniciado o processo de instalação do sistema EyeOS, que será responsável por fornecer serviço de desktop em nuvem. A instalação deste sistema é muito simples, e não será coberta em detalhes, pois existe farta documentação acerca deste tópico no site do desenvolvedor43. O mesmo se aplica a integração do OpenOffice ao ambiente EyeOS. Um desktop de nuvem possui funções similares a um desktop tradicional, proporcionando assim um uso intuitivo. A ilustração 20 exibe um desktop EyeOS. Como se pode perceber, as semelhanças são claras. 43 EyeOS Quick Install Instructions <http://wiki.eyeos.org/quick_install_instructions> Acessado em 17 de maio de 2009)

71 71 Ilustração 20: Desktop de Nuvem com sistema EyeOS GERÊNCIA: De um modo geral, a gerência de redes de computadores é de fundamental importância para a manutenção do ambiente e conseqüente continuidade do negócio. Possuir aplicações de gerência bem dimensionadas e bem configuradas, além de permitir monitoramento ostensivo, auxilia na tomada de decisões, possibilitando que atitudes pró-ativas sejam tomadas e problemas sejam resolvidos em um menor espaço de tempo ou até mesmo sejam evitados. Também permite identificar pontos específicos de gargalo, o que torna possível realizar uma reorganização do ambiente, evitando assim que novos equipamentos tenham que ser adquiridos ou tenham que passar por um processo de upgrade, diminuindo desta forma o desperdício de capital, que pode ser empregado de forma mais eficiente. Com base neste pensamento, optou-se por montar um ambiente de

72 72 gerência, que além de possibilitar tudo o que foi citado, servirá de ferramenta para comprovar a validade e eficácia de se possuir um ambiente baseado em tecnologia de nuvem, como por exemplo, a implementação prática deste trabalho. Para materializar a figura do gerente, será necessário utilizar um computador a parte, que deve possuir configuração de hardware semelhante a apresentada a seguir. Da parte de hardware, a máquina deve possuir 2 interfaces de rede, além de um disco de 30Gb, e 256Mb de memória RAM. O sistema operacional utilizado será o Debian Para o preparo da máquina, deverão ser levados em consideração os seguintes detalhes: Particionamento de Disco: Do total disponível, 35% deverão ser alocados para a partição root ( / ), 55% para a partição var, 3% para swap e o restante para a partição log. Nesta última, ficarão armazenados os logs das aplicações, pois um sistema de gerência tipicamente gera grandes quantidades de logs. O filesystem deverá ser o EXT344, nativo em sistemas Linux, por questões de integridade e disponibilidade. Configurações de Rede: O nome de host deverá ser gama, e o nome de domínio será forenaite.net. A Interface de rede que será responsável pela comunicação com o segmento LAN deverá possuir endereço IP semelhante a /26, enquanto que a interface de rede responsável pelo segmento DMZ deverá possuir endereço IP semelhante a /28. O servidor DNS a ser utilizado possui IP , e o gateway também ficará a cargo desta mesma máquina. 44 EXT3 <http://www.redhat.com/support/wpapers/redhat/ext3/> Acessado em 28 de maio de 2009.

73 73 Inicialmente, o ambiente de gerência foi desenvolvido e implementado em plataforma Slackware. No entanto, as operações de automatização e a complexidade dos scripts criados para esta plataforma adicionaram um certo grau de dificuldade à manutenção do ambiente proposto. O autor acredita que gerar complexidade além do necessário não é uma boa prática, e a medida adotada em favor da resolução desta questão foi a alteração do sistema operacional original para a distribuição Debian, pois este possui ferramentas que facilitam a instalação de aplicativos, minimizando assim a quantidade de intervenções administrativas necessárias. Com esta alteração, o script criado para automatizar a instalação e configuração dos sistemas de gerência teve uma redução significativa em sua quantidade de linhas de código, o que diminui a complexidade de manutenção. Uma das aplicações utilizadas para realizar a gerência é o Centreon45, que através da utilização da aplicação Nagios46, consolida o monitoramento ostensivo, além de manter em banco de dados um histórico dos resultados do monitoramento. Não é possível afirmar que sua instalação seja complexa, mas certamente demanda uma grande quantidade de trabalho, pois possui várias dependências (softwares que são pré-requisitos) que precisam ser resolvidas antes que se inicie o processo. Com a finalidade de simplificar as operações envolvidas na instalação do Centreon, foi desenvolvido um script que automaticamente resolve todas as dependências e realiza a instalação propriamente dita. Vale ressaltar, que a utilização de scripts para automatizar tarefas é de extrema importância, pois no caso de uma situação de desastre onde nem as cópias de 45 Centreon <www.centreon.com> Acessado em 19 de maio de Nagios <www.nagios.org> Acessado em 19 de maio de 2009.

74 74 segurança estejam disponíveis, será possível restabelecer o estado original dos sistemas em um curto espaço de tempo. Sem a adoção desta prática, é possível que incontáveis horas técnicas sejam necessárias até que o ambiente retorne a seu estado original, o que dependendo do caso pode multiplicar os prejuízos. O resultado deste desenvolvimento pode ser conferido abaixo. #!/bin/bash # # # # Fore Nagios & Centreon Installer. Andre Rocha, Maio de 2009 Escrito com funcoes para facilitar a manutencao Algumas verificacoes nao inclusas para diminuir o tamanho do codigo Compatibilidade: Debian 5.01 lenny ### CABECALHO ### clear if [ "$1" = "" ] then printf "\no que voce quer fazer? Preciso de uma opcao!\n" printf "\nuse: $0 [ all centreon nagios ]" printf "\nonde 'all' realiza todas as operacoes,\ne as realizam apenas o escolhido.\n\n" exit 1 fi demais ### FUNCOES ### function resolv_depends() { printf "\nresolvendo as dependencias...\n\n" ; sleep 3 apt-get -y install sudo mailx lsb-release \ build-essential apache2 apache2-mpm-prefork \ php5 php5-mysql php-pear php5-ldap php5-snmp \ php5-gd mysql-server-5.0 libmysqlclient15-dev \ rrdtool librrds-perl libconfig-inifiles-perl elinks \ libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl \ libgd-gd2-perl snmp snmpd libnet-snmp-perl libsnmp-perl \ libgd2-xpm libgd2-xpm-dev libpng-dev libsdl-perl \ eperl libperl-dev ssh tofrodos } function account_create() { printf "\ncriando as contas de sistema necessarias...\n\n" sleep 5 groupadd nagcmd ; groupadd nagios useradd -c Nagios -d /home/nagios -g nagios -G nagcmd /bin/bash nagios usermod -a -G nagcmd www-data usermod -G crontab nagios } -m -s

75 75 function nagios_install() { printf "\ninstalando o NAGIOS + NDOUTILS...\n\n" ; sleep 5 apt-get -y install ndoutils-nagios3-mysql } + CENTREON + MYSQL function ndoutils_setup() { printf "\nconfigurando o NAGIOS para utilizar o NDOUTILS...\n\n" ; sleep 5 htpasswd -c -b /etc/nagios3/htpasswd.users nagiosadmin univercidade grep -v "broker_module" /etc/nagios3/nagios.cfg > /tmp/nagios.cfg.tmp echo "broker_module=/usr/lib/ndoutils/ndomod-mysql-3x.o config_file=/etc/nagios3/ndomod.cfg" >> /tmp/nagios.cfg.tmp cat /tmp/nagios.cfg.tmp > /etc/nagios3/nagios.cfg chown nagios:nagios /etc/nagios3/* echo "grant select,insert,update,delete on ndoutils.* to identified by 'ndoutils';" mysql -uroot -punivercidade } function ndoutils_start() { printf "\niniciando o NDOUTILS...\n\n" ; sleep 5 sed s/0/1/g /etc/default/ndoutils > /tmp/ndoutils.tmp cat /tmp/ndoutils.tmp > /etc/default/ndoutils /etc/init.d/ndoutils start } function get_centreon() { echo -ne "\nfazendo o download do Centreon...\n\n" ; sleep 2 wget if [ $? -ne 0 ] then echo -ne "\nerro ao fazer o download do Centron!\n" echo -ne "\ngrave manualmente o arquivo de instalacao em '/usr/local/src'" echo -ne "\ne execute '$0 centreon' para continuar a instalacao.\n\n" exit 1 else echo "Download realizado com sucesso!" ; sleep 2 sleep 3 fi } function install_centreon() { echo -ne "\ninstalando o Centreon...\n\n" ; sleep 2 cd /usr/local/src tar xzvf centreon tar.gz ; cd centreon ln -f /usr/lib/ndoutils/ndomod-mysql-3x.o /usr/sbin/ndomod.o./install.sh -i -f /usr/local/src/centreon2.0.2/tmpl/vardistrib/debian-lenny chown -R nagios:www-data /etc/nagios3 }

76 76 ### PROGRAMA PRINCIPAL ### case $1 in all) resolv_depends account_create nagios_install ndoutils_setup ndoutils_start get_centreon install_centreon ;; centreon) get_centreon install_centreon ;; nagios) nagios_install ndoutils_setup ndoutils_start ;; esac Nota: Durante o processo de desenvolvimento do ambiente de gerência foi enfrentado um grave problema de desempenho em uma das principais aplicações que são pré-requisitos. A proposta deste trabalho é obter um ambiente de alto desempenho, e para isso, é necessário que todas as aplicações envolvidas funcionem da forma mais otimizada possível. A aplicação em questão é o RRDTool, que é responsável pela tarefa de gerar os gráficos de acordo com as instruções enviadas pelos softwares Centreon e Cacti. A versão afetada foi a 1.3.8, lançada em 19 de maio de Apesar dos esforços empregados (diversos parâmetros diferentes de compilação, e pesquisas no fórum oficial da aplicação), não foi possível sanar o problema. A solução encontrada foi fazer downgrade (utilizar uma versão mais antiga) para a versão da aplicação. As ilustrações 21 e 22 representam o problema enfrentado e a resolução do mesmo, respectivamente.

77 77 Ilustração 21: Consumo excessivo de CPU pelo RRDTool Na ilustração 21, a aplicação em questão aparece como processo que mais consome recursos de processamento. Ilustração 22: Downgrade para versão do RRDToll: Dramática diminuição de processamento. Na ilustração 22, a aplicação em questão não mais figura na lista dos processos que mais consomem processamento.

78 78 A configuração inicial do Centreon pode ser realizada sem maiores dificuldades, tendo em vista sua interface ser bastante intuitiva. Esta interface pode ser visualizada no endereço O primeiro acesso inicia automaticamente o processo de configuração. Neste processo, apenas é necessário que sejam informados nomes de usuário, senhas e nomes para os bancos de dados que serão utilizados. Para este trabalho as informações adotadas foram: Centreon Database Name: centreon Centstore Database Name: centreon_ods Database password: centreon Os próximos passos são realizar a configuração interna da ferramenta e definir os monitoramentos. Isso deve ser feito de forma que todos os serviços de todos os hosts sejam monitorados, inclusive os itens de hardware, como interfaces de rede, processadores e discos. Os detalhes acerca deste processo não serão cobertos, pois a própria ferramenta possui manual de configuração. O monitoramento contará com o auxilio do protocolo SNMPv2c, por este ser mais estável (Sauer, 2009). Para isso, o mesmo deverá estar instalado e em execução nos hosts monitorados. Apesar deste protocolo e suas ferramentas associadas fazerem parte dos sistemas operacionais modernos, ele deverá ser configurado para que funcione corretamente. Uma observação importante é quanto ao uso da community padrão, que é denominada de public. Esta community não deverá ser utilizada, devido a questões de segurança (Sauer, 2009). A mesma deverá ser alterada para supercloud, ou outro nome diferente de public. Em sistemas OpenSolaris, o SNMP pode ser configurado /etc/sma/snmp/snmpd.conf, através das seguintes mudanças: direto no arquivo

79 79 Alterar a linha que possui o texto rocommunity public para rocommunity supercloud Alterar a linha que possui o texto syslocation "System administrators office" para syslocation "forenaite.net" Alterar a linha que possui o texto syscontact "System administrator" para syscontact Após a configuração, é necessário ativar o serviço através do comando svcadm enable sma. Em sistemas Slackware e Debian, a configuração do SNMP que atende a esta implementação pode ser realizada através da substituição do conteúdo do arquivo /etc/snmp/snmpd.conf pelo exibido a seguir: com2sec local localhost supercloud com2sec lan / supercloud group group group group group group fore fore fore fore fore fore v1 v2c usm v1 v2c usm view all included local local local lan lan lan.1 80 access fore "" any noauth exact all none none access fore "" any noauth exact all all none syslocation forenaite.net syscontact disk / load

80 80 Para monitorar servidores web baseados em Apache, basta incluir em seu arquivo de configuração as diretivas abaixo: ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from.forenaite.net </Location> <Location /server-info> SetHandler server-info Order deny,allow Deny from all Allow from.forenaite.net </Location> A ilustração 23 exibe a interface de um sistema Centreon, monitorando detalhes de um host do ambiente. Ilustração 23: Monitoria via Centreon

81 81 Nota: A documentação oficial não deixa claro a configuração que possibilita o acesso do Centreon à base de dados do Nagios. Com o objetivo de auxiliar na implementação, será exibida na ilustração 24 o local e as informações corretas que devem ser utilizadas para possibilitar o acesso da ferramenta à base citada OBSERVAR OS LOCAIS INDICADOS EM VERMELHO Ilustração 24: Configurações de acesso do Centreon à base de dados do Nagios Como se pode perceber, a ilustração 24 indica de forma numerada o passoa-passo a percorrer até alcançar os campos que devem ser preenchidos, bem como seus valores corretos. Vale ressaltar que a instalação do Centreon não inutiliza a ferramenta Nagios, que permanece ativa e em funcionamento. O Centreon é apenas uma interface de configuração que facilita seu uso.

82 82 Como recurso complementar a gerência, foi utilizada a ferramenta Cacti47, que tem a capacidade de gerar vários tipos de gráficos que auxiliam no acompanhamento do estado dos sistemas. Estes gráficos permitem, entre outras coisas, visualizar o consumo de processamento, consumo do link de dados, consumo de disco, e quantidade de processos ativos. Foi realizada a instalação e configuração tendo por base os procedimentos descritos na página oficial da ferramenta48. Os aplicativos adicionais que foram instalados anteriormente para satisfazer as dependências da ferramenta Centreon também são utilizados para o Cacti, dispensando assim que novas dependências (softwares que são prérequisitos) tenham que ser resolvidas. A interface do Cacti pode ser acessada através do endereço Dica: O site Debian Help49 oferece diversos modelos para geração de gráficos compatíveis com o Cacti. A ilustração 25 exibe uma compilação de gráficos que podem ser gerados pelo Cacti. As informações foram coletadas do host beta (CloudServer). 47 Cacti: Complete Network Graphing Solution <http://www.cacti.net/> Acessado em 23 de maio de Installing Under Linux <http://www.cacti.net/downloads/docs/html/install_unix.html> Acessado em 23 de maio de Debian Help <http://www.debianhelp.co.uk/cactitemplates.htm> Acessado em 23 de maio de 2009.

83 83 Ilustração 25: Gráficos de consumo de recursos gerados pelo Cacti Um aspecto interessante a ser analisado estando de posse de uma ferramenta de gerência é o comparativo entre um sistema tradicional, como por exemplo, um notebook, e um sistema de nuvem, como por exemplo o ambiente implementado neste trabalho. As ilustrações 26 e 27 exibem o comparativo entre as arquiteturas de nuvem e tradicional, respectivamente, através de gráficos gerados durante uma sessão de 4 (quatro) horas de uso contínuo de cada estrutura individualmente.

84 84 Ilustração 26: Sistemas que compõe o Ambiente de Nuvem Como se pode perceber na ilustração 26, o sistema que mais consome processamento é o CloudServer, que teve um pico máximo de 1,6% de consumo de CPU com 90 processos em execução. Os demais sistemas, Firewall e Gerência, alcançaram juntos a marca de 150 processos, e no entanto não chegaram a consumir 1% de CPU. Ilustração 27: Sistema Tradicional Na ilustração 27, pode ser observado que um único sistema, no momento em que atingiu pico máximo de 46 processos em execução, chegou a consumir 70% de CPU. Como se pode perceber, um sistema tradicional realiza uma carga maior de trabalho,

85 85 pois precisa processar sozinho todos os trâmites necessários a atender as requisições dos usuários. Sob este aspecto, um sistema de nuvem leva vantagem, pois seus processos estão distribuídos por áreas de competência, sendo tratados em computadores diferentes. O trabalho em conjunto faz com que toda a arquitetura funcione de forma otimizada, pois sua carga está distribuída, o que aumenta a confiabilidade do ambiente. Uma outra abordagem pode ser analisada através da interface do hypervisor utilizado para o desenvolvimento deste trabalho (VMWare ESX50). Nesta interface, vê-se o consumo exato de processamento de cada máquina virtual utilizada. A ilustração 28 exemplifica este consumo. Ilustração 28: Consumo Individual de processamento de cada máquina virtual. Analisando a ilustração 28, fica claro o baixo consumo de recursos computacionais necessários para a execução do ambiente proposto. 50 VMWare ESX: Produto comercial da empresa VMWare, fornecedora de soluções para virtualização de ambientes.

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes EN-3610 Gerenciamento e Interoperabilidade de Redes Computação em Nuvem Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente Computadores

Leia mais

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS.

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. A computação em nuvem é uma mudança de paradigma no gerenciamento de TI e de datacenters, além de representar a capacidade da TI

Leia mais

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Fernando Seabra Chirigati Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Introdução Grid x Nuvem Componentes Arquitetura Vantagens

Leia mais

Gestão em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br

Gestão em Sistemas de Informação. Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Gestão em Sistemas de Informação Profa.: Me. Christiane Zim Zapelini E-mail: christianezapelini@nwk.edu.br Gestão em Sistemas de Informação Cloud Computing (Computação nas Nuvens) 2 Cloud Computing Vocês

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS.

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. A computação em nuvem é uma mudança de paradigma no gerenciamento de TI e de datacenters, além de representar a capacidade da TI

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

UNIFIED DATA PROTECTION RESUMO DA SOLUÇÃO

UNIFIED DATA PROTECTION RESUMO DA SOLUÇÃO UNIFIED DATA PROTECTION RESUMO DA SOLUÇÃO arcserve UDP Impulsionadas pelo aumento no volume dos dados e os avanços da tecnologia como a virtualização, as arquiteturas atuais para proteção dos dados deixam

Leia mais

Acelere o valor da computação em nuvem com a IBM

Acelere o valor da computação em nuvem com a IBM Acelere o valor da computação em nuvem com a IBM Obtenha soluções em nuvem comprovadas para as suas prioridades mais urgentes Destaques da solução Saiba sobre os benefícios mais comuns de implementações

Leia mais

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

Leia mais

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em

Leia mais

Virtualização. O conceito de VIRTUALIZAÇÃO

Virtualização. O conceito de VIRTUALIZAÇÃO Virtualização A virtualização está presente tanto no desktop de um entusiasta pelo assunto quanto no ambiente de TI de uma infinidade de empresas das mais variadas áreas. Não se trata de "moda" ou mero

Leia mais

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 CLOUD COMPUTING PEDRO MORHY BORGES LEAL MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 0 CLOUD COMPUTING 1 1. Introdução Com o grande avanço da tecnologia de processadores,

Leia mais

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla Unidade III FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Arquitetura de Processadores: Modo Operacional; Velocidade; Cache; Barramento; Etc. Virtualização: Maquinas virtuais; Gerenciamento

Leia mais

Plataforma na nuvem do CA AppLogic para aplicativos corporativos

Plataforma na nuvem do CA AppLogic para aplicativos corporativos FOLHA DE PRODUTOS: CA AppLogic Plataforma na nuvem do CA AppLogic para aplicativos corporativos agility made possible O CA AppLogic é uma plataforma de computação na nuvem pronta para o uso que ajuda a

Leia mais

Levantamento sobre Computação em Nuvens

Levantamento sobre Computação em Nuvens Levantamento sobre Computação em Nuvens Mozart Lemos de Siqueira Doutor em Ciência da Computação Centro Universitário Ritter dos Reis Sistemas de Informação: Ciência e Tecnologia Aplicadas mozarts@uniritter.edu.br

Leia mais

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve

Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura

Leia mais

2 Computação na Nuvem

2 Computação na Nuvem 18 2 Computação na Nuvem 2.1 Definição A ideia essencial da computação na nuvem é permitir um novo modelo onde o consumo de recursos computacionais, e.g., armazenamento, processamento, banda entrada e

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Nº 96080 - Adário de Assunção Fonseca Muatelembe Nº 96118 - Castelo Pedro dos Santos Nº 96170 - Feliciano José Pascoal

Leia mais

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS.

USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. USE O PODER DA NUVEM. VEJA COMO A NUVEM PODE TRANSFORMAR SEUS NEGÓCIOS. A computação em nuvem é uma mudança de paradigma no gerenciamento de TI e de datacenters, além de representar a capacidade da TI

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Phil Maynard UNIDADE DE SOLUÇÕES DE GERENCIAMENTO DE DADOS PARA O CLIENTE FEVEREIRO DE 2012 Introdução Em todos os lugares, o volume de

Leia mais

Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização

Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização Virtualização Microsoft: Da Estação de Trabalho ao Data Center Estudo de Caso de Solução de Cliente Fabricante Reduz os Custos, Melhora o Serviço e Dinamiza o Gerenciamento com a Virtualização Visão Geral

Leia mais

Computação em Nuvens IaaS com Openstack. Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015

Computação em Nuvens IaaS com Openstack. Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015 Computação em Nuvens IaaS com Openstack Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015 Nuvens Computacionais IaaS com Openstack Nuvens Computacionais Serviços em nuvens

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

UNIFIED. A nova geração de arquitetura para proteger seus dados D TA. em ambientes físicos ou virtuais de forma unificada PROTECTION

UNIFIED. A nova geração de arquitetura para proteger seus dados D TA. em ambientes físicos ou virtuais de forma unificada PROTECTION UNIFIED A nova geração de arquitetura para proteger seus dados D TA em ambientes físicos ou virtuais de forma unificada PROTECTION RESUMO DA SOLUÇÃO UNIFIED DATA PROTECTION Incentivadas pelo crescimento

Leia mais

Imagem Gustavo Santos. Observe Bombinhas SC.

Imagem Gustavo Santos. Observe Bombinhas SC. Imagem Gustavo Santos. Observe Bombinhas SC. 1 2 1. Uma nova modalidade de prestação de serviços computacionais está em uso desde que a computação em nuvem começou a ser idealizada. As empresas norte-

Leia mais

Proteção de ambientes VMware vsphere/esx com Arcserve

Proteção de ambientes VMware vsphere/esx com Arcserve Proteção de ambientes VMware vsphere/esx com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura

Leia mais

Computação em Nuvem & OpenStack

Computação em Nuvem & OpenStack Computação em Nuvem & OpenStack Grupo de Pesquisa em Software e Hardware Livre Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista Joinville Roteiro Definições

Leia mais

Proteção de ambientes Citrix XenServer com Arcserve

Proteção de ambientes Citrix XenServer com Arcserve Proteção de ambientes Citrix XenServer com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura maneiras

Leia mais

O que é Cloud Computing (Computação nas Nuvens)?

O que é Cloud Computing (Computação nas Nuvens)? O que é Cloud Computing (Computação nas Nuvens)? Introdução A denominação Cloud Computing chegou aos ouvidos de muita gente em 2008, mas tudo indica que ouviremos esse termo ainda por um bom tempo. Também

Leia mais

FAMÍLIA EMC VPLEX. Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles

FAMÍLIA EMC VPLEX. Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles FAMÍLIA EMC VPLEX Disponibilidade contínua e mobilidade de dados nos datacenters e entre eles GARANTINDO DISPONIBILIDADE CONTÍNUA E MOBILIDADE DE DADOS PARA APLICATIVOS ESSENCIAIS A infraestrutura de armazenamento

Leia mais

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Este artigo demonstra como configurar uma rede virtual para ser usada em testes e estudos. Será usado o VirtualBox

Leia mais

Guia de vendas Windows Server 2012 R2

Guia de vendas Windows Server 2012 R2 Guia de vendas Windows Server 2012 R2 Por que Windows Server 2012 R2? O que é um servidor? Mais do que um computador que gerencia programas ou sistemas de uma empresa, o papel de um servidor é fazer com

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

Veritas Storage Foundation da Symantec

Veritas Storage Foundation da Symantec Veritas Storage Foundation da Symantec Gerenciamento de armazenamento heterogêneo on-line O Veritas Storage Foundation oferece uma solução completa para o gerenciamento de armazenamento heterogêneo on-line.

Leia mais

otimizando níveis de serviço em implantações na nuvem pública

otimizando níveis de serviço em implantações na nuvem pública DOCUMENTAÇÃO TÉCNICA otimizando níveis de serviço em implantações na nuvem pública chaves para o gerenciamento de serviços efetivo agility made possible sumário resumo executivo 3 Introdução: modelos de

Leia mais

Seja dentro da empresa ou na nuvem

Seja dentro da empresa ou na nuvem Arquitetura de próxima geração para recuperação garantida Seja dentro da empresa ou na nuvem PROVEDORES DE SERVIÇOS GERENCIADOS RESUMO DA SOLUÇÃO A plataforma de serviços Assured Recovery O mundo da proteção

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

Documento de Requisitos de Rede (DRP)

Documento de Requisitos de Rede (DRP) Documento de Requisitos de Rede (DRP) Versão 1.2 SysTrack - Grupo 1 1 Histórico de revisões do modelo Versão Data Autor Descrição 1.0 30/04/2011 João Ricardo Versão inicial 1.1 1/05/2011 André Ricardo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

INTERNET HOST CONNECTOR

INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR INTERNET HOST CONNECTOR IHC: INTEGRAÇÃO TOTAL COM PRESERVAÇÃO DE INVESTIMENTOS Ao longo das últimas décadas, as organizações investiram milhões de reais em sistemas e aplicativos

Leia mais

O poder da colaboração e da comunicação baseadas na Nuvem

O poder da colaboração e da comunicação baseadas na Nuvem O poder da colaboração e da comunicação baseadas na Nuvem O Microsoft Office 365 é a suíte de Produtividade da Microsoft, que oferece as vantagens da Nuvem a empresas de todos os tamanhos, ajudando-as

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

CA Server Automation. Visão geral. Benefícios. agility made possible

CA Server Automation. Visão geral. Benefícios. agility made possible FOLHA DE PRODUTOS: CA Server Automation agility made possible CA Server Automation O CA Server Automation é uma solução integrada de gerenciamento de data center que automatiza o provisionamento, a aplicação

Leia mais

Informe técnico: Virtualização de endpoints Symantec Endpoint Virtualization Suite Otimização dinâmica do espaço de trabalho

Informe técnico: Virtualização de endpoints Symantec Endpoint Virtualization Suite Otimização dinâmica do espaço de trabalho Informe técnico: Virtualização de endpoints Otimização dinâmica do espaço de trabalho Visão geral O é uma solução poderosa e flexível com foco na produtividade do usuário, independentemente dos equipamentos,

Leia mais

COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS RELATÓRIO EXECUTIVO DE NEGÓCIOS

COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS RELATÓRIO EXECUTIVO DE NEGÓCIOS COMPUTAÇÃO EM NUVEM: TENDÊNCIAS E OPORTUNIDADES DE NEGÓCIOS TM RELATÓRIO EXECUTIVO DE NEGÓCIOS A visão da computação em nuvem por Aad van Schetsen, vicepresidente da Compuware Uniface, que mostra por que

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

CA Nimsoft Monitor para servidores

CA Nimsoft Monitor para servidores DOCUMENTAÇÃO TÉCNICA Setembro de 2012 CA Nimsoft Monitor para servidores agility made possible CA Nimsoft para monitoramento de servidores sumário CA Nimsoft Monitor para servidores 3 visão geral da solução

Leia mais

Dez fatos inteligentes que você deve saber sobre storage

Dez fatos inteligentes que você deve saber sobre storage Dez fatos inteligentes que você deve saber sobre storage Tendências, desenvolvimentos e dicas para tornar o seu ambiente de storage mais eficiente Smart decisions are built on Storage é muito mais do que

Leia mais

Automatizando o Data Center

Automatizando o Data Center Este artigo examina uma arquitetura alternativa que suporte a automação do data center e o provisionamento dinâmico sem a virtualização do sistema operacional. por Lori MacVittie Gerente Técnico de Marketing,

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist

Cloud Computing: Quando a nuvem pode ser um risco para o negócio. Marco Lima aka Mago Enterprise Technology Specialist Cloud Computing: Quando a nuvem pode ser um risco para o negócio Marco Lima aka Mago Enterprise Technology Specialist 05 De onde vem o termo nuvem? Business Servidores SAN WAN SAN LANs Roteador NAS Switch

Leia mais

Symantec NetBackup for VMware

Symantec NetBackup for VMware Visão geral A virtualização de servidor é a maior tendência modificadora na área de TI atual. Os departamentos de TI, que dependem do orçamento, estão se apressando para aderir à virtualização por vários

Leia mais

Resumo da solução de virtualização

Resumo da solução de virtualização Resumo da solução de virtualização A virtualização de servidores e desktops se tornou muito difundida na maioria das organizações, e não apenas nas maiores. Todos concordam que a virtualização de servidores

Leia mais

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM Igor dos Passos Granado¹, Ricardo de Melo Germano¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavai PR Brasil

Leia mais

GUIA DE DESCRIÇÃO DO PRODUTO

GUIA DE DESCRIÇÃO DO PRODUTO GUIA DE DESCRIÇÃO DO PRODUTO EMC CLOUDARRAY INTRODUÇÃO Atualmente, os departamentos de TI enfrentam dois desafios de armazenamento de dados críticos: o crescimento exponencial dos dados e uma necessidade

Leia mais

CA Automation Suite for Data Centers

CA Automation Suite for Data Centers FOLHA DE PRODUTOS: CA Automation Suite for Data Centers CA Automation Suite for Data Centers agility made possible "A tecnologia ultrapassou a capacidade de gerenciamento manual em todas as grandes empresas

Leia mais

Como usar a nuvem para continuidade dos negócios e recuperação de desastres

Como usar a nuvem para continuidade dos negócios e recuperação de desastres Como usar a nuvem para continuidade dos negócios e recuperação de desastres Há diversos motivos para as empresas de hoje enxergarem o valor de um serviço de nuvem, seja uma nuvem privada oferecida por

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

Estratégias em Tecnologia da Informação

Estratégias em Tecnologia da Informação Estratégias em Tecnologia da Informação Capítulo 08 Alternativas de Investimento em TI Fábricas de software, Softwarehouses, Virtualização, Computação em Nuvem Datacenter Material de apoio 2 Esclarecimentos

Leia mais

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços

Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Alinhando a infra-estrutura de aplicações com os negócios através de Application Delivery orientado a serviços Visão Geral Desafio Solução Uma implementação SOA (Service Oriented Architecture) bem-sucedida

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Xen e a Arte da Virtualização

Xen e a Arte da Virtualização Xen e a Arte da Virtualização Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield University of Cambridge Computer Laboratory Microsoft

Leia mais

Cloud. Tudo o que um CEO precisa saber, mas o TI não teve paciência para explicar. {/} CLOUD SOLUTIONS

Cloud. Tudo o que um CEO precisa saber, mas o TI não teve paciência para explicar. {/} CLOUD SOLUTIONS Cloud Tudo o que um CEO precisa saber, mas o TI não teve paciência para explicar. {/} CLOUD SOLUTIONS Cloud Computing: O que é. O que faz. As vantagens. E tudo o que um CEO precisa saber, mas o TI não

Leia mais

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER TÁSSIO JOSÉ GONÇALVES GOMES tassiogoncalvesg@gmail.com MINICURSO WINDOWS SERVER 2008 TÁSSIO GONÇALVES - TASSIOGONCALVESG@GMAIL.COM 1 CONTEÚDO Arquitetura

Leia mais

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS INTEGRANTES Aniel Cruz Claudio Sant Anna José Eurique Ribeiro Roberto Nou HARDWARE & SISTEMAS DISTRIBUÍDOS Clusters Conceito; Desempenho, Disponibilidade, Balanceamento

Leia mais

Crescendo e Inovando com um Parceiro Confiável de Suporte

Crescendo e Inovando com um Parceiro Confiável de Suporte IBM Global Technology Services Manutenção e suporte técnico Crescendo e Inovando com um Parceiro Confiável de Suporte Uma abordagem inovadora em suporte técnico 2 Crescendo e Inovando com um Parceiro Confiável

Leia mais

Sistemas Operacionais 1/66

Sistemas Operacionais 1/66 Sistemas Operacionais 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware

Leia mais

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO

LEI DE ACESSO A INFORMAÇÃO DIREITO DO CIDADÃO DESCRIÇÃO DO SIGAI O SIGAI (Sistema Integrado de Gestão do Acesso à Informação) é uma solução de software que foi desenvolvida para automatizar os processos administrativos e operacionais visando a atender

Leia mais

Faça mais com menos. Descubra o gerenciamento de dados descomplicado usando o IBM Informix

Faça mais com menos. Descubra o gerenciamento de dados descomplicado usando o IBM Informix Faça mais com menos Descubra o gerenciamento de dados descomplicado usando o IBM Informix Índice 2 Descomplicado Concentre seus recursos no crescimento, e não na administração. 1 Ágil Amplie seus negócios

Leia mais

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano Sistemas Operacionais Marcos Laureano 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

Portfólio de Serviços e Produtos Julho / 2012

Portfólio de Serviços e Produtos Julho / 2012 Portfólio de Serviços e Produtos Julho / 2012 Apresentação Portfólio de Serviços e Produtos da WebMaster Soluções. Com ele colocamos à sua disposição a Tecnologia que podemos implementar em sua empresa.

Leia mais

RESUMO DA SOLUÇÃO Aperfeiçoando o planejamento de capacidade com o uso do gerenciamento de desempenho de aplicativos

RESUMO DA SOLUÇÃO Aperfeiçoando o planejamento de capacidade com o uso do gerenciamento de desempenho de aplicativos RESUMO DA SOLUÇÃO Aperfeiçoando o planejamento de capacidade com o uso do gerenciamento de desempenho de aplicativos como posso assegurar uma experiência excepcional para o usuário final com aplicativos

Leia mais

Xen Cloud Platform Xen descomplicado

Xen Cloud Platform Xen descomplicado Xen Cloud Platform Xen descomplicado CAPA A Xen Cloud Platform facilita muito a criação e o gerenciamento de máquinas virtuais sobre o hypervisor Xen. por Boris Quiroz e Stephen Spector A revolução da

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Gerência de Redes de Computadores Gerência de Redes de Computadores As redes estão ficando cada vez mais importantes para as empresas Não são mais infra-estrutura dispensável: são de missão crítica, ou

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Otimização de recursos de TI

Otimização de recursos de TI Otimização de recursos de TI Maurício Affonso da Conceição Executivo de Unidade de Negócio, IBM Brasil mauaff@br.ibm.com 2005 IBM Corporation Agenda Systems Sales Estratégias de Otimização de Recursos

Leia mais

A economia em nuvem da AWS em comparação com o da infraestrutura de TI proprietária

A economia em nuvem da AWS em comparação com o da infraestrutura de TI proprietária A economia em nuvem da AWS em comparação com o da infraestrutura de TI proprietária Publicação: 7 de dezembro de 2009 A Amazon Web Services (AWS) oferece a empresas de todos os tamanhos serviços de rede

Leia mais

arcserve Unified Data Protection Resumo da solução de virtualização

arcserve Unified Data Protection Resumo da solução de virtualização arcserve Unified Data Protection Resumo da solução de virtualização Hoje a virtualização de servidores e desktops é uma realidade não só nas empresas, mas em todos os tipos de negócios. Todos concordam

Leia mais

BOLETIM TÉCNICO NComputing Brasil - #110502 Instalando o Oracle Virtualbox 4.0.2 e Criando uma VM Windows Server 2008 no Virtualbox O que é virtualbox? O virtualbox é um aplicativo de virtualização multi-plataforma

Leia mais

Projeto e Instalação de Servidores Introdução a Servidores

Projeto e Instalação de Servidores Introdução a Servidores Projeto e Instalação de Servidores Introdução a Servidores Prof.: Roberto Franciscatto Introdução Perguntas iniciais O que você precisa colocar para funcionar? Entender a necessidade Tens servidor específico

Leia mais

PROPOSTA COMERCIAL. Produto: Cloud Server Pro. www.locaweb.com.br 1

PROPOSTA COMERCIAL. Produto: Cloud Server Pro. www.locaweb.com.br 1 PROPOSTA COMERCIAL Produto: Cloud Server Pro www.locaweb.com.br 1 Sumário SOBRE A LOCAWEB 3 INFRAESTRUTURA DO DATA CENTER 4 SOLUÇÕES PROPOSTAS 5 BENEFÍCIOS DO CLOUD SERVER PRO LOCAWEB 6 SISTEMAS OPERACIONAIS

Leia mais

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC RESUMO EXECUTIVO O PowerVault DL2000, baseado na tecnologia Symantec Backup Exec, oferece a única solução de backup em

Leia mais

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF.

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF. ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I Máquina Virtual Instalação de S.O. em dual boot 1º Semestre 2010 PROF. AMARAL Na ciência da computação, máquina virtual é o nome dado a uma máquina,

Leia mais

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01

Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Treinamento PostgreSQL Cluster de Banco de Dados - Aula 01 Eduardo Ferreira dos Santos SparkGroup Treinamento e Capacitação em Tecnologia eduardo.edusantos@gmail.com eduardosan.com 13 de Junho de 2013

Leia mais

IDC TECHNOLOGY SPOTLIGHT

IDC TECHNOLOGY SPOTLIGHT IDC TECHNOLOGY SPOTLIGHT A importância da inovação em fornecedores de sistemas, serviços e soluções para criar ofertas holísticas Julho de 2014 Adaptado de Suporte a ambientes de datacenter: aplicando

Leia mais

Licenciamento de estações de trabalho Windows para Ambientes VDI

Licenciamento de estações de trabalho Windows para Ambientes VDI Microsoft VDI e Windows VDA Perguntas Frequentes Licenciamento de estações de trabalho Windows para Ambientes VDI Como a Microsoft licencia o Windows das estações de trabalho em ambientes virtuais? A Microsoft

Leia mais

Symantec Backup Exec 2012

Symantec Backup Exec 2012 Melhor Backup para todos Data Sheet: Backup e recuperação após desastres Visão geral O é um produto integrado que protege ambientes físicos e virtuais, simplifica o backup e a recuperação após desastres

Leia mais