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. < 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. < aws.amazon.com/ec2/> Acessado em 05 e abril de The Information Factories: Revista Wired, outubro de < 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 < 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.. < 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). < 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. < 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 < 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. < 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. < 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 < 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 < 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. < Acessado em 05 de abril de Ruby on Rails: É um framework de desenvolvimento web, gratuito e de código aberto. < 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. < 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. < 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. < 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. < 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. < 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 < 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. < 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. < 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. < Acessado em 05 de abril de Servlet: Mecanismo simples e consistente para expandir as funcionalidades de um servidor web. < Acessado em 05 de abril de JSP (JavaServer Page): Fornece um meio rápido e simples de criar conteúdo web dinâmico < 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 < 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 < 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 < Acessado em 06 de maio de OpenSolaris 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 < 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 < 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 < 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 < 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 < Acessado em 19 de maio de Nagios < 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 ndoutils@'' 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 "postmaster@forenaite.net" 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 postmaster@forenaite.net 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 < Acessado em 23 de maio de Installing Under Linux < Acessado em 23 de maio de Debian Help < 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

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

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

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

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

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

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

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

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

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli Conceitos principais Nuvem Local Dados (informações) Profissional Pessoal Procedimento padrão (modelo) Produzir Armazenar Como era... Como

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

A consolidação de servidores traz uma séria de vantagens, como por exemplo:

A consolidação de servidores traz uma séria de vantagens, como por exemplo: INFRAESTRUTURA Para que as empresas alcancem os seus objetivos de negócio, torna-se cada vez mais preponderante o papel da área de tecnologia da informação (TI). Desempenho e disponibilidade são importantes

Leia mais

O que é Grid Computing

O que é Grid Computing Grid Computing Agenda O que é Grid Computing Grid vs Cluster Benefícios Tipos de Grid Aplicações Ferramentas e padrões Exemplos no mundo Exemplos no Brasil Grid no mundo dos negócios Futuro O que é Grid

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt

Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Universidade de Trás-os-Montes e Alto Douro Virtualização e Consolidação de Centro de Dados O Caso da UTAD António Costa - acosta@utad.pt Agenda A UTAD Virtualização Uma definição Introdução e abrangência

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

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

XDOC. Solução otimizada para armazenamento e recuperação de documentos

XDOC. Solução otimizada para armazenamento e recuperação de documentos XDOC Solução otimizada para armazenamento e recuperação de documentos ObJetivo Principal O Que você ACHA De ter Disponível Online todos OS Documentos emitidos por SUA empresa em UMA intranet OU Mesmo NA

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

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de:

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de: Soluções Completas Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de: - Conexões compartilhada (.IP) e dedicada (.LINK); - Data Center com servidores virtuais

Leia mais

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem

Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015. Computação em Nuvem Instituto de Educação Tecnológica Pós-graduação Gestão em Tecnologia da Informação - Turma nº 25 08/04/2015 Computação em Nuvem Carlos Henrique Barbosa Lemos RESUMO Este trabalho tem por objetivo tratar

Leia mais

Computação em Nuvem. Alunos: Allan e Clayton

Computação em Nuvem. Alunos: Allan e Clayton Computação em Nuvem Alunos: Allan e Clayton 1 - Introdução 2 - Como Funciona? 3 - Sistemas Operacionais na Nuvem 4 - Empresas e a Computação em Nuvem 5 - Segurança da Informação na Nuvem 6 - Dicas de Segurança

Leia mais

Computação nas Nuvens

Computação nas Nuvens Computação nas Nuvens TÓPICOS Introdução Internet: O fundamento principal O que é Computação em Nuvens Vantagens Dúvidas Corrida pela tecnologia Trabalhos Futuros Conclusão Referências 2 TÓPICOS Introdução

Leia mais

Segurança e Computação em Nuvem

Segurança e Computação em Nuvem Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma nº 25 09 de abril de 2015 Segurança e Computação em Nuvem Jean Poinho Malard Coordenador em Tecnologia da Informação

Leia mais

Suporte de alto nível, equipe atualizada e a qualidade dos equipamentos HP.

Suporte de alto nível, equipe atualizada e a qualidade dos equipamentos HP. Suporte de alto nível, equipe atualizada e a qualidade dos equipamentos HP. Av. Paulo VI, 1.922 Perdizes São Paulo - SP Tel.: (11) 3875.1000 www.mpesolucoes.com.br POR QUE CONTRATAR OS SERVIÇOS DA MPE

Leia mais

PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS?

PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS? PÚBLICA, PRIVADA OU HÍBRIDA: QUAL É A MELHOR NUVEM PARA SEUS APLICATIVOS? As ofertas de nuvem pública proliferaram, e a nuvem privada se popularizou. Agora, é uma questão de como aproveitar o potencial

Leia mais

CLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02

CLOUD. tendências CLOUD. entendendo e contratando assertivamente. Agosto/2012 INFORMATIVO TECNOLÓGICO DA PRODESP EDIÇÃO 02 tendências CLOUD EDIÇÃO 02 Agosto/2012 CLOUD O conceito de nuvem é nebuloso Como uma organização pode contratar assertivamente Serviços em Cloud? Quais são os principais riscos de um contrato de Cloud

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

Leia mais

Núvem Pública, Privada ou Híbrida, qual adotar?

Núvem Pública, Privada ou Híbrida, qual adotar? Instituto de Educação Tecnológica Pós-graduação Gestão e Tecnologia da Informação - Turma 25 03/04/2015 Núvem Pública, Privada ou Híbrida, qual adotar? Paulo Fernando Martins Kreppel Analista de Sistemas

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

CONSULTORIA E SERVIÇOS DE INFORMÁTICA CONSULTORIA E SERVIÇOS DE INFORMÁTICA Quem Somos A Vital T.I surgiu com apenas um propósito: atender com dedicação nossos clientes. Para nós, cada cliente é especial e procuramos entender toda a dinâmica

Leia mais

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 03-04: Modelos de Sistemas Distribuídos UNIVERSIDADE Computação Aula 03-04: Modelos de Sistemas Distribuídos 2o. Semestre / 2014 Prof. Jesus Principais questões no projeto de um sistema distribuído (SD) Questão de acesso (como sist. será acessado)

Leia mais

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito COMPUTADORES NAS EMPRESAS Prof. Reginaldo Brito Os computadores são essenciais para enfrentar o desafio da concorrência global, na qual as empresas precisam ser eficientes e ágeis e tem de produzir produtos

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

Qual servidor é o mais adequado para você?

Qual servidor é o mais adequado para você? Qual servidor é o mais adequado para você? Proteção de dados Tenho medo de perder dados se e o meu computador travar Preciso proteger dados confidenciais Preciso de acesso restrito a dados Acesso a dados

Leia mais

Soluções Oracle. Serviços Oracle

Soluções Oracle. Serviços Oracle Soluções Oracle Nossa aliança combina a força das aplicações e tecnologias da Oracle com o conhecimento da Cloware em Consultoria, Integração de Sistemas e Serviços Gerenciados. Por ser a provedora de

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

PROPOSTA COMERCIAL. Caro cliente,

PROPOSTA COMERCIAL. Caro cliente, PROPOSTA COMERCIAL Caro cliente, O MakerPlanet.COM é uma empresa que oferece serviçso de hospedagem especializado em publicação de aplicações Maker na internet. Todos os nossos planos são totalmente compatíveis

Leia mais

Alexandre Malveira, Wolflan Camilo

Alexandre Malveira, Wolflan Camilo Alexandre Malveira, Wolflan Camilo Introdução Cloud Computing Computação Móvel SaaS, PaaS e IaaS CloudBees Diariamente arquivos são acessados, informações dos mais variados tipos são armazenadas e ferramentas

Leia mais

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy. www.profsergiogodoy.com sergiogutogodoy@hotmail.

Windows 2008 Server. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy. www.profsergiogodoy.com sergiogutogodoy@hotmail. Windows 2008 Server IFSP Boituva Prof. Sérgio Augusto Godoy www.profsergiogodoy.com sergiogutogodoy@hotmail.com Windows 2008 Server Construído sob o mesmo código do Vista Server Core (Instalação somente

Leia mais

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011 SERVIÇOS BÁSICOS DE TECNOLOGIA DA INFORMAÇÃO E COMUNICAÇÃO COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011 Rua do Rouxinol, N 115 / Salvador Bahia CEP: 41.720-052 Telefone: (71) 3186-0001. Email: cotec@ifbaiano.edu.br

Leia mais

Projeto Você pede, eu registro.

Projeto Você pede, eu registro. Projeto Você pede, eu registro. 1) IDENTIFICAÇÃO 1.1) Título do Projeto: Você pede eu registro. 1.2) Equipe responsável pela coordenação do projeto: Pedro Paulo Braga Bolzani Subsecretario de TI Antonio

Leia mais

Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br. Demonstrar o impacto que o tema virtualização tem representado no mercado

Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br. Demonstrar o impacto que o tema virtualização tem representado no mercado Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br Demonstrar o impacto que o tema virtualização tem representado no mercado de TI. Apresentar alguns conceitos e técnicas sobre a tecnologia

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Administração de Sistemas de Informação Gerenciais

Administração de Sistemas de Informação Gerenciais Administração de Sistemas de Informação Gerenciais UNIDADE III: Infraestrutura de Tecnologia da Informação Atualmente, a infraestrutura de TI é composta por cinco elementos principais: hardware, software,

Leia mais

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015 GIS Cloud na Prática Fabiano Cucolo 26/08/2015 Um pouco sobre o palestrante Fabiano Cucolo fabiano@soloverdi.com.br 11-98266-0244 (WhatsApp) Consultor de Geotecnologias Soloverdi Engenharia www.soloverdi.com.br.

Leia mais

Database Cloud Service Database Backup para Oracle Cloud

Database Cloud Service Database Backup para Oracle Cloud Database Cloud Service Database Backup para Oracle Cloud Copyright 2014 Oracle Corporation. All Rights Reserved. Oracle Database Backup Service é uma solução segura, escalável e sob demanda para backup

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

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

Forneça a próxima onda de inovações empresariais com o Open Network Environment

Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral da solução Forneça a próxima onda de inovações empresariais com o Open Network Environment Visão geral À medida que tecnologias como nuvem, mobilidade, mídias sociais e vídeo assumem papéis

Leia mais

da mão-de-obra de TI da América Latina está no Brasil (considerado o maior empregador do setor) seguido pelo México com 23%.

da mão-de-obra de TI da América Latina está no Brasil (considerado o maior empregador do setor) seguido pelo México com 23%. Informações de Tecnologia A tecnologia virou ferramenta indispensável para as pessoas trabalharem, se comunicarem e até se divertirem. Computação é a área que mais cresce no mundo inteiro! Esse constante

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

DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD

DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD ARMAZENAMENTO DE DADOS MODULAR ARMAZENAMENTO DE DADOS DELL POWERVAULT SÉRIE MD Simplificação da TI O Dell série MD pode simplificar a TI, otimizando sua arquitetura de armazenamento de dados e garantindo

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

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

Detecção e investigação de ameaças avançadas. INFRAESTRUTURA

Detecção e investigação de ameaças avançadas. INFRAESTRUTURA Detecção e investigação de ameaças avançadas. INFRAESTRUTURA DESTAQUES A infraestrutura do RSA Security Analytics Arquitetura modular para coleta distribuída Baseada em metadados para indexação, armazenamento

Leia mais

Introdução a Computação nas Nuvens

Introdução a Computação nas Nuvens Introdução a Computação nas Nuvens Professor: Rômulo César Dias de Andrade. E-mail: romulocesar@faculdadeguararapes.edu.br romulodandrade@gmail.com www.romulocesar.com.br PROFESSOR... Mini CV: NOME: RÔMULO

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópico 33 e 34 Virtualização São Paulo 2009 Virtualização Ao falar em virtualização,

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

O que é Cloud Computing?

O que é Cloud Computing? O que é Cloud Computing? Referência The Economics Of The Cloud, Microsoft, Nov. 2010 Virtualização, Brasport, Manoel Veras, Fev. 2011. 2 Arquitetura de TI A arquitetura de TI é um mapa ou plano de alto

Leia mais

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos, Nuvem cloud Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos, não havendo necessidade de armazenamento

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP

Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Parceiros de serviços em nuvem gerenciada Aumente sua velocidade e flexibilidade com a implantação da nuvem gerenciada de software da SAP Implemente a versão mais recente do software da SAP de classe mundial,

Leia mais

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO 1 ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO 2 INTRODUÇÃO A cada dia que passa, cresce a pressão pela liberação para uso de novas tecnologias disponibilizadas pela área de TI, sob o argumento

Leia mais

SolarWinds Kiwi Syslog Server

SolarWinds Kiwi Syslog Server SolarWinds Kiwi Syslog Server Monitoramento de syslog fácil de usar e econômico O Kiwi Syslog Server oferece aos administradores de TI o software de gerenciamento mais econômico do setor. Fácil de instalar

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Por Antonio Couto. Autor: Antonio Couto Enterprise Architect

Por Antonio Couto. Autor: Antonio Couto Enterprise Architect Cloud Computing e HP Converged Infrastructure Para fazer uso de uma private cloud, é necessário crescer em maturidade na direção de uma infraestrutura convergente. Por Antonio Couto O que é Cloud Computing?

Leia mais

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO

UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO www.origy.com.br UM NOVO CONCEITO EM HOSPEDAGEM DE DOMÍNIO CARACTERÍSTICAS: E-MAIL IMAP * Acesso simultâneo e centralizado, via aplicativo, webmail e celular/smartphone * Alta capacidade de armazenamento

Leia mais

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01. Prof. André Lucio FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 01 Prof. André Lucio Competências do modulo Introdução ao sistema operacional Windows Instalação e configuração do sistema

Leia mais

Disciplina de Banco de Dados Introdução

Disciplina de Banco de Dados Introdução Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.

Leia mais

Relatorio do trabalho pratico 2

Relatorio do trabalho pratico 2 UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo

Leia mais

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Visão geral do Serviço Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos Os Serviços de gerenciamento de dispositivos distribuídos ajudam você a controlar ativos

Leia mais

PROPOSIÇÃO DE VALOR:

PROPOSIÇÃO DE VALOR: Caro Cliente, Na economia atual, você não pode permitir ineficiências ou sobreprovisionamento de nenhum recurso - recursos inativos custam dinheiro, recursos mal utilizados custam oportunidades. Você precisa

Leia mais

Exame de Fundamentos da ITIL

Exame de Fundamentos da ITIL Exame de Fundamentos da ITIL Simulado A, versão 5.1 Múltipla escolha Instruções 1. Todas as 40 perguntas devem ser respondidas. 2. Todas as respostas devem ser assinaladas na grade de respostas fornecida.

Leia mais

Eficiência operacional no setor público. Dez recomendações para cortar custos

Eficiência operacional no setor público. Dez recomendações para cortar custos Eficiência operacional no setor público Dez recomendações para cortar custos 2 de 8 Introdução Com grandes cortes no orçamento e uma pressão reguladora cada vez maior, o setor público agora precisa aumentar

Leia mais

BlackBerry Mobile Voice System

BlackBerry Mobile Voice System BlackBerry Mobile Voice System Comunicações móveis unificadas O BlackBerry Mobile Voice System (BlackBerry MVS) leva os recursos do telefone do escritório aos smartphones BlackBerry. Você pode trabalhar

Leia mais

Firewall. Alunos: Hélio Cândido Andersson Sales

Firewall. Alunos: Hélio Cândido Andersson Sales Firewall Alunos: Hélio Cândido Andersson Sales O que é Firewall? Firewall pode ser definido como uma barreira de proteção, que controla o tráfego de dados entre seu computador e a Internet (ou entre a

Leia mais

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação Multiplexadores Permitem que vários equipamentos compartilhem um único canal de comunicação Transmissor 1 Receptor 1 Transmissor 2 Multiplexador Multiplexador Receptor 2 Transmissor 3 Receptor 3 Economia

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

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

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO

SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO SISTEMA DE GESTÃO DE PESSOAS SEBRAE/TO UNIDADE: GESTÃO ESTRATÉGICA PROCESSO: TECNOLOGIA DA INFORMAÇÃO Competências Analista 1. Administração de recursos de infra-estrutura de tecnologia da informação 2.

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Arquitetura Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Sistemas monolíticos Sistemas em camadas Sistemas micro-núcleo Modelo Cliente-Servidor Máquinas

Leia mais

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva

Resumo da solução SAP SAP Technology SAP Afaria. Gestão da mobilidade empresarial como vantagem competitiva da solução SAP SAP Technology SAP Afaria Objetivos Gestão da mobilidade empresarial como vantagem competitiva Simplifique a gestão de dispositivos e aplicativos Simplifique a gestão de dispositivos e aplicativos

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais