Implementação de um serviço de telemetria do OpenStack em um ambiente Cloud Computing

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

Download "Implementação de um serviço de telemetria do OpenStack em um ambiente Cloud Computing"

Transcrição

1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE Universidade Federal do Rio Grande do Norte UFRN Centro de Ensino Superior do Seridó CERES Departamento de Ciências Exatas e Aplicadas DCEA Bacharelado em Sistemas de Informação BSI Implementação de um serviço de telemetria do OpenStack em um ambiente Cloud Computing Jackson Soares Orientador: Prof. MSc. Gilson Gomes da Silva. Trabalho de Conclusão de Curso apresentado ao Curso de Bacharelado em Sistemas de Informação como parte dos requisitos para obtenção do título de Bacharel em Sistemas de Informação. Laboratório de Elementos do Processamento da Informação LabEPI Caicó, RN, 27 de outubro de 2015

2 Divisão de Serviços Técnicos Catalogação da Publicação na Fonte. UFRN Biblioteca Setorial do Instituto de Química. Soares, Jackson Implementação de um serviço de telemetria do OpenStack em um ambiente Cloud Computing. / Jackson Soares. Natal, RN, f.: il. Orientador: Prof. MSc. Gilson Gomes da Silva. Monografia (Bacharel em Sistemas de Informação) Universidade Federal do Rio Grande do Norte. Centro de Ensino Superior do Seridó - CERES. Departamento de Ciências Exatas e Aplicadas. 1. Computação em Nuvens - Monografia. 2. Cloud Computing - Monografia. 3. OpenStack - Monografia. 4. Telemetria - Monografia. 5. Tecnologia da Informação - Monografia. I. Gomes, Gilson. II. Universidade Federal do Rio Grande do Norte. III. Título. RN/UFRN/BSE - Instituto de Química CDU 004.2

3 Implementação de um serviço de telemetria do OpenStack em um ambiente Cloud Computing Jackson Soares Monografia aprovada em 19 de junho de 2015 pela banca examinadora composta pelos seguintes membros: Prof. MSc. Gilson Gomes da Silva (orientador)... DCEA/UFRN Prof. Dr. João Paulo de Souza Medeiros... DCEA/UFRN Prof. MSc. Adrianne Paula Vieira de Andrade... DCEA/UFRN

4

5 Este é o dia em que o Senhor agiu; alegremo-nos e exultemos neste dia. Salmos 118:24

6

7 Agradecimentos Agradeço a Deus pelo o dom da vida, pela a sua longanimidade, fidelidade e amor para comigo, pois sem a ajuda dele seria impossível chegar até aqui. A ele seja toda a honra e a glória para todo o sempre. Aos meus pais, Josefa Soares e Antônio José Soares, por me incentivarem, sendo os pilares de minha vida, acreditando em minha capacidade. Agradeço também por eles terem investido tanto em meus estudos e me darem uma educação de um verdadeiro homem de bem, o qual contribuiu para que eu nunca me desviasse do caminho, eu os Amo. Aos meus irmãos, Andressa Soares e André Abmael Soares, por me darem seu apoio em todas as circunstâncias e serem pessoas que procuram fazer o que é bom. Ao meu grande irmão Gidinei, por me apoiar nos anos iniciais de curso cedendo um lugar de apoio e descanso, você é um grande exemplo de vencedor. Aos professores João Borges, João Paulo, Luiz Paulo e Gilson por terem um dia me aceito como integrante do LabEPI, laboratório ao qual é o melhor ambiente de estudo e aprendizado que conheci, contribuindo para minha formação. Em especial ao professor João Paulo por me ajudar em muitos momentos de dificuldades e indecisões, e ao Professor Gilson por ter me aceito como seu orientando. Aos Professores Deilson, Josué, Flavius, Taciano, Karliane, Ricardo, Fabrício pelo o conhecimento que me foi transmitido e por também fazerem parte da minha formação. Aos meus amigos de laboratório, Maycon, Francimar, Túlio, Dênis, Anderson, Daniel, Gutto, Emerson, Eduardo, Alex, Ângelo, graças a vocês pude ter um ambiente de estudo agradável, compartilhando conhecimento e resolvendo problemas, vocês são verdadeiros irmãos. Aos meus tios e primos por também me apoiarem e incentivarem nessa jornada, Especialmente tia Loura e tia Branca pelos conselhos e palavras de ânimo e fé. Aos queridos, José Carlos, José Daniel Dantas, por me proporcionarem momentos de alegrias e companheirismo renovando as minhas forças, ao Pastor Silvany, Socorro Oliveira, Valmir e Valdinete que sempre trouxeram uma palavra de fé da parte de Deus. Aos amigos, Denir, Dorgivan, Hugo da residência universitária de Caicó por dividirem comigo ao longo dos últimos anos um ambiente familiar agradável. Finalmente, sou grato pela oportunidade de desenvolver este trabalho no Laboratório de Elementos do Processamento da Informação (LabEPI), sediado no Centro de Ensino Superior do Seridó da Universidade Federal do Rio Grande do Norte.

8

9 Resumo A Cloud Computing (Computação em Nuvem) desde o início da década atual deixou de ser apenas um conceito e passou a ser um novo paradigma, influenciando a tomada de decisões de grandes empresas em todo mundo e afetando direta e indiretamente uma grande parte das pessoas. O objetivo deste trabalho consiste em desenvolver um serviço de telemetria para cálculo de estimativas e criação de relatórios de uso de recursos em uma nuvem OpenStack R. Será abordado a Cloud Computing expondo seus conceitos, características, e seus impactos junto à Tecnologia da Informação. À medida que a Cloud Computing avança, também avançam os esforços, investimentos e projetos em toda a parte. OOpenStack R éumexemplodeplataformaestáveldecódigoabertoparaanuvem(cloud). Fornecendo uma gama de opções e oportunidades para o desenvolvimento de aplicações baseadas em seus serviços. Diante deste cenário, surgiu a necessidade de desenvolver uma aplicação com o objetivo de realizar cálculos e estimativas do uso de recursos fornecidos pela nuvem, por meio da implantação e utilização do serviço de telemetria. Durante o desenvolvimento deste trabalho, e da aplicação resultante, foi feito a escolha do tema, realizado estudos bibliográficos e técnicos, a implementação do sistema, coleta e análise dos resultados. Conclui-se os resultados obtidos como positivos e satisfatórios, já que os testes realizados demonstraram que a aplicação desenvolvida fornece controle e gerência do uso de recursos na nuvem, provendo transparência para todos os tipos de usuários, sendo que este trabalho pode ser utilizado pela comunidade em geral, para estudos posteriores, levando em consideração nuvens computacionais e problemas de estudos similares. Palavras-chave: Cloud Computing; OpenStack; Telemetria.

10

11 Abstract Since the beginning of the decade, Cloud Computing have ceased to be a concept and came to be a new paradigm, influencing the making of decisions for large companies around the world and affecting directly and indirectly many people. The objective of this work is to develop a telemetry service for calculating estimates and creating resource usage reports in a OpenStack R cloud. This work will about Cloud Computing, exposing it s concepts, features, and it s influences among the Information Technology. As Cloud Computing advances, so advances our efforts, investments and projects all over the place. OpenStack R is an example of stable open source platform for the cloud. Providing a range of options and opportunities to develop applications based on their services. Against this scenary, came the need of developing one application with objective to estimate the resource usage provided by the cloud. Therefore, the deployment and use of a Telemetry service and it s methods was conducted. For the development of this work, and of the resulting application, was made choosing the topic, bibliographic and technical studies, system implementation, collection and analysis of results. It was concluded the results as positive and satisfactory, since tests have shown that the developed application provides control and management of the use of resources in the cloud, providing transparency for all types of users, and this work can be used for the community in general, for further studies taking into account computational clouds and similar studies problems. Keywords: Cloud Computing; OpenStack; Telemetry.

12

13 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas i Sumário Lista de Figuras Lista de Tabelas Lista de siglas e abreviações Lista de marcas registradas iii v vii ix 1 Introdução Definição do Problema Solução Proposta Objetivos Objetivo Geral Objetivos Específicos Justificativa Organização do trabalho Referencial Teórico Introdução A TI e seu papel nas organizações Cloud Computing Conceitos de Cloud Computing Virtualização Uma plataforma de nuvem aberta Histórico e Características Serviços do OpenStack O Serviço Ceilometer Conceitos Arquitetura Métodos de consultas Trabalhos Relacionados Procedimentos Metodológicos Caracterização da Pesquisa - Estudo de Caso Realização do Estudo bibliográfico Realização do Estudo técnico Implementação da aplicação Coleta e análise dos resultados

14 4 Análise do Estudo de Caso - Projeto Prático Introdução Implementação da aplicação RDU Instalação do Serviço de Telemetria - Ceilometer Interações com a API Ceilometer Tecnologias e Ferramentas utilizadas Python A biblioteca Pycurl Gnuplot API para gerar relatórios de uso e custos por utilização de recursos Interagindo com a interface Resultados Obtidos Considerações Finais Conclusões Trabalhos futuros Referências Bibliográficas 41 A Apendice para desenvolvedores 43 A.1 Manual de instalação Ceilometer A.1.1 Instalação do módulo de Telemetria A.1.2 Instalando o agente compute de Telemetria A.1.3 Sincronizando o serviço de Imagem serviço de Telemetria: A.1.4 Verificando a instalação do serviço de Telemetria A.2 API Web V2 Ceilometer A.3 Código fonte da API RDU

15 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas iii Lista de Figuras 2.1 Uma representação para Cloud Computing Modelo visual para Cloud Computing Visão Geral OpenStack A arquitetura Conceitual OpenStack A arquitetura Conceitual do Ceilometer Gráfico contendo as informações da métrica memory Gráfico contendo as informações da métrica cpu Gráfico contendo as informações da métrica cpu util Exemplo de visualização de metrica do Dashboard para admin Exemplo de visualização de metrica do Dashboard para usuário comum.. 34

16

17 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas v Lista de Tabelas 2.1 Versões do OpenStack Testes realizados e resultados obtidos

18

19 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas vii Lista de siglas e abreviações API...Application Programming Interface AWS...Amazon Web Services BSI...Bacharelado em Sistemas de Informação CAPEX...Capital Expenditure CERES...Centro de Ensino Superior do Seridó CPU...Central Processing Unit DaaS...Database-as-a-Service - DaaS DCEA...Departamento de Ciências Exatas e Aplicadas DICT...Dictionary EC2... Elastic Computing Cloud E/S...Entrada e Saída FTP...File Transfer Protocol FTPS...File Transfer Protocol Security HP...Hewlett Packard HTTP...Hyper Text Transfer Protocol HTTPS...Hyper Text Transfer Protocol Security IaaS...Infrastructure-as-a-Service IP... Internet Protocol KVM... Kernel-based Virtual Machine LabEPI...Laboratório de Elementos do Processamento da Informação LXC...Linux Containers LDAP...Lightweight Directory Access Protocol MMV ou VMM...Monitor de Máquina Virtual NASA...National Aeronautics and Space Administration of United States NIST... National Institute of Standards and Technology OPEX...Operational Expenditure OSI... Open Source Iniciative PaaS...Platform as a Service PC...Personal Computer RAM...Random Access Memory SaaS...Software as a Service SDK...Software Developers Kit TI...Tecnologia da Informação UFRN... Universidade Federal do Rio Grande do Norte UML...User Mode Linux URL...Uniform Resorce Locator

20

21 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas ix Lista de marcas registradas Amazon R Amazon Elastic Block Storage EBC R Amazon Elastic Computing Cloud EC2 R Amazon Simple Storage Service AS3 R Amazon Web Services AWS R Firefox R Google R Google Docs R Google Chrome R Hewlett Packard R HP Helion OpenStack R Microsoft R Microsoft Ofice 365 R Nimbus R OpenNebula R OpenStack R OpenStack Fundation R Rackspace Cloud Servers R RackSpace Cloud Files R Windows Azure R As várias marcas listadas nessa página, têm o objetivo de informar aos leitores que o autor deste trabalho utiliza tais nomes apenas para fins editoriais, buscando com isso beneficiar o dono da Marca Registrada, sem haver infração nas regras de sua utilização.

22

23 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas 1 Capítulo 1 Introdução Entrega o teu caminho ao Senhor; confia nele, e o mais ele o fará Salmos 37:5 1.1 Definição do Problema A Cloud Computing (Computação em Nuvem) veio para suprir a necessidade de construir infraestruturas de Tecnologia da Informação (TI) complexas, em que, nestas mesmas estruturas os usuários têm que realizar a instalação, configuração e atualização de softwares. Além disso, recursos de computação e hardware são propensos a ficarem obsoletos rapidamente. Assim, a utilização otimizada de plataformas computacionais próprias ou de terceiros é uma solução inteligente para os usuários lidarem com infraestrutura de TI. Na Cloud Computing os recursos de TI são fornecidos baseados em serviço, isto permite que os usuários acessem os serviços sem a necessidade de conhecimento sobre a tecnologia utilizada, e sem ter que se preocupar com os problemas de alocação de espaço para hardware ou com a manutenção de máquinas e equipamentos (Sousa F. R. C., 2009). Dessa maneira, a Cloud Computing tem se tornado uma área bastante fértil a ser explorada. As maiores empresas privadas da computação em todo o mundo já voltaram suas atenções para este paradigma computacional. Exemplos são: Microsoft, Google e Amazon, que despontam como as maiores desenvolvedoras e ofertantes de serviços e soluções em Cloud Computing; serviços estes que abrangem desde o usuário comum até grandes empresas, e podem ser Software, Plataforma e/ou Infraestrutura. Por outro lado, existem algumas plataformas de nuvem como: Nimbus, OpenNebula e o OpenStack que provêem soluções open source, ou seja, seguindo os requisitos de código aberto definidos pela Open Source Iniciative OSI (2015) sendo eles: distribuição do produto (software/aplicação) de forma livre ou gratuita para todos os grupos, pessoas e áreas de atuação, de maneira que seja permitido acesso ao código-fonte e a criação de trabalhos derivados, garantindo o reconhecimento do autor do código fonte, em que a distribuição da licença não seja restrita a programas, produtos ou tecnologias; Apesar da demanda por serviços em nuvem ser crescente dia após dia, eis que surge um problema relacionado à monopolização das tecnologias de tal paradigma computacional pelas grandes empresas, junto à oferta de serviços semelhantes através soluções de

24 tecnologias de código aberto, que permitam aos seus usuários obter controle e gerência de utilização dos recursos na nuvem. 1.2 Solução Proposta Baseado nos questionamentos levantados na Definição do Problema fez-se uma pesquisa a respeito de ferramentas e soluções em código aberto para a Cloud Computing na qual o OpenStack surge como uma solução adequada, baseando-se em suas características, as quais, se constitui como uma coleção de projetos de open-source (ou seja, de código aberto) utilizada pelas empresas ou provedores para configurar e gerenciar Nuvens Computacionais. O projeto OpenStack visa construir uma comunidade open-source com pesquisadores, desenvolvedores e empresas, que compartilham um objetivo comum: criar uma Nuvem simples de ser implantada, altamente escalável e com vários recursos avançados (Wen et al., 2012). De acordo com (OpenStack, 2014b), o OpenStack permite a realização de cálculo de métricas e consumo de recursos para nuvem. No entanto essas funcionalidades só ficam visíveis ao instalar o serviço de Telemetria, sendo que como será visto mais adiante algumas das informações aparecem apenas para usuários administradores da nuvem, caraterizando um processo oculto ao usuário final. Assim, surge a oportunidade de aliar o poder e os conceitos de Cloud Computing junto aos serviços oferecidos pelo OpenStack de maneira que seja implementada uma Application Programming Interface (API) para sincronizar com o serviço de métricas [i] do OpenStack que permita gerar relatórios de uso e custos por utilização de recursos de forma que estas informações possam ser acessadas por quaisquer usuários. 1.3 Objetivos Objetivo Geral Desenvolver um serviço de telemetria para cálculo de estimativas e criação de relatórios de uso de recursos em uma nuvem OpenStack Objetivos Específicos 1. Realizar o levantamento bibliográfico acerca de Cloud Computing; 2. Pesquisar sobre cálculos de estimativas baseadas na utilização de recursos para nuvens OpenStack; 3. Desenvolver uma Application Programming Interface API para gerar os relatórios; 4. Coletar os resultados da aplicação para o escopo definido, e analisar os resultados. [i] Asmétricassãoasmedidasbrutas, atômicasedesimplescomposição. EmumaestruturadeArmazenamento de informações, por exemplo, podem ser armazenados no formato de tabelas e medem quantidades, valores e Dimensões Elias (2014).

25 1.4 Justificativa Pessoal: Desejo em melhor conhecer a área de estudo tendo como objetivo se tornar um profissional capacitado no desenvolvimento, manutenção e utilização de tecnologias em Cloud Computing. Acadêmica: A Cloud Computing tem-se tornado um paradigma computacional cada vez mais estudado no meio acadêmico principalmente pelas áreas que a compõem, como por exemplo, redes de computadores, virtualização, computação distribuída, trabalhos voltados para o desenvolvimento aplicações de monitoramento de utilização de recursos em nuvens, etc. Profissional: Há alguns anos a Cloud Computing vem experimentando um elevado crescimento quanto ao desenvolvimento de aplicações e adesão de grandes e médias empresas à sua plataforma de oferta de serviços. Por esta razão, é importante para uma ampla gama de pessoas ter um conhecimento prático acerca do tema, pois poderá ser o modelo computacional predominante em todo o mundo. 1.5 Organização do trabalho Além deste Capítulo, o trabalho está dividido em outros 4, que são: Capítulo 2, que diz respeito ao Referencial Teórico, o qual é a base deste projeto de estudo e abordará os seguintes assuntos e temas: Tecnologia da Informação e a sua relação com Cloud Computing; Cloud Computing: conceitos e características; Virtualização; OpenStack: características, serviços, aplicações e recursos; Por fim o Ceilometer, o qual provê funções e aplicações para se acessar métricas no sistema OpenStack; Capítulo 3, diz respeito a Metodologia aplicada na pesquisa e as atividades presentes no desenvolvimento deste trabalho; Capítulo 4, mostra como foi realizada a implementação, os testes, Além dos resultados obtidos; E por fim o Capítulo 5, apresenta a conclusão do trabalho bem como as expectativas para projetos e trabalhos futuros.

26

27 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas 5 Capítulo 2 Referencial Teórico 2.1 Introdução A educação tem raízes amargas, mas os seus frutos são doces. Aristóteles Este capítulo trata do levantamento bibliográfico, nele são expostos conceitos e visões da Cloud Computing a fim de que se entenda de uma forma geral a importância que permeia o tema, bem como a sua influência no cenário tecnológico atual e quais tecnologias compõem esse paradigma da computação moderna. Dessa forma, procura-se falar da relação entre a Cloud Computing e a Tecnologia da Informação. São mostrados também quais os tipos de serviços providos pela Cloud Computing, quais suas características essenciais, os modelos de implantação, conceitos e a importância da virtualização. Outro ponto a ser abordado é o OpenStack, expondo as características do sistema, os serviços e aplicações providos pelo mesmo, com o intuito de tornar conhecido do leitor as informações principais desse sistema de implantação de nuvens. Por fim, o capítulo abordará o serviço de Telemetria, o qual foi objeto de estudo no desenvolvimento deste trabalho, estando presentes algumas definições, características e funcionalidades que o serviço dispõe para permitir a contagem de métricas de utilização dos recursos na nuvem. 2.2 A TI e seu papel nas organizações Segundo Veras (2012), a Tecnologia da Informação compreende o uso, processamento e armazenamento da informação através de recursos computacionais a fim de se realizar objetivos diversos, tendo em vista que a TI seja fundamental para a competitividade de uma organização. A TI não somente desempenha o papel de orientação tradicional de suporte administrativo como também o papel estratégico dentro da organização. Pois além de prover assistência às operações de negócio existentes, também permite que se viabilizem novas estratégias empresariais tendo em vista o suporte fornecido em larga escala pela TI junto aos processos empresariais e organizacionais. O uso eficaz da TI e a integração entre sua estratégia e a estratégia do negócio vão além da idéia de ferramenta de produtividade, sendo muitas vezes fator crítico de sucesso. Hoje,

28 ocaminhoparaestesucessonãoestámaisrelacionadosomentecomohardware eosoftware utilizados, ou ainda com metodologias de desenvolvimento, mas com o alinhamento da TI com a estratégia e as características da empresa e de sua estrutura organizacional (Laurindo et al., 2001). Veras (2012), divide a TI em quatro grandes partes: os sistemas de informação (conjuntos de aplicativos), a arquitetura que diz respeito à estrutura hierárquica organizacional da TI, a infraestrutura que representa o alicerce para os aplicativos e sustenta o modelo operacional, e por fim a gestão que diz respeito a governança de TI, da forma como as demais partes estarão organizadas e estrategicamente integradas. A TI provoca repercussões em todos os níveis da estrutura organizacional: No nível estratégico, quando se deseja aumentar a coerência entre a organização e o meio envolvente, se traduzindo em aumento de eficácia em termos de cumprimento da missão organizacional; Nos níveis operacional e administrativo, quando existem efeitos endógenos, traduzidos em aumento da eficiência organizacional em termos de opções estratégicas. Ainda de acordo com Veras (2012), devido as organizações serem compostas por coletâneas de grandes processos, e estes mesmos muitas vezes terem que responder as mais diversas demandas que acabam reconfigurando e alterando-os, fica evidente a necessidade e importância de se tratar de uma TI flexível, e que permita a rápida configuração da organização de forma a obter uma rápida flexibilidade e prover maior qualidade dos serviços com o adequado financiamento da TI. Dessa maneira, a Cloud Computing segundo Veras (2012), surge como a solução à necessidade da TI mais flexível pois representa uma nova forma de pensar a mesma, onde: 1. Ao adotar a Cloud Computing, os custos do negócio passam do Capital Expenditure (CAPEX) que é o investimento de capital com equipamentos e instalações, para Operational Expenditure (OPEX) que são investimentos para gasto com operação; 2. O investimento em infraestrutura de TI é reduzido, pois não há a necessidade de compra de servidores, softwares e licenças; 3. Aumenta o capital disponível para as áreas estratégicas do negócio. 2.3 Cloud Computing A computação tem evoluído consideravelmente. Em aproximadamente meio século, desde que surgiram os primeiros computadores, a forma de como são manipulados os dados e aplicações tem mudado consideravelmente, pois com os mainframes todo o acesso a dados e aplicações eram locais e distribuídos através de redes internas, logo após vieram aplicações em desktops e Personal Computer (PC s) em geral que acessavam a mesma base de dados. Posteriormente, as aplicações passariam a serem acessadas e manipuladas via navegador Web, ou utilizando quase sempre o formato cliente-servidor-cliente, onde uma grande parte do processamento era realizada na parte do cliente. Atualmente, as aplicações são armazenadas em servidores, e acessadas via Internet a partir de qualquer lugar, com alto poder de processamento e disponibilidade(sousa F. R. C., 2009). Exemplo dessa afirmação está na Figura 2.1. Graças aos avanços tecnológicos, cada vez mais as pessoas têm estado conectadas. A Internet permite que nos mantenhamos informados, e que utilizemos seus recursos para

29 Figura 2.1: Uma representação para Cloud Computing. Fonte: compartilhar, acessar e criar uma quantidade de dados e informações cada vez mais crescente. Diante deste fato, uma nova forma de utilização de recursos computacionais tem sido oferecida para a sociedade moderna, uma forma baseada em serviços, onde os softwares e outros recursos computacionais são disponibilizados em uma plataforma de conexão com o servidor (empresa ou organização) que oferece o serviço através da Internet. Segundo Buyya et al. (2009), Cloud Computing é uma tendência recente da tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação sob demanda com pagamento baseado no uso. Tendências anteriores à Cloud Computing foram limitadas a uma determinada classe de usuários ou focadas em tornar disponível uma demanda específica de recursos de TI, principalmente de informática. Este modelo representa uma mudança de paradigma computacional tanto para usuários comuns que podem criar, acessar e compartilhar seus documentos e arquivos armazenandoos em algum lugar na Internet, quanto para empresas e corporações que podem obter melhores resultados econômicos e de mercado, por isto, pode-se considerar que que esta é uma abordagem global e mais abrangente levando cada vez mais empresas a observar e estudar as vantagens e necessidades de embarcar nessa nova tendência tecnológica Conceitos de Cloud Computing A nuvem (Cloud) é uma metáfora para a Internet ou infraestrutura de comunicação, que tem como objetivo abstrair toda complexidade presente na mesma. Assim, através da cloud, serviços são disponibilizados uma vez que estão alocados em data-centers, utilizando hardware compartilhado para computação e armazenamento (Sousa F. R. C., 2009). Os serviços podem ser utilizados pelos usuários apenas com os requisitos mínimos de possuírem em suas máquinas um sistema operacional, um navegador e acesso a Internet além dos componentes básicos de hardware. Todo o processamento computacional, bem

30 como todos os recursos estão disponibilizados na nuvem e são acessados via Internet, com isso, os usuários não precisam ter máquinas locais com alta capacidade computacional, diminuindo seus gastos com equipamentos e tornando possível aos mesmos a aquisição de novos recursos de forma rápida e prática à medida que surgir uma necessidade. Tratando-se especificamente da definição, entre as muitas definições dadas pelos pesquisadores da área, O National Institute of Standards and Technology NIST (2011) apresenta a definição que será usada neste trabalho e é considerada por muitos a mais aceitável para a Cloud Computing: É um modelo que fornece acesso através da rede (nuvem) à um conjunto de recursos configuráveis e compartilhados de computação (por exemplo, redes, servidores, armazenamento, aplicações e serviços) que podem ser rapidamente disponibilizados e liberados com um mínimo de esforço de gestão e interação com o fornecedor de serviços. NIST (2011) Este modelo divulgado pelo NIST para a Cloud Computing define cinco características essenciais, três modelos de serviço e quatro modelos de implementação, conforme exibido na Figura 2.2. Figura 2.2: Modelo visual para Cloud Computing dado pelo NIST. Adaptado de: (NIST). As características podem ser entendidas como o diferencial promovido pela Cloud Computing. Algumas em conjunto, a definem exclusivamente tornando-a um paradigma computacional completamente inovador. De acordo com NIST (2011) as características principais da cloud são: 1. Autoatendimento sob demanda: Funcionalidades computacionais, tais como tempo de servidor, armazenamento e de rede, são providas automaticamente conforme as necessidades do cliente, sem que haja como pré requisito a interação humana junto ao provedor de serviços. 2. Amplo acesso à serviços de rede: Recursos estão disponíveis através da Internet e são acessados por meio de mecanismos padronizados que promovam uso através de plataformas heterogêneas, sendo elas dispositivos móveis e portáteis, computadores, etc. (por exemplo, telefones celulares, tablets, notebooks, estações de trabalho).

31 3. Pool de Recursos: Recursos computacionais do provedor são agrupados para atender múltiplos consumidores através de um modelo multilocatário, com diferentes recursos físicos e virtuais alocados e realocados dinamicamente de acordo com a demanda do consumidor. 4. Elasticidade Rápida: Funcionalidades Computacionais podem e devem ser elasticamente provisionadas e liberadas, em alguns casos, automaticamente, e de acordo com a demanda. Para o consumidor, as capacidades disponíveis para provisionamento frequentemente parecem ser ilimitadas e podem ser contratadas em qualquer quantidade a qualquer momento. 5. Serviços Mensuráveis: Os sistemas utilizados para gerenciar a Cloud Computing automaticamente controlam e otimizam o uso dos recursos, alavancando a capacidade de medição em algum nível de abstração apropriado para o tipo de serviço (por exemplo, processamento, armazenamento, largura de banda e contas de usuários ativos). O uso dos recursos pode ser monitorado, controlado e reportado, oferecendo transparência tanto para o provedor quanto para o consumidor do serviço utilizado. Conforme a definição do NIST (2011), há três opções de modelos de entrega de serviços de Cloud Computing, compondo o seu padrão arquitetural: Software as a Service (Software como Serviço) - (SaaS): Nesse modelo, a capacidade fornecida ao consumidor é a utilização de aplicativos do provedor rodando em uma infraestrutura de nuvem. As aplicações são acessíveis a partir de vários dispositivos clientes, tais como um navegador Web, ou uma interface de programa. Todo o controle e gerenciamento da rede, sistemas operacionais, armazenamento e servidores, é feito pelo provedor do serviço. Exemplos de SaaS são o Google Docs e o Microsoft Ofice 365. Platform as a Service (Plataforma como Serviço) - (PaaS): É fornecida ao consumidor a capacidade para implantar sobre a infraestrutura de nuvem aplicações criadas ou adquiridas usando linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo provedor. O consumidor tem controle sobre os aplicativos implementados e possivelmente definições de configuração para o ambiente de hospedagem dos aplicativos. Se destacam como exemplos de PaaS a AppEngine do Google e o Windows Azure da Microsoft. Infrastructure as a Service (Infraestrutura como Serviço) - (IaaS): O consumidor recebe a capacidade de provisionar processamento, armazenamento, redes e outros recursos de computação fundamentais, onde ele será capaz de implantar e executar software arbitrário, que podem incluir sistemas operacionais e aplicativos. Neste cenário, o usuário não tem o controle da infraestrutura física, mas, com os métodos providos pela Virtualização, possui controle sobre os recursos virtualizados de armazenamento, aplicativos instalados e sobre recursos limitados de rede. Exemplo de IaaS é a Amazon Elastic Computing Cloud EC2 e o serviço oferecido pelo OpenStack. Já os modelos de implantação definidos pelo NIST (2011), são os seguintes:

32 Nuvem Privada (Private Cloud): A infraestrutura de nuvem é provisionada para uso exclusivo por uma única organização que agrupa vários consumidores (por exemplo, unidades de negócio). Pode ser detida, gerida e operada pela organização, um terceiro, ou alguma combinação deles, e ele pode existir ou não no local. Neste modelo de implantação são empregados políticas de acesso aos serviços e as técnicas utilizadas para prover tais características são as mesmas empregadas no modelo de serviço de IaaS, ou seja, gerenciamento de redes, configurações dos provedores de serviços e a utilização de tecnologias de autenticação e autorização. Exemplo deste modeloéanuvemimplantadanolabepi [i],aqualfoioambientededesenvolvimento do presente trabalho. Nuvem Pública (Public Cloud): No modelo de implantação público, a infraestrutura de nuvens é disponibilizada para o público em geral, sendo acessado por qualquer usuário que conheça a localização do serviço. Pode ser detida, gerida e operada pelo o meio acadêmico ou organização governamental, ou alguma combinação deles. Ela existe nas instalações do provedor de nuvem. As restrições de acesso, bem como politicas de autenticação e autorização neste modelo são menos rigorosas. Nuvem Comunitária (Comunity Cloud): No modelo de implantação comunidade ocorre o compartilhamento por diversas empresas de uma nuvem, sendo esta suportada por uma comunidade específica que partilhou seus interesses, tais como a missão, os requisitos de segurança, política e considerações sobre flexibilidade. Este tipo modelo de implantação pode existir localmente ou remotamente e pode ser administrado por alguma empresa da comunidade ou por terceiros. Nuvem Híbrida (Hybrid Cloud): Neste modelo a infraestrutura de nuvem é uma composição de duas ou mais distintas infraestruturas de nuvem (privada, comunitária ou pública) que permanecem entidades únicas, mas são unidos por tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicações Virtualização Virtualização e Cloud Computing estão relacionadas, no entanto, não significam à mesma coisa. A intersecção entre ambos ocorre quando se torna necessário virtualizar servidores durante a implantação de cloud. Isso acaba reduzindo a relação de dependência que os recursos de computação exercem entre si, pois possibilita, por exemplo, a dissociação entre um aplicativo e o sistema operacional que ele utiliza. A virtualização define-se como a criação de um ambiente virtual para simular um ambiente real, permitindo utilizar diversos sistemas e aplicativos sem que seja necessário o acesso físico à máquina na qual estão hospedados (Amaral, 2009). Mais especificamente, um equipamento computacional virtualizado pode hospedar diversos ambientes, chamados de Máquinas Virtuais, simultaneamente, compartilhando seus recursos de processamento e armazenamento (MICROSOFT, 2009). De acordo com (Veras, 2012), A Virtualização simplifica o gerenciamento, permitindo tornar o processamento mais flexível e poderoso. Os softwares que possuem a capacidade de prover virtualização permitem melhorar a disponibilidade e a recuperação de desastres [i] Laboratório de Elementos do Processamento da Informação, situado no Campus Ceres - Caicó - RN

33 de ambientes de TI de maneira mais simples e mais barata comparada aos meios mais tradicionais. A camada de virtualização de servidores mais conhecida é o HYPERVISOR ou Monitor de Máquina Virtual (MMV), O MMV permite implementar diversas máquinas virtuais separando os componentes/recursos virtualizados, esses recursos podem ser Central Processing Unit (CPU), Memória RAM Random Access Memory e dispositivos de Entrada e Saída (E/S). Tipos de virtualização: Virtualização de Hardware (CPU): Consiste em permitir simular a execução de vários sistemas operacionais na mesma máquina de forma que se comportem como se fossem várias máquinas físicas distintas. Para isto é necessário a utilização de programas capazes de emular os componentes físicos de um computador, esses programas geram máquinas virtuais (Virtual Machines, ou VMs) (Amaral, 2009). Essa técnica permite de certa forma eliminar a incompatibilidade existente entre aplicativos e sistemas operacionais; Por exemplo, um sistema operacional A, pode através do uso máquinas virtuais conter um outro sistema operacional B instalado de forma que A agora terá acesso aos aplicativos que rodam exclusivamente em B pois a máquina virtual permite logicamente simular o funcionamento de uma máquina física. Outro ponto interessante é que para servidores, sua virtualização permite economia, melhor alocação de espaço e maior aproveitamento de sua capacidade pois ao invés de se ter diversos subservidores físicos e individuais, e muitas vezes sendo subaproveitado as suas capacidades totais de uso, se torna possível e fundamental o uso de espaços e processamos extras na utilização de servidores lógicos criados por máquinas virtuais. Virtualização da Apresentação (CPU): Similar à realização de acesso remoto, permite o acesso a um computador sem ter contato físico com ele, outra característica é que vários usuários podem utilizar o mesmo sistema simultaneamente sem interferir uns nos outros (Amaral, 2009). Virtualização de Aplicativos (CPU): Consiste em ter uma única cópia de determinado aplicativo, instalada em um servidor virtual; usuários que desejarem ter acesso a tal aplicativo podem fazê-lo diretamente, sem a necessidade de que ele também esteja instalado na máquina física (Amaral, 2009). Virtualização de memória: O MMV tem a capacidade de compartilhar páginas de memória comuns entre várias MVs, controlar o acesso físico à memória e ter conhecimento das páginas que estão sendo utilizadas Waldspurger (2012), Assim a memória será utiliza de maneira otimizada. Virtualização de Dispositivos de E/S: Todo acesso de Entrada e Saída (E/S) é direcionado ao MMV. O monitor reconhece a finalidade do acesso e emula uma cópia do hardware retornando-a ao sistema hospedado (Amaral, 2009). Quanto mais recursos virtualizados, melhores resultados obtidos no processo de implantação de Cloud Computing. Consequentemente os principais benefícios serão a melho-

34 ria da gestão do ambiente de TI, segurança da informação, e o mais importante: considerável redução de custos e melhor aproveitamento da capacidade computacional levandose em consideração a quantidade de tempo em que o hardware e software passam ociosos ou subutilizados. 2.4 Uma plataforma de nuvem aberta O OpenStack é uma coleção de projetos de software de código aberto utilizada pelas empresas ou provedores para configurar e gerenciar Nuvens Computacionais. O projeto visa construir uma comunidade open-source com pesquisadores, desenvolvedores e empresas, que compartilham um objetivo em comum: criar uma Nuvem simples de ser implementada, altamente escalável e com vários recursos avançados (Wen et al., 2012) Histórico e Características Na construção de nuvens privadas ou públicas o OpenStack surge como uma solução de código aberto estável e eficiente. O mesmo pode ser definido como um sistema operacional que controla pools de computação (grande volume de recursos computacionais), armazenamento e recursos de rede através de um painel, uma interface Web e tem como objetivo a entrega de infraestrutura como serviço (IaaS) através de uma plataforma open source. Projetado em 2011 pela National Aeronautics and Space Administration of United States (NASA) e Rackspace para gerenciamento interação da nuvem, hoje é apoiado por mais de 800 organizações, busca produzir uma plataforma onipresente de cloud computing de código aberto para nuvens privadas e públicas baseando-se nos princípios de entrega de serviços sob demanda de três principais pilares: computação, redes e meios de armazenamento OpenStack (2014c) como mostrado na Figura 2.3. O OpenStack fornece uma solução de Infrastructure-as-a-Service (IaaS), através de um conjunto de serviços inter-relacionados. De forma a permitir a gestão, orquestração e automação dos recursos de TI que envolvem a construção de uma nuvem privada ou a utilização de nuvens públicas, dessa forma, analisando a Figura 2.3 pode ser observado que as camadas relacionadas a aplicações e administração de acesso estão no topo da pilha, com os elementos padrões de recursos para computação, redes e armazenamento vindo imediatamente abaixo deles. Tudo repousa sobre os serviços compartilhados e, no fim, em plataformas padrão específicas de hardware de código livre. Permitindo acesso de recursos de computação através de APIs para desenvolvedores de aplicativos em nuvem e fornecendo interface Web para administradores e usuários OpenStack (2014c). É uma plataforma consistente atualmente contando com 11 distribuições ou releases (como também é chamado), sendo que a primeira release lançada foi a Austin em outubro de 2010 e a última a Kilo lançada em Abril de 2015, a cada 6 meses a OpenStack Fundation lança uma nova release contendo novos serviços ou atualizações e correções de bugs. Na Tabela 2.1 segue um panorama geral dos releases do OpenStack até a atual data. O OpenStack tem gerado uma maior disseminação do modelo de nuvem usando código aberto, estimulando baixos custos para a sua implementação e manutenção, além de contar com uma grande comunidade para corrigir bugs e compartilhar conhecimento e técnicas de implantações.

35 Série Data do Lançamento Kilo Apr 30, 2015 Juno Oct 16, 2014 Icehouse Apr 17, 2014 Havana Oct 17, 2013 Grizzly Apr 4, 2013 Folsom Sep 27, 2012 Essex Apr 5, 2012 Diablo Sep 22, 2011 Cactus Apr 15, 2011 Bexar Feb 3, 2011 Austin Oct 21, 2010 Tabela 2.1: Nome/Série e Data dos Releases. Disponível em: wiki. openstack. org/ wiki/ Releases(OpenStack) Serviços do OpenStack Escrito basicamente em Python o OpenStack possui uma arquitetura como a mostrada na Figura 2.3 composta dos seguintes principais serviços/projetos: Figura 2.3: Visão Geral OpenStack. Fonte: (OpenStack). Os serviços básicos do OpenStack são: Nova (Serviço Compute): Fornece servidores virtuais sob demanda, como os Rackspace Cloud Servers ou a Amazon Elastic Compute Cloud EC2 no ambiente Amazon Web Services AWS. OpenStack (2014b); O serviço Compute é utilizado para hospedar e gerenciar sistemas de cloud computing. Se caracteriza como de suma importância no provimento de Infra-estruturacomo-Serviço (IaaS) e os seus principais módulos são implementados em Python. Além disso, o serviço Compute interage com outros serviços como, autenticação, imagem de disco para o servidor e imagens, e OpenStack Dashboard para o usuário

36 e interface administrativa. Segundo Dieder (2012), algumas atribuições deste serviço são: Gerenciar os recursos computacionais, de rede e autorização, gerenciar o ciclo de vida de instâncias, prover integração administrativa e pública através de uma API REST, integrar o sistema com hypervisors (Xen/XenServer, Kernel-based Virtual Machine KVM, VMware/ESX, Linux Containers (LXC), User Mode Linux (UML), Hyper-V, Qemu) e prover comunicação assíncrona. O serviço Compute possui os módulos: Nova-API, Rabbit MQ Server, Nova- Compute, Nova-Scheduler, Nova-Network, Nova-Volume. Glance (Serviço de Imagem): Fornece um meio de descobrir, armazenar e recuperar máquinas virtuais para o OpenStack Nova. O Glance abrange desde os elementos de painel de controle, cálculo, rede até itens de armazenamento. OpenStack (2014b); Horizon (Serviço Dashboard) : fornece um painel com mecanismos de controle para a administração de serviços OpenStack, instâncias, recursos e monitoramento de status e eventos fornecendo maiores capacidades de solução problemas. O DashBoard é a interface utilizada pelo Horizon. OpenStack (2014b); Keystone (Serviço de Autenticação): Responsável pelo gerenciamento de usuários. Mantém o controle de usuários e o que eles estão autorizados a fazer, além de fornecer um catálogo de quais serviços estão disponíveis e onde seus terminais de API estão localizados. OpenStack (2014b) Neutron (Serviço de Redes): Responsável por manter conectados os serviços OpenStack entre si através de conexões de rede. O Neutron fornece uma API de gerenciamento de redes e endereços de Internet Protocol (IP) permitindo que os usuários configurem suas prórias redes dentro da nuvem OpenStack. Assim como outros aspectos do sistema operacional em nuvem, ele pode ser usado por administradores e usuários para aumentar o valor dos ativos do datacenter existentes. Sua arquitetura suporta vários padrões de redes e tecnologias. OpenStack (2014b); Swift (Serviço de Object Storage): Fornece objetos para dados, conteúdo e outros materiais. Isto se origina dos RackSpace Cloud Files e é mais ou menos análogo ao Amazon Simple Storage Service (S3) dentro de seu ambiente Amazon Web Services. O Swift é tido como o item de Armazenamento. OpenStack (2014b); Além dos serviços básicos outros serviços fazem parte da arquitetura do OpenSatck são eles: Ceilometer (Serviço de Telemetria): Fornece o monitoramento e medição do consumo dos recursos do OpenStack para fins de faturamento, benchmarking (processo de busca de melhores práticas), escalabilidade e estatísticas. OpenStack(2014b); Cinder (Serviço de Block Storage): Fornece armazenamento em blocos para instâncias OpenStack Compute. Este serviço é semelhante à oferta Amazon EC2 Elastic Block Storage (EBS). Possui uma arquitetura plugável facilitando criar e gerenciar blocos de armazenamento. OpenStack (2014b);

37 Heat (Serviço de Orquestração): Orquestra as aplicações da nuvem usando o modelo nativo HOT ou o formato da AWS Cloud-Formation. O serviço pode ser acessado através de API REST, como também fornece compatibilidade com a API CloudFormation de forma a garantir a configuração e implantação automática de recursos em pilhas. OpenStack (2014b); Trove (Serviço de Database): Garante isolamento de recursos em níveis elevados de desempenho, automatizando tarefas administrativas complexas, tais como implementação, configuração, aplicação de patches, backups, restaurações e monitoramento através do fornecimento de Banco de Dados como um Serviço, (Databaseas-a-Service - DaaS) para bancos de dados relacionais e não relacionais de maneira escalável e confiável.openstack (2014b) A arquitetua conceitual e os serviços do OpenStack se relacionam como mostrada na Figura 2.4: Figura 2.4: A arquitetura Conceitual OpenStack, Disponível em www. openstack. org/ software/ (OpenStack).

38 2.5 O Serviço Ceilometer O projeto Ceilometer [ii] foi iniciado em 2012 com um objetivo simples em mente: oferecer uma infra-estrutura para recolher todas as informações necessárias sobre projetos OpenStack. Dessa maneira, visa proporcionar um único ponto de contato para sistemas de faturamento adquirir todas as medidas necessárias para estabelecer o faturamento do uso dos recursos da nuvem pelo o cliente. (OpenStack, 2015a) O módulo de telemetria foi originalmente projetado para suportar sistemas de faturamento para recursos de nuvem OpenStack. Este serviço abrange apenas a parte de medição do processamento necessário para o faturamento, coletando informações sobre o sistema e armazenando-as na forma de amostras, a fim de fornecer dados sobre qualquer coisa que pode ser cobrada. Tendo em vista que, na indústria de nuvem, os fornecedores devem usar múltiplas etapas, incluindo medição e classificação. Para se calcular o faturamento, o processo como um todo se torna complexo, por isso, é necessário definir o termo Serviço Medido baseando-se em métricas. O Ceilometer por sua vez permite utilizar várias métricas predefinidas bem como permite a inserção de novas métricas de acordo com a necessidade e a utilização de novos recursos. OpenStack (2014b) Desta maneira, a lista de métricas está crescendo continuamente, o que faz com que seja possível utilizar os dados recolhidos através da telemetria para diferentes fins, que não sejam de faturamento. Por exemplo, o recurso autoscaling (auto escala) no módulo Orchestration pode ser desencadeado por alarmes deste conjunto de módulos e, em seguida, é notificado no prazo de telemetria. De acordo com OpenStack (2015a), o processo de faturamento normalmente executado em grandes empresas compreende três etapas: 1. Medição (Metering): É o processo de coleta de informações sobre o quê, quem, quando e quanto, Ou seja é o calculo de qualquer coisa que pode ser cobrada. O resultado disso é uma coleção de (amostras) que estarão prontas serem processados da maneira que você quiser. 2. Avaliação (Rating): É o processo de analisar uma série de bilhetes, de acordo com as regras de negócios definidas, a fim de transformá-los em itens com um valor de moeda, mercado. 3. Faturamento (Billing): É o processo de criação de conta para o cliente, de forma a emitir a fatura para iniciar a coleta de pagamento. A meta do ceilometer é estritamente limitada ao passo 1. Esta foi uma escolha feita desde o início, pois prover processos de Avaliação e Faturamento traria uma grande variedade de opções e o projeto nem sempre conseguiria uma solução que se encaixe às necessidades de todos, em particular para nuvens públicas. OpenStack (2015a) Isto significa que o projeto Ceilometer é suficiente para resolver as necessidades de faturamento, mas certamente não é o fim da estrada. Uma vez que o Ceilometer está implantado em sua nuvem OpenStack, é preciso construir regras de utilização para definir [ii] A inspiração para o nome deste projeto OpenStack veio de uma ferramenta utilizada na meteorologia (ciência que estuda os fenômenos atmosféricos), no qual, um Ceilometer é um dispositivo que utiliza um laser ou outra fonte de luz para determinar a altura de uma base da nuvem. Fonte:(

39 valores e etc. Outro ponto é estudar as consultas adequadas no âmbito do API Ceilometer para extrair as informações e classificações próprias Conceitos Meters (Métricas): Métricas simplesmente medem um aspecto particular do uso de recursos (por exemplo, a existência de uma instância em execução) ou de desempenho em curso (por exemplo, a corrente de utilização da CPU para essa instância) (Rdo-Project, 2013). Todasasmétricastêmumnomeúnico, umaunidadedemedida, eumtipoqueindicase os valores são monotonamente crescente (cumulative), interpretado como uma mudança em relação ao valor anterior (delta), ou um valor autônomo que apenas diz respeito à duração atual (gauge) (Rdo-Project, 2013). Samples (Amostras): Amostras são simplesmente datapoints (ou seja, informações individuais e únicas associados a uma métrica particular). Como tal, todos os exemplos englobam os mesmos atributos que o contador propriamente dito, mas com a adição de um marcador de tempo e um valor (também conhecido como a amostra volume )Rdo-Project (2013). Statistics (Estatísticas): Se a amostra é um único datapoint ou ponto de dados, em seguida, uma estatística é um conjunto de pontos de dados tais agregados ao longo de um período de tempo. Ceilometer emprega atualmente cinco funções de agregação diferentes: count: o número de amostras em cada período; máx: o valor máximo dos volumes de amostras em cada período; min: o valor mínimo dos volumes de amostras em cada período; avg: a média dos volumes de amostras em cada período; som: a soma dos volumes de amostras em cada período. Nota-se que todas essas funções de agregação são aplicadas para cada estatística calculada. Isto pode parecer um desperdício se o usuário está interessado apenas em um dos valores, mas, na prática, quase nenhum custo computacional extra é agregado para calcular esses valores Rdo-Project (2013) Arquitetura De Acordo com OpenStack (2015a) cada um dos serviços do ceilometer são projetados para escalar horizontalmente. O Ceilometer oferece cinco serviços essenciais, os agentes de dados são projetados para trabalhar de forma independente dos coletores e dos Alarmes, mas também podem desempenhar papéis juntos como uma solução completa:

40 agentes de votação (polling agent) - Projetado para pesquisar serviços OpenStack e construir Métricas. agentes de notificação (notification agent)- Projetado para ouvir as notificações da fila de mensagens e convertê-los para eventos e amostras. coletor (collector)- Projetado para reunir dados de evento e registro de pressão e medição criados pelos agentes de notificação e de votação. api - Serviço para consultar e visualizar dados registrados pelo serviço de colecionador. alarmes alarming - Serviço de avaliação e notificação com base em regras de alarmes definidas. Uma representação de como é a arquitetura do Ceilometer pode ser visualizado na Figura 2.5. Figura 2.5: A arquitetura conceitual do Ceilometer, Disponível em docs. openstack. org/ developer/ ceilometer/ architecture. html (OpenStack). Para que os serviços citados anteriormente na arquitetura funcionem corretamente são os componentes básicos executados e instalados na nuvem os responsáveis pelas tarefas. São eles:

41 Compute Agent (ceilometer-agent-compute): É executado em cada nó compute (ou seja, cada nó de computação) e fornece pesquisas para as estatísticas de utilização de recursos. (OpenStack, 2014b); Central Agent (ceilometer-agent-central): É executado no servidor de gerenciamento central para coletar as estatísticas de utilização de recursos para recursos não vinculados a instâncias ou nós de computação. (OpenStack, 2014b); Collector (ceilometer-collector): É executado em um ou mais servidores de gerenciamento central para monitorar as filas de mensagens (para notificações e para dados de medição provenientes do agente). As mensagens de notificação são processadas e transformadas em medição e enviadas de volta. (OpenStack, 2014b); Alarm Notifier (ceilometer-alarme-notifier): É executado em um ou mais servidores de gerenciamento central para permitir configurar alarmes com base na avaliação limiar para uma coleção de amostras. (OpenStack, 2014b); Data Store: Um banco de dados capaz de lidar com a escrita simultânea (a partir de uma ou mais instâncias do collector) e lê-se (a partir do servidor de API). (OpenStack, 2014b); API server (ceilometer-api): É executado em um ou mais servidores de gerenciamento central para fornecer acesso aos dados do armazenamento de dados. (OpenStack, 2014b); Todos os componentes/agentes são desenvolvidos na linguagem Python assim como praticamente todo o OpenStack Métodos de consultas Para se realizar consultas às informações, métricas do serviço, pode ser utilizado as seguintes API s: curl: É uma ferramenta de linha de comando que permite enviar solicitações HTTP das mais variadas formas e receber respostas. As aplicações utilizando essa ferramenta são as mais variadas e afetam bilhões de usuários em todo o mundo; Clientes OpenStack para linha de comando: Cada projeto OpenStack fornece um cliente de linha de comando que permite que você acesse sua API através de comandos de fácil utilização; REST clients: São Apis de envio de solicitações HTTP por meio de navegadores como Google Chrome, Firefox, entre outros; Kit de desenvolvimento de softwares python OpenStack(Python SDK): Permite escrever scripts de automação Python que criam e fazem chamadas em objetos Python ao invés de fazer chamadas REST diretamente. Todas as ferramentas de linha de comando OpenStack são implementados usando o Python SDK.

42 2.6 Trabalhos Relacionados Existem muitos trabalhos relacionados ao tema de Cloud Computing, entre alguns se destacam os que são relacionados a métodos de monitoramento e cálculo de consumo de recursos. Carvalho (2015), Em sua tese propõe um framework que mantém o monitoramento automático e atualizado de recursos contratados pelos usuários da nuvem, à medida que estes sejam criados, modificados ou destruídos na plataforma de nuvem. O framework proposto suporta diversas plataformas e soluções de monitoramento em nuvem, e é responsável pela coleta e organização de informações das plataformas, através da detecção de operações que ocorreram na plataforma e pela configuração das soluções de monitoramento de acordo com regras definidas pelo administrador. O autor analisou soluções de plataformas de nuvens atuais e os seus métodos de monitoramento, citando entre outras, soluções como OpenStack e o serviço Ceilometer, o qual foi integrado ao desenvolvimento do framework proposto. O framework desenvolvido foi intitulado de FlexACMS (Flexible Automated Cloud Monitoring Slices). Já Brinkmann et al. (2013), apresentam uma arquitetura de monitoramento que foi desenvolvida e é atualmente implementada em um projeto chamado EASI-CLOUDS. No seu trabalho eles falam das múltiplas exigências sobre sistemas de monitoramento de nuvem, e dos controles regulares dos SLA s ou seja, acordos de níveis de serviços e faturamento baseando-se no uso de recursos. Os autores ainda discorrem sobre a estimativa e conversão de leituras de infra-estrutura em intervalos curtos. Outro ponto que se destaca é que para garantir a escalabilidade de toda a nuvem, o sistema de monitoramento deve ser bem dimensionado sem desperdiçar recursos. No trabalho, os autores citam algumas plataformas de nuvem como o OpenStack, que fornecem meios para implantação e métodos de gerenciamento de recursos em nuvem. Os autores então propõem uma abordagem em que os dados de monitoramento são organizados em uma estrutura de árvore distribuído e facilmente escalável e seu principal componente inclui a interface, a raiz da árvore e de extensão de pontos para sub árvores que são implementados e gerenciados localmente pelos fornecedores de dados deles mesmos. Apesar da variedade e a distribuição dos dados, o seu acesso é genérico e localização transparente, dessa forma, além de simples fornecedores de dados de monitoramento, é esboçado um componente que fornece os meios para armazenar e pré-processar dados. A motivação para este componente é o de que o sistema de controle pode ser ajustado para os seus assinantes. Xiaojiang and Yanlei (2013) em seu trabalho, abordam a importância do uso de Cloud Computing como uma solução eficaz para a construção de sistemas e aplicações de acordo com suas demandas, isso remete à escalabilidade e disponibilidade da nuvem. No trabalho, propõe uma Plataforma de Serviços em computação em nuvem baseado no OpenStack que suporta o gerenciamento de serviço, auto-scaling, controle de segurança e alta disponibilidade, etc. Para alcançar a gestão eficaz dos recursos e garantir a qualidade do serviço, os autores propuseram a implementação do monitoramento de recursos subsistema. Ele pode monitorar métricas de desempenho utilização da CPU, uso de memória e recursos físicos e virtuais como E/S de rede. Como resultado, os dados persistentes podem ser utilizados pelo subsistema de gestão de recursos e subsistema de alarme. No trabalho de Rossigneux et al. (2014), os autores enfocam a computação em nuvem para a indústria de TI, onde seus processos em grandes industrias muitas vezes consomem enormes quantidades de energia elétrica. Os autores reforçam a idéia de que esforços têm

43 sido feitos para reduzir o consumo de energia nas nuvens, de acordo com a pesquisa realizada o autor observa que certos centros de dados têm se aproximado de um fator intitulado Power Usage Effectiveness (PUE). No trabalho os autores também falam a respeito de um valor aproximado para o PUE que revela a infra-estrutura de TI como a responsável por uma grande parte da energia consumida por um data center. Dessa forma, o monitoramento e análise de como a energia é gasta tem sido crucial. Os autores falam que esse acompanhamento é necessário não só para a compreensão de como a energia é consumida, mas também para avaliar o impacto das políticas de gestão de energia. Os autores também trazem a tona resultados de experiência sobre o controle de sistemas em larga escala e introduz uma estrutura de software de monitoramento de energia chamado de quilowatts API (KWAPI), capaz de lidar com nuvens OpenStack. O software cuja arquitetura é escalável, extensível e completamente integrado ao OpenStack, suporta vários dispositivos wattímetros, múltiplos formatos de medição, e minimiza a sobrecarga de comunicação. Em Cima et al. (2015), são tratados aspectos de eficiência energética que podem ser adicionados a nuvens OpenStack. Os autores buscam elaborar um gerenciador de recursos de energia eficiente para OpenStack, primeiro, analisando a utilização de recursos de energia em nossos recursos de nuvem. No trabalho, é observado que há um custo fixo associado com padrões de utilização do servidor, e é necessário deligá-los para atingir economias de energia. Os autores discutem métodos de mecanismos de migração de servidores e consolidação de carga, como solução sofisticadas de gerenciamento de cargas. Por fim, são discutidos trabalhos em curso sobre a realização de um gerente de carga para OpenStack com base nessas observações.

44

45 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas 23 Capítulo 3 Procedimentos Metodológicos A persistência é o menor caminho para o êxito Charles Chaplin 3.1 Caracterização da Pesquisa - Estudo de Caso A metodologia escolhida para a elaboração do presente trabalho monográfico foi de pesquisa bibliográfica e experimental do tipo estudo de caso, de acordo com Yin (2001), o estudo de caso é uma estratégia de pesquisa que compreende um método abrangente em abordagens específicas de coletas e análise de dados. Este método é útil quando o fenômeno a ser estudado é amplo e complexo e não pode ser estudado fora do contexto onde ocorre naturalmente. Yin (2001) destaca que, os estudos de caso podem ser: Exploratórios: quando se quer encontrar informações preliminares sobre o assunto estudado. Importante no desenvolvimento de Estudos de Casos explanatórios, pois permite confrontar teorias diversas, em que existem diferentes perspectivas, enriquecendo o estudo; Descritivos: Tem como objetivo descrever o estudo de caso realizado; Explanatórios: Busca problematizar ou produzir novas teorias com o intuito de problematizar o seu objeto, construir ou desenvolver novas teorias que irão ser confrontadas com as teorias já existentes, proporcionando avanços do conhecimento. Foi aplicado o tipo de estudo de caso explanatório, onde, identificado um problema, foi proposta e desenvolvida nova solução baseando-se em outras existentes com o objetivo de avançar a área de pesquisa. Foram realizadas as seguintes atividades: 1. Escolha do tema; 2. Estudo bibliográfico; 3. Estudo técnico; 4. Implementação da aplicação;

46 5. Coleta e análise dos resultados. Cada um desses passos será descrito com detalhes mais adiante. 3.2 Realização do Estudo bibliográfico A realização do estudo bibliográfico deu-se através de pesquisas à obra de diversos autores a respeito de cloud computing e suas aplicações, tecnologia da informação, com o intuito obtenção de conhecimento aprofundado sobre o tema escolhido e fundamentação teórica para desenvolver a aplicação proposta. 3.3 Realização do Estudo técnico O estudo técnico foi realizado através de documentações do OpenStack (providas e mantidas pela fundação OpenStack e pelos os colaboradores do projeto) e na busca de informações por ferramentas que integram o sistema de nuvem como um todo, algumas informações que ajudaram no desenvolvimento do trabalho foram encontradas em fóruns públicos de discursões na web outras em tutoriais de utilização de ferramentas e aplicações. 3.4 Implementação da aplicação A implementação da aplicação teve início após ser adquirido o domínio técnico sobre o problema, e compreendeu as seguintes atividades: Implantação do serviço de telemetria para o openstack: Diz respeito à instalação do Ceilometer seguindo às orientações do guia (OpenStack, 2014b), bem como os testes realizados na API fornecida pelo Ceilometer; Escolha das tecnologias (Ferramentas, linguagens de programação) que possibilitaram o desenvolvimento: Diz respeito ao estudo referente às ferramentas e linguagens que poderiam ser utilizadas para implementação da API; E a realização de testes de funcionalidades: Diz respeito aos testes realizados na API depois de implementada com o objetivo de colher informações quanto ao funcionamento e desempenho da mesmo quanto os objetivos pretendidos. Cada uma das atividades realizadas na implantação é explicado detalhadamente em Coleta e análise dos resultados Por fim, a coleta e análise dos resultados (explicado de forma prática e com maiores detalhes em 4.7) desenvolveu-se através do estudo dos gráficos e relatórios gerados pela aplicação na fase de testes, possibilitando relacionar e avaliar os resultados com a solução proposta em 1.2 e os objetivos do trabalho em Para a coleta dos resultados foram realizados testes que avaliaram o desempenho da API RDU2 em comparação com as API s padrões dos serviços OpenStack, a tabela 3.1 abaixo, explica cada teste realizado, a avaliação, e os resultados obtidos.

47 Teste Avaliação Resultados Autenticação OpenStack. Verificação do serviço Ceilometer. Consulta de métricas utilizando o serviço Dashboard, logado como usuário administrador. Consulta de métricas utilizando o serviço Dashboard, logado como usuário comum. Consulta de métricas, Via API de Linha de comandos OpenStack. Consulta de métricas, Via API curl. Consulta de métricas, Via API REST Client para navegadores. Consulta de métricas utilizando filtro por funções. Consulta de métricas como usuário admin. Credenciais de usuário (tenant, login, password). Estado de funcionamento (ativo, erro). Quais métricas o administrador da nuvem possui acesso através do Dashboard. Quais métricas o usuário comum possui acesso através do Dashboard. O funcionamento da API, suas respostas para as requisições. O funcionamento da API, suas respostas para as requisições. O funcionamento da API, suas respostas para as requisições. Consultas de informações de métricas por faixa de tempo, valores, etc. Quais métricas o administrador da nuvem possui acesso. Usuários autenticados com sucesso, visualização de todos os serviços integrados e em funcionamento. O serviço retornou uma lista de métricas disponíveis para consulta (ativo). O administrador visualiza todas as métricas relacionadas ao usuário admin e aos demais usuários. O usuário comum não tem acesso a nenhuma informação de métricas. A API fornece suporte à todas as funcionalidades de busca e cadastro de métricas com resultados satisfatórios. A API fornece suporte à todas as funcionalidades de busca e cadastro de métricas com resultados satisfatórios. Possui extensão para implementações em python. A API fornece suporte à todas as funcionalidades de busca e cadastro de métricas, porém seu desempenho não foi satisfatório, por algumas restrições com o nevegador. O serviço retornou informações refinadas de acordo com as funções repassadas. O serviço retornou todas as métricas relacionadas ao usuário admin e aos demais usuários.

48 Teste Avaliação Resultados Quais métricas o usuário com acesso restrito pode visualizar. usuário cliente. Consulta de métricas como usuário cliente. Autenticação via API RDU2. Consulta de métricas via API RDU2, para usuário admin. Consulta de métricas via API RDU2, para usuário comum. Geração de gráficos e relatórios via API RDU2 Capacidade da API autenticar usuários no serviço. Capacidade de a API realizar consultas para usuários administradores. Capacidade de a API realizar consultas para usuários com acesso restrito. Capacidade de a API demonstrar graficamente a utilização dos recursos na Nuvem através de relatórios. Tabela 3.1: Testes realizados e resultados obtidos. O serviço retornou todas as métricas relacionadas apenas ao A API funcionou corretamente retornando a confirmação de autenticação dos usuários. A API retornou as informações de cada métrica para usuário admin e demais usuários. A API retornou informações de métricas relacionadas apenas com o usuário comum. A API gerou gráficos para cada usuário e métricas de recursos pesquisadas.

49 OpenStack: Utilizando o serviço de Telemetria para cálculo de estimativas 27 Capítulo 4 Análise do Estudo de Caso - Projeto Prático Descobrir consiste em olhar para o que todo mundo está vendo e pensar uma coisa diferente. Roger Von Oech 4.1 Introdução Este capítulo tem o intuito de apresentar os métodos, ferramentas e técnicas utilizadas no desenvolvimento da aplicação. 4.2 Implementação da aplicação RDU2 Na etapa de desenvolvimento desta atividade escolheu-se primeiro instalar o serviço de Telemetria (ceilometer) do OpenStack, para que depois de instalado dependendo das experiências obtidas no manuseio do mesmo fossem então identificadas as tecnologias e ferramentas para implementação da aplicação. O Ceilometer foi escolhido levando em consideração as premissas abaixo: 1. Segundo (OpenStack, 2014b) ele é o serviço próprio desenvolvido pelo OpenStack para a coleta e armazenamento de dados referente à utilização de recursos na nuvem, Ou seja, em outras palavras o Ceilometer é a base arquitetural para qualquer sistema, aplicação de cálculos e estimavas de recursos em implantações de nuvens Openstack. 2. O fato do Ceilometer ser usado por grandes empresas em suas nuvens privadas OpenStack, exemplo da HP Helion OpenStack [i] que também utiliza o serviço de métricas para fins de faturamento. Depois de instalado o serviço de Telemetria Ceilometer, foi-se realizado diversas interações e testes com o sistema através das API s mostradas na Figura 2.5 e explicadas em A.2 que são providas pelo Ceilometer. Depois de testar a instalação e conhecer melhor a base do serviço ceilometer, foram escolhidas as tecnologias/ferramentas para desenvolvimento da aplicação tendo como referência a linguagem em que o Ceilometer é implementado e quais métodos ele fornece. [i]

50 Por fim, foi realizado o desenvolvimento e implementação aplicação e depois foram realizados testes e colhidos os resultados. 4.3 Instalação do Serviço de Telemetria - Ceilometer Esta atividade está disponível no Apêndice A após as referências bibliográficas. 4.4 Interações com a API Ceilometer De acordo com a (OpenStack, 2014a) que foi a base de estudo dessa atividade, embora cada serviço seja instalado separadamente, ambos trabalham em conjunto para atender às suas necessidades na nuvem: Autenticação, Computação, serviço de imagem, Block Storage, Networking, objeto de armazenamento, Orquestração, e telemetria. Dessa forma, seguindo as instruções dadas pela documentação (OpenStack, 2014a) foram realizados interações de autenticação no serviço e coletadas informações de métricas através das ferramentas curl e da linha de comandos para clientes OpenStack (ver e A.2). Alguns exemplos de interações e requisições realizadas são exibidos abaixo: 1. # curl -s -X POST -H "Content -Type: application/json" -d {"auth": {"tenantname": "teste", " passwordcredentials":{"username": "teste", "password": "teste"}}} python -m json.tool No item 1, temos um exemplo de Autenticação no Ceilometer utilizando a ferramenta curl, onde, são fornecidos o endereço de autenticação, e as credenciais do usuário. 2. # curl -X GET -H "X-Auth-Token: MIIJdwYJKoZIhvcNAQcCoIIJaDCCCWQCAQExCTAHBgUrDgMCGjCCB80GCSqGSIb3DQEH " -H "Content-Type: application/json" " meters" python -m json.tool Já no item 2, temos um exemplo de pesquisa de métricas utilizando a ferramenta curl, onde, são fornecidos em ordem: o token de autenticação recebido pelo usuário na etapa anterior e o endereço para consulta das métricas. 3. # curl -X GET -H "X-Auth-Token: MIIJdwYJKoZIhvcNAQcCoIIJaDCCCWQCAQExCTAHBgUrDgMCGjCCB80GCSqGSIb3DQEH " -H "Content-Type: application/json" " meters/cpu/statistics" python -m json.tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed :00:08 0:00:07 0:00:01 83 [

51 ] { } "avg": , "count": 18979, "duration": , "duration_end": " T11:20:47", "duration_start": " T17:32:39", "groupby": null, "max": , "min": 0.0, "period": 0, "period_end": " T17:32:39", "period_start": " T17:32:39", "sum": , "unit": "ns" E no exemplo do item 3, temos a resposta da api contendo informações sobre estatísticas utilizando a ferramenta curl. 4.5 Tecnologias e Ferramentas utilizadas Devido o OpenStack e seus serviços serem desenvolvidos utilizando a linguagem de programação Python [ii], foi decidido desenvolver a aplicação, descrita neste trabalho também utilizando a linguagem Python. O Ceilometer fornece uma Api Web para realizar a comunicação com os seus serviços, as informações que são enviadas e recebidas são requisições que utilizam Hyper Text Transfer Protocol (HTTP), foi então utilizada a biblioteca Pycurl [iii] que também é implementada na linguagem Python e permitiu a comunicação da API com o serviço Ceilometer. Por fim, Após a recepção e tratamento das informações os dados são gerados em forma degráficos, deacordocomessacaracterísticafoidecididoutilizaraferramentagnuplot [iv] integrada com o Python também através da biblioteca Gnuplot.py [v] Python Python é uma linguagem de programação poderosa e fácil de aprender. Ela possui estruturas de dados de alto nível, eficientes e uma abordagem simples, muito eficaz para programação orientada a objetos. A sintaxe do Python também é elegante e juntamente com a sua natureza interpretada, tornam Python ideal para scripting e desenvolvimento rápido de aplicações em muitas áreas na maioria das plataformas Python (2015). O interpretador Python e sua extensa biblioteca padrão estão disponíveis gratuitamente na fonte ou forma binária para todas as principais plataformas, e pode ser distribuído livremente em além de que é facilmente estendido com novas funções e [ii] [iii] [iv] [v]

52 tipos de dados implementados em C ou C ++ (ou outros linguagens de programação que podem ser chamados a partir de C)Python (2015). Aqui são citadas apenas algumas características como referência desta linguagem. Para entender e conhecer mais a respeito acesse a documentação gratuita do Python [vi] A biblioteca Pycurl A biblioteca pycurl é uma interface Python para libcurl. pycurl foi feito e testado com versões Python 2,4-2,7 e 3,1-3,4 com sucesso. libcurl é uma biblioteca de transferência de URL do lado do cliente de suporte FTP, FTPS, HTTP, HTTPS, Gopher, Telnet DICT, o FILE e LDAP. libcurl também suporta certificados HTTPS, HTTP POST, HTTP PUT, uploads FTP, proxies, cookies, autenticação básica, transferência de arquivos, currículo de sessões FTP, tunneling, proxy HTTP Pycurl (2015). Toda a funcionalidade fornecida pelo libcurl pode ser usado através da interface pycurl Gnuplot O Gnuplot é um utilitário gráfico em linha de comando portátil orientado para Linux, OS/ 2, MS Windows, OSX, VMS, e muitas outras plataformas. O código-fonte é protegido por direitos autorais, mas livremente distribuído (ou seja, você não tem que pagar por isso). Ele foi originalmente criado para permitir que cientistas e estudantes pudessem visualizar funções matemáticas e dados de forma interativa, mas cresceu tanto o seu uso que muitas pessoas utilizam-no de forma não interativas, tais como scripting web. Ele também é usado como um mecanismo de plotagem por aplicativos de terceiros, como Octave. Gnuplot tem sido apoiado e encontra-se em desenvolvimento ativo desde 1986 Willians and Kelley (2015). Gnuplot suporta vários tipos de gráficos em 2D e 3D. Ele pode desenhar utilizando linhas, pontos, caixas, contornos, campos de vetores, superfícies e vários textos associados. Ele também suporta vários tipos de gráficos especializados. Outro suporte desse aplicativo é para diferentes tipos de saída: terminais de tela interativa, impressoras modernas e saída para outros formatos de arquivos (EPS, emf, jpeg, LaTeX, pdf, png, PostScript,...). As recentes adições incluem terminais interativos baseados em wxwidgets (Utilizáveis em múltiplas pataformas) e páginas da web que podem ser gerados usando os drivers terminais SVG ou HTML5 Willians and Kelley (2015). 4.6 API para gerar relatórios de uso e custos por utilização de recursos O nome escolhido para a aplicação foi RDU2 originário de Resource display used by users ou Visualização de recursos utilizados por Usuários. Depois de escolher as ferramentas a serem utilizadas deu-se início à implementação da aplicação, trechos comentados do código fonte estão disponíveis no Apêndice seção A.3. [vi]

53 4.6.1 Interagindo com a interface Informando credenciais de usuário e métricas Inicialmente, a interação com a interface começa, ao inserir os argumentos para execução da aplicação. Os argumentos necessários são: o nome do programa, a quantidade de métricas a serem pesquisadas, e os dados referentes à autenticação do usuário (login, tenant, senha) como é mostrado abaixo: # python RDU2.py 3 teste teste teste Se as credenciais do usuário forem válidas, a interface então, solicita ao usuário que digite os nomes das métricas: # python RDU2.py 3 teste teste teste digite o nome da metrica A mesma resposta é dada para usuários administradores como no exemplo abaixo, em que como pode ser observado as credenciais de usuário inseridas são diferentes do usuário teste que é um usuário sem privilégios administrativos: # python RDU2.py 3 admin admin admin digite o nome da metrica Visualizando os gráficos gerados pelas métricas: Figura 4.1: Gráfico contendo as informações da métrica memory. Fonte: O Autor

54 Figura 4.2: Gráfico contendo as informações da métrica cpu. Fonte: O Autor Os gráficos gerados nas Figuras 4.1, 4.2 e 4.3 exibem as informações para as métricas solicitadas tanto pelo usuário comum como o administrador, ou seja ambos tem acesso a todas as estatisticas de recuros consumidos pelo mesmo, algo que não era possível até então. 4.7 Resultados Obtidos Os resultados obtidos pela aplicação desenvolvida, foram como um todo satisfatórios, e encontram-se listados abaixo: 1. A nuvem implantada no LabEPI em um ambiente de testes agora possui o serviço de Telemetria instalado e funcionando corretamente, algo que anteriormente não existia e permite o uso de suas funcionalidades no gerenciamento de recursos da nuvem acadêmica; 2. A aplicação permite maior controle e gerência quanto ao uso de recursos da nuvem, auxiliando a tomada de decisões de gestores em casos de escolha por soluções em nuvens, utilizando o monitoramento do uso dos recursos; 3. A aplicação possuía uma versão similar (que é integrada diretamente ao Dashboard e vem implementada por padrão quando se instala o serviço Ceilometer), no entanto, a aplicação desenvolvida existe de maneira separada e pode ser executada de maneira independente do Dashboard;

55 Figura 4.3: Gráfico contendo as informações da métrica cpu util. Fonte: O Autor 4. Permite facilmente a futuras implementações estipular o consumo baseado em valores monetários e até mesmo prover outras informações além do consumo; 5. A aplicação oferece um maior nível de transparência com todos os usuários, qualquer usuário pode acessar suas informações de uso de recursos, e a hora que quiser, na aplicação similar provida pelo Dashboard apenas usuários administradores podem acessar as métricas de todos os usuários como pode ser visto na Figura 4.4. De acordo com o observado na Figura 4.4, para a versão Icehouse do OpenStack (que foi a versão estudada e desenvolvida a aplicação), o usuário Admim (Administrador) tem acesso ao painel do sistema e tem acesso às informações de estatísticas para métricas. Já na Figura 4.5 percebe-se claramente que o usuário comum intitulado teste não possui nenhum acesso ao painel de controle e não pode acompanhar as variações estatísticas de uso dos recursos. Por fim, com a aplicação criada, pode-se agora, concentrar-se no desenvolvimento de tarefas mais elaboradas para o refinamento dos algoritmos utilizados e funções da mesma, e para a adição de novas funcionalidades. As limitações presentes na aplicação desenvolvida foram: Interface com o usuário em modo terminal (linha de comandos): A interação do usuário com a aplicação é feita via terminal, ou seja, para esta versão a aparência não é amigável e pouco intuitiva para a inserção dos dados, ideal seria a implementação de uma interface gráfica com botões caixas de diálogo;

56 Figura 4.4: Exemplo de visualização de metrica do Dashboard para usuário admin. Fonte: O Autor. Figura 4.5: Exemplo de visualização de metrica do Dashboard para usuário comum. Fonte: O Autor. Credenciais de usuário visíveis durante a autenticação: As credenciais(login, tenant, e password) ficam visíveis aos usuários e a quem estiver próximo ao mesmo, caracterizando uma inconfidência de dados por falta de segurança, onde o ideal seria ocultar essas informações; A cada métrica pesquisada um novo token é gerado: Por padrão, quando um usuário se autentica no Ceilometer, é gerado um token que é uma chave única validando aquele acesso realizado, cada token gerado durante uma autenticação é válido por 60 minutos, sendo necessário o usuário relogar para voltar a usar as funcionalidades do serviço. Na aplicação desenvolvida não há um controle desse tempo e a cada métrica consultada o processo de gerar um token é refeito n vezes de

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

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

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

Computação em Nuvem com Openstack

Computação em Nuvem com Openstack Allan Krueger Glauber C. Batista Charles Christian Miers Membros Colméia Grupo de Pesquisa em Software e Hardware Livre Computação em Nuvem com Openstack Roteiro Geral OpenStack 2 OpenStack 3 Openstack

Leia mais

Minicurso Computação em Nuvem Prática: Openstack

Minicurso Computação em Nuvem Prática: Openstack Minicurso Computação em Nuvem Prática: Openstack Glauber Cassiano Batista Ricardo Sohn Membros Colméia Roteiro Geral Definições Virtualização Data center Computação em Nuvem Principais classificações:

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

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

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

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM

ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM ANÁLISE COMPARATIVA ENTRE APLICAÇÕES GRATUITAS EM NUVEM Pedro Victor Fortunato Lima, Ricardo Ribeiro Rufino Universidade Paranaense UNIPAR Paranavaí Paraná Brasil pedrin_victor@hotmail.com, ricardo@unipar.br

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

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

CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com

CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com CLOUD COMPUTING NAS EMPRESAS: NUVEM PÚBLICA OU NUVEM PRIVADA? nubeliu.com SUMÁRIO Introdução... 4 Nuvem pública: quando ela é ideal... 9 Nuvem privada: quando utilizá-la... 12 Alternativas de sistemas

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

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

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

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

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

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack Prof. Charles Christian Miers e-mail: charles.miers@udesc.br OpenStack OpenStack é um projeto de computação em nuvem criado em julho de 2010, fruto de

Leia mais

Minicurso Computação em Nuvem Prática: Openstack

Minicurso Computação em Nuvem Prática: Openstack Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia andreroverc@gmail.com Joinville Minicurso Computação em Nuvem Prática: Openstack Roteiro Definições Virtualização Data

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

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor Gestão e Governança de TI Modelo de Governança em TI Prof. Marcel Santos Silva PMI (2013), a gestão de portfólio é: uma coleção de projetos e/ou programas e outros trabalhos que são agrupados para facilitar

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

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

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

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

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

Leia mais

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

Cloud Computing. Edy Hayashida E-mail: edy.hayashida@uol.com.br

Cloud Computing. Edy Hayashida E-mail: edy.hayashida@uol.com.br Cloud Computing Edy Hayashida E-mail: edy.hayashida@uol.com.br Facebook 750 milhões de usuários 42% de todos os usuários do Facebook estão localizado na América, 27% na Ásia e 25% na Europa 4% na África

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

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

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

OpenStack. Cloud Software

OpenStack. Cloud Software OpenStack Cloud Software O que é o OpenStack? Concebido como um SO para a nuvem Todo em código aberto Infraestrutura de nuvem como serviço (IaaS) Nuvens públicas ou privadas Composto por um conjunto de

Leia mais

Arquiteturas Paralelas e Distribuídas

Arquiteturas Paralelas e Distribuídas Arquiteturas Paralelas e Distribuídas TSI-6AN Apresentado por: Cleber Schroeder Fonseca 1 CLOUD COMPUTING 2 Cloud Computing A expressão cloud computing (computação nas nuvens) começou a ganhar força em

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

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

Sistemas de Informação I

Sistemas de Informação I + Sistemas de Informação I Dimensões de análise dos SI Ricardo de Sousa Britto rbritto@ufpi.edu.br + Introdução n Os sistemas de informação são combinações das formas de trabalho, informações, pessoas

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

NUVEM HÍBRIDA: DEIXE AS PREOCUPAÇÕES COM SEGURANÇA NO PASSADO.

NUVEM HÍBRIDA: DEIXE AS PREOCUPAÇÕES COM SEGURANÇA NO PASSADO. NUVEM HÍBRIDA: DEIXE AS PREOCUPAÇÕES COM SEGURANÇA NO PASSADO. Muitas empresas brasileiras estão interessadas nas vantagens proporcionadas pela computação em nuvem, como flexibilidade, agilidade e escalabilidade,

Leia mais

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE

CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE CENTRAL DE SERVIÇOS APOIADA EM SOFTWARE LIVRE Juliano Flores Prof. Wagner Walter Lehmann Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de Tecnologia da Informação (GTI0034) Prática do Módulo

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

Computação em Nuvem & OpenStack

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

Leia mais

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

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

João Víctor Rocon Maia Engenharia de Computação - UFES

João Víctor Rocon Maia Engenharia de Computação - UFES João Víctor Rocon Maia Engenharia de Computação - UFES Agenda Quem usa? Conceito Ilustração Vantagens Tipologia Topologia Como fazer? O que é preciso? Infraestrutura Sistema Operacional Software Eucalyptus

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

Segurança da Informação

Segurança da Informação INF 108 Segurança da Informação Computação em Nuvem Prof. João Henrique Kleinschmidt Introdução Centralização do processamento Surgimento da Teleinformática Década de 60 Execução de programas localmente

Leia mais

Prof. José Maurício S. Pinheiro UniFOA 2009-2

Prof. José Maurício S. Pinheiro UniFOA 2009-2 Tecnologias WEB Virtualização de Sistemas Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos Virtualização pode ser definida como técnica que combina ou divide recursos computacionais para prover

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

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

Proposta de Avaliação de Empresas para o uso do SAAS

Proposta de Avaliação de Empresas para o uso do SAAS 1 INSTITUTO DE EDUCAÇÃO TECNOLÓGICA PÓS-GRADUAÇÃO Gestão e Tecnologia da Informação/ IFTI 1402 Turma 25 09 de abril de 2015 Proposta de Avaliação de Empresas para o uso do SAAS Raphael Henrique Duarte

Leia mais

Guia Rápido de Licenciamento do SQL Server 2012

Guia Rápido de Licenciamento do SQL Server 2012 Guia Rápido de Licenciamento do SQL Server 2012 Data de publicação: 1 de Dezembro de 2011 Visão Geral do Produto SQL Server 2012 é uma versão significativa do produto, provendo Tranquilidade em ambientes

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

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

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

ANDRE KUSUMOTO VIRTUALIZAÇÃO

ANDRE KUSUMOTO VIRTUALIZAÇÃO ANDRE KUSUMOTO VIRTUALIZAÇÃO OBJETIVO Objetivo do deste trabalho é o autoaprendizado e a disseminação do conhecimento empregado no conceito de virtualização. Assim como a demostração de seu uso em conjunto

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

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

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ

TRIBUTAÇÃO NA NUVEM. Tax Friday 21 de outubro de 2011 AMCHAM - RJ TRIBUTAÇÃO NA NUVEM Tax Friday 21 de outubro de 2011 AMCHAM - RJ PROGRAMA 1. INTRODUÇÃO À COMPUTAÇÃO EM NUVEM CONCEITOS APLICÁVEIS 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS INTRODUÇÃO À

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português 1 de 7 28/10/2012 16:47 SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português RESULTADO DO SIMULADO Total de questões: 40 Pontos: 0 Score: 0 % Tempo restante: 55:07 min Resultado: Você precisa

Leia mais

Estratégia da VMware: O modelo corporativo definido por software e o desafio de simplificar a TI. Anderson Ferreira Bruno Amaral 22 Ago 2014

Estratégia da VMware: O modelo corporativo definido por software e o desafio de simplificar a TI. Anderson Ferreira Bruno Amaral 22 Ago 2014 Estratégia da VMware: O modelo corporativo definido por software e o desafio de simplificar a TI Anderson Ferreira Bruno Amaral 22 Ago 2014 Desafios de TI Arquitetura da VMware Estratégia da VMware Sucesso

Leia mais

gerenciando o desempenho de serviços em uma empresa conectada na nuvem CA Business Service Insight Julho de 2011

gerenciando o desempenho de serviços em uma empresa conectada na nuvem CA Business Service Insight Julho de 2011 gerenciando o desempenho de serviços em uma empresa conectada na nuvem CA Business Service Insight Julho de 2011 a computação na nuvem está presente em todos os lugares e está crescendo 72% das empresas

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

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

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO

FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO Rafael D. Ribeiro, M.Sc,PMP. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br @ribeirord Pesquisa e Propagação do conhecimento: Através da Web, é possível

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate

TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate TRIBUTAÇÃO NAS NUVENS Uma Regulação em Debate Workshop Divisão Tributária 18.04.2013 CIESP - CAMPINAS PROGRAMA 1. BREVE INTRODUÇÃO À COMPUTAÇÃO EM NUVEM 2. PRINCIPAIS OPERAÇÕES E ASPECTOS TRIBUTÁRIOS POLÊMICOS

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

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

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

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

Módulo 4: Gerenciamento de Dados

Módulo 4: Gerenciamento de Dados Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Professor: João Fábio de Oliveira jfabio@amprnet.org.br (41) 9911-3030 Objetivo: Apresentar o que são os Sistemas Operacionais, seu funcionamento, o que eles fazem,

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

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

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

gladiador INTERNET CONTROLADA

gladiador INTERNET CONTROLADA gladiador INTERNET CONTROLADA funcionalidades do sistema gladiador sistema Gerenciamento de usuários, gerenciamento de discos, data e hora do sistema, backup gladiador. Estações de Trabalho Mapeamento

Leia mais

A mudança na aquisição de soluções de tecnologia da informação. O que significa para a TI e a linha de negócios (LOB)

A mudança na aquisição de soluções de tecnologia da informação. O que significa para a TI e a linha de negócios (LOB) A mudança na aquisição de soluções de tecnologia da informação Maio de 2014 O novo comprador de tecnologia e a mentalidade de aquisição Existe hoje um novo comprador de tecnologia da informação Esse comprador

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005

SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 SISTEMAS DE GESTÃO São Paulo, Janeiro de 2005 ÍNDICE Introdução...3 A Necessidade do Gerenciamento e Controle das Informações...3 Benefícios de um Sistema de Gestão da Albi Informática...4 A Ferramenta...5

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais