Integração de Aplicações Empresariais no Contexto da Computação em Nuvem

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

Download "Integração de Aplicações Empresariais no Contexto da Computação em Nuvem"

Transcrição

1 Universidade Regional do Noroeste do Estado do Rio Grande do Sul UNIJUI Grupo de Pesquisa em Computação Aplicada (GCA) Igor Gamste Haugg Integração de Aplicações Empresariais no Contexto da Computação em Nuvem Ijuí, RS, Brasil 2014

2 Igor Gamste Haugg Integração de Aplicações Empresariais no Contexto da Computação em Nuvem Trabalho de Conclusão de Curso do curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul. Orientador: Dr. Rafael Z. Frantz Ijuí, RS, Brasil 2014

3 Igor Gamste Haugg Integração de Aplicações Empresariais no Contexto da Computação em Nuvem Trabalho de Conclusão de Curso do curso de Ciência da Computação da Universidade Regional do Noroeste do Estado do Rio Grande do Sul. Dr. Rafael Z. Frantz Orientador Dra. Fabricia Roos-Frantz Convidado Ijuí, RS, Brasil 2014

4 Agradecimentos Agradeço ao CNPq pela concessão de uma bolsa de Iniciação em Desenvolvimento Tecnológico e Inovação (PIBITI) que permitiu a realização da pesquisa, a qual foi utilizada para o desenvolvimento deste trabalho de conclusão de curso. Agradeço também a todos os professores do grupo de pesquisa GCA. Em especial ao orientador deste trabalho, o professor Rafael Z. Frantz pelo auxílio no desenvolvimento do trabalho.

5 Resumo Atualmente existe uma grande quantidade de empresas que necessitam realizar integração entre suas aplicações. Essa necessidade ocorre porque as aplicações utilizadas são normalmente desenvolvidas por diferentes empresas e seguindo diferentes tecnologias. Integrar aplicações é fazer com que diferentes aplicações que não foram desenvolvidas com o objetivo de integração, possam colaborar e dar suporte a novos processos de negócio. Na computação em nuvem empresas oferecem a um baixo custo recursos como armazenamento e processamento por meio da Internet. Os provedores disponibilizam e cobram por estes recursos em função das características dos serviços contratados por seus clientes. Estas características podem ser representadas utilizando modelos ortogonais de variabilidade. Uma integração de aplicações empresarias pode ser implantada em servidores de computação em nuvem, porém esta é uma tarefa complicada porque atualmente existem uma grande quantidade de provedores e cada um possui diferentes planos de serviço. Desta forma, é necessário conhecer as características destes provedores e seus planos de serviço. Neste trabalho é proposto um framework para comparação de provedores de computação em nuvem e uma comparação entre os provedores Amazon, Google e Microsoft. Também será apresentada uma modelagem dos tipos de serviço de um dos provedores comparados, utilizando a linguagem OVM. A partir do estudo de comparação dos provedores, observa-se que o provedor Amazon é o mais adequado para implantação de soluções de integração, pois este provedor disponibiliza maior quantidade de planos de serviço para contratação. Possui maior variedade de tipos de instancias. Também existem mais recursos de segurança disponíveis, por exemplo, detecção de intrusos, tolerância a falhas e criptografia. Palavras-chaves: Integração de aplicações empresariais, Computação em nuvem, Tipos de serviço, Modelo ortogonal de variabilidade.

6 Abstract Currently there is a lot of companies that need to make integration between their applications. This need is because the applications used are usually developed by different companies and following different technologies. Integrating applications is to make different applications that were not developed with the goal of integration, can collaborate and support new business processes. In cloud computing companies offer a low-cost resources such as storage and processing through the Internet. Providers make available and charge for these resources according to the characteristics of the services contracted by their clients. These characteristics can be represented using orthogonal variability models. Integration of enterprise applications can be deployed to cloud computing servers, but this is a difficult task because there are currently a large number of providers and each one has different service plans. Thus, it is necessary to know the characteristics of these providers and their service plans. This work proposes a framework for comparison of cloud computing providers and makes a comparison of Amazon, Google and Microsoft providers. Key-words: Enterprise application integration, cloud computing, service types, orthogonal variability model.

7 Resumen Actualmente hay una gran cantidad de empresas que necesitan hacer la integración entre sus aplicaciones. Esta necesidad se debe a que las aplicaciones que se utilizan suelen ser desarrollados por distintas empresas y siguien diferentes tecnologías. Integrar aplicaciones es hacer que diferentes aplicaciones no desarrolladas con el objetivo de la integración, puedan colaborar y apoyar a los nuevos procesos de negocio. En la computación en nube compañías ofrecen recursos de bajo coste, tales como el almacenamiento y el procesamiento por medio de la Internet. Los proveedores ofrecen y cobran por estos recursos según las características de los servicios contratados por sus clientes. Estas características se pueden representar mediante modelos de variabilidad ortogonales. La integración de aplicaciones empresariales se puede implementar en servidores de computación en nube, pero esto es una tarea complicada, pues en la actualidad hay un gran número de proveedores y cada uno tiene diferentes planes de servicio. Por lo tanto, es necesario conocer las características de estos proveedores y sus planes de servicio. En este trabajo se propone un framework para la comparación de los proveedores de computación en nube y también se hace una comparación entre los proveedores de Amazon, Google y Microsoft. Palabras-claves: Integración de aplicaciones, computación en nube, tipos de servicios, modelo de variabilidad ortogonal.

8 Lista de ilustrações Figura 1 Exemplo de solução de integração de aplicações empresariais Figura 2 Exemplo de compartilhamento de dados Figura 3 Exemplo de chamada de procedimento remoto Figura 4 Exemplo de sistema baseado em mensagens Figura 5 Arquitetura dos serviços da computação em nuvem Figura 6 Exemplo de uma solução de integração na nuvem Figura 7 Construtores OVM Figura 8 Exemplo de OVM (ROOS-FRANTZ, 2011) Figura 9 Modelo das características gerais Figura 10 Modelo IaaS Figura 11 Modelo PaaS Figura 12 Modelo SaaS

9 Lista de tabelas Tabela 1 Técnicas de compartilhamento de dados Tabela 2 Técnicas de compartilhamento de funcionalidades Tabela 3 Propriedades Gerais Tabela 4 Propriedades de Infraestrutura como Serviço Tabela 5 Instancias de Propósito Geral Tabela 6 Instancias de Intensa Utilização de Processamento Tabela 7 Instancias de Intensa Utilização de Memória Tabela 8 Propriedades de Plataforma como Serviço Tabela 9 Propriedades de Software como Serviço

10 Sumário 1 INTRODUÇÃO Motivação Objetivos Geral Específicos Metodologia Contribuições Estrutura do documento REFERENCIAL TEÓRICO Integração de Aplicações Empresariais Compartilhamento de Dados Compartilhamento de Funcionalidades Computação em Nuvem Serviços Tipos de Nuvem Tecnologias Relacionadas Integração de Aplicações na Nuvem Linha de Produtos de Software Modelos de Variabilidade Modelo de Características Modelo Ortogonal de Variabilidade Resumo do Capítulo FRAMEWORK DE COMPARAÇÃO Propriedades Gerais Propriedades de Infraestrutura como um Serviço Propriedades de Plataforma como um Serviço Propriedades de Software como um Serviço Resumo do Capítulo COMPARAÇÃO DOS PROVEDORES ESTUDADOS Propriedades Gerais Propriedades de Infraestrutura como um Serviço Propriedades de Plataforma como um Serviço Propriedades de Software como um Serviço

11 4.5 Resumo do Capítulo MODELAGEM DOS PLANOS DE SERVIÇO Características Gerais Características de Infraestrutura como um Serviço Características de Plataforma como um Serviço Características de Software como um Serviço Resumo do Capítulo Conclusão Referências ANEXOS 49

12 11 1 Introdução Frequentemente as empresas precisam integrar as aplicações existentes em seus ecossistemas de software. A integração é necessária para dar suporte aos novos processos de negócios, reutilizando funcionalidades presentes nas suas aplicações atuais ou para sincronizar duas ou mais aplicações dentro de seus ecossistemas de software. Normalmente essas empresas possuem aplicações que foram desenvolvidas de forma independente, personalizadas ou adquiridas de terceiros, sem que tenham sido projetadas pensando em ser reutilizadas. Integrar aplicações empresariais é fazer com que diferentes aplicações que não foram concebidas tendo em mente sua integração, possam colaborar e dar suporte a processos de negócio (HOHPE; WOOLF, 2004). A computação em nuvem representa um novo paradigma no qual recursos como armazenamento e processamento podem ser acessados através da internet e consumidos sob demanda, reduzindo enormemente o custo das empresas em infraestrutura de TI de alta capacidade (ZHANG; CHENG; BOUTABA, 2010). Seus principais tipos de serviço são: Infraestrutura como um serviço (IaaS), Plataforma como um serviço (PaaS) e Software como um serviço (SaaS). IaaS é definida como a contratação de recursos computacionais como um serviço, tais como: servidores, roteadores, ou sistemas de armazenamento (GIB- SON et al., 2012). PaaS consiste em disponibilizar plataformas de desenvolvimento de software utilizando os recursos da infraestrutura da computação em nuvem, como por exemplo, frameworks e linguagens de programação (JADEJA; MODI, 2012). SaaS busca disponibilizar softwares pelos quais os usuários pagam por seu uso e não por sua licença e que estão disponíveis para serem acessados através de um navegador web (GONG et al., 2010). Implantar soluções de integração em servidores de computação em nuvem é uma tarefa complicada, pois atualmente existem diversos provedores e cada um possui diferentes planos de serviço, tornando difícil a escolha de qual plano melhor se ajusta às necessidades de uma solução de integração e que seja economicamente mais vantajoso. Portanto, é essencial conhecer as características destes provedores e seus planos de serviço. A pesquisa desenvolvida neste trabalho buscou identificar um conjunto de propriedades, que foram classificadas em quatro categorias. A partir destas propriedades buscou-se construir um framework de comparação de provedores de computação em nuvem, desde uma perspectiva de integração de aplicações. A primeira categoria agrupa propriedades comuns entre os tipos de serviço, ou seja, estão presentes nos serviços de IaaS, PaaS e SaaS. A segunda categoria agrupa as propriedades relacionadas com o serviço de infraestrutura. A terceira categoria agrupa as propriedades relacionadas com o serviço de plataforma. A quarta categoria agrupa as propriedades relacionadas com o serviço de software. Com o objetivo

13 Capítulo 1. Introdução 12 de validar o framework, foram comparados três provedores de computação em nuvem com ampla utilização em escala global, sendo eles: Amazon, Google e Microsoft. 1.1 Motivação Atualmente existem diversos provedores de computação em nuvem, cada provedor possui diferentes planos que possibilitam implantar soluções de integração. Para ser possível a escolha de um provedor ou plano de serviço de forma automática é necessário conhecer o modelo que representa estes planos. Estes modelos não estão disponíveis e, portanto, precisam ser inferidos. Os assuntos abordados neste trabalho, também foram abordados em diversos trabalhos, como por exemplo, em (PENG et al., 2009) são comparadas as características de diferentes plataformas de computação em nuvem, expondo as características através de tabelas com dados referentes a cada provedor analisado. Foram comparadas as plataformas: AbiCloud, Eucalyptus, Nimbus e OpenNebula. A diferença com o presente trabalho está em que os autores focam na análise de plataformas de computação e apresentam as características por meio de tabelas. No trabalho de (QUINTON et al., 2013) é realizado uma modelagem através de Feature Models para representar a variabilidade no gerenciamento e na criação de configurações de computação em nuvem. Também são utilizadas ontologias para modelar as variadas semânticas de sistemas em nuvem. A abordagem realizada neste trabalho leva em consideração requisitos técnicos e requisitos não funcionais para fornecer um conjunto de configurações de multi-nuvem, sendo realizada através do framework Saloon. Sua principal diferença com o presente trabalho está no foco da modelagem e na linguagem utilizada. O artigo de (IOSUP; YIGITBASI; EPEMA, 2011) aborda o tema computação em nuvem, que é um paradigma que promete eliminar a necessidade das empresas manter um alto custo com hardware. Para que este potencial se torne realidade, em seu trabalho o autor realizou uma análise da dependência dos serviços de nuvem. Foram analisados os traços de performance de web services da Amazon, e Google App Engine, buscando avaliar o impacto da variabilidade de performance em larga escala. Nesta pesquisa os autores descobriram que metade dos serviços da nuvem exibiam padrões anuais e diários, mas também a maioria dos serviços tinham períodos de performance estável. Ao realizar uma simulação baseada foi avaliado o impacto da variabilidade, a qual foi observada por estudantes de computação em nuvem. A partir da simulação realizada foi concluído que o impacto da performance da variabilidade depende da aplicação, evidenciando que a variabilidade de performance pode ser um fator importante na seleção do provedor de computação em nuvem. O nosso trabalho tem como principal diferença o foco nas características dos tipos de serviço de computação em nuvem, buscando apresentar os

14 Capítulo 1. Introdução 13 aspectos comuns e variáveis, bem como uma proposta de framework para comparação de provedores de computação em nuvem. No trabalho de (AOYAMA; KURONO, 2013), os autores realizaram um estudo sobre a arquitetura orientada a metadados para serviços em nuvem "vários inquilinos"(multitenant), a qual permite variabilidade dinâmica de serviços em uma única instância, com o objetivo de englobar requisitos de diversos inquilinos sem requisitar o desenvolvimento de aplicações, apenas gerando aplicações em tempo de execução de acordo com as exigências do inquilino individual. A variabilidade entre os requisitos faz com que a concepção de serviço multitenant se torne complicada. Por isso, no artigo é proposto uma modelagem utilizando OVM estendido para modelar a variabilidade e dependências dos serviços multitenant em dois níveis: meta nível e nível de base. A variabilidade é realizada através de um estudo de caso do desenvolvimento de uma aplicação na Salesforce.com e Force.com. Este trabalho se diferencia do nosso, porque nele é realizado uma modelagem dos serviços multitenant enquanto que o nosso trabalho tem como objetivo comparar as características dos tipos de serviço. 1.2 Objetivos esta pesquisa. A seguir são descritos o objetivo geral e os específicos que buscamos atingir com Geral Contribuir com a redução dos custos da implantação de soluções de integração de aplicações empresariais em infraestrutura de computação em nuvem Específicos Revisar a bibliografia sobre integração de aplicações empresariais e computação em nuvem. Elaborar um framework de comparação de alguns provedores. Identificar os planos de serviço de computação em nuvem existentes. Realizar uma análise das características dos planos de serviço. Inferir o modelo que represente as características comuns e variáveis de um provedor de computação em nuvem.

15 Capítulo 1. Introdução Metodologia A realização deste trabalho está dividida em quatro etapas. A primeira etapa consiste em uma revisão da literatura sobre integração de aplicações empresariais e computação em nuvem, a partir de bases bibliográficas de artigos científicos e livros especializados nos temas da pesquisa. A segunda etapa abrange um estudo detalhado dos sites dos principais provedores de computação em nuvem, com o objetivo de extrair informações a serem utilizadas no desenvolvimento do framework de comparação e também na comparação entre os provedores. A terceira etapa centra-se na elaboração do framework de comparação e na sua validação a fim de obter dados de provedores de computação em nuvem e analisá-los. A quarta etapa envolve a criação de um modelo para representação da variabilidade dos planos de serviço de computação em nuvem. 1.4 Contribuições A partir da elaboração deste trabalho foi possível realizar algumas publicações de resumos e artigos. A seguir são descritas as publicações. 1. HAUGG, I. G. ; FRANTZ, R. Z. ; ROOS-FRANTZ, F.. Um Estudo da Variabilidade dos Tipos de Serviço do Provedor de Computação em Nuvem Amazon. In: XXVI Congresso Regional de Iniciação Científica e Tecnológica em Engenharia (CRICTE), 2014, Alegrete - RS p HAUGG, I. G. ; FRANTZ, R. Z.. Implantação de Soluções de Integração de Aplicações em Provedores de Computação em Nuvem. In: XXVI Salão de Iniciação Científica da UFRGS, 2014, Porto Alegre - RS p HAUGG, I. G. ; FRANTZ, R. Z. ; ROOS-FRANTZ, F. ; SAWICKI, S.. Uma Proposta de Framework para Comparação de Provedores de Computação em Nuvem desde uma Perspectiva de Integração de Aplicações. In: IV Seminário de Inovação e Tecnologia da UNIJUI, 2014, Ijuí - RS p Estrutura do documento A seguir, no capítulo 2 estão descritos os principais conceitos necessários para o desenvolvimento do trabalho, os conceitos de integração de aplicações empresariais, computação em nuvem e modelos de variabilidade. No capítulo 3 será demonstrado o framework desenvolvido, com a descrição das propriedades elencadas. O capítulo 4 demonstra a comparação entre os principais provedores de computação em nuvem. O capítulo 5 contém a modelagem das características do provedor Amazon.

16 15 2 Referencial Teórico Para o desenvolvimento desta pesquisa é necessário o estudo das áreas de integração de aplicações empresariais e computação em nuvem. Nas seções seguintes são introduzidos estas áreas. 2.1 Integração de Aplicações Empresariais O desenvolvimento de uma única aplicação que execute todos os processos de uma empresa é uma tarefa complicada, mesmo as grandes aplicações geralmente não conseguem dar suporte a todos os processos de negócio que uma empresa possui. Por isso, muitas vezes é necessário integrar distintas aplicações adquiridas pela empresa. A integração também ocorre porque com o passar do tempo os processos de negócio das empresas evoluem ou então surgem novos processos, e isto demanda um novo suporte computacional. Normalmente no momento de proporcionar este suporte, as distintas funcionalidades que são necessárias já estão implementadas em outras aplicações, como por exemplo a necessidade de envio de ou um sistema de cobrança bancária. Integração de aplicações empresariais pode ser definida como a tarefa de fazer aplicações distintas trabalharem juntas para produzir um conjunto único de funcionalidades (HOHPE; WOOLF, 2004). Para realizar uma solução de integração de aplicações os desenvolvedores devem considerar algumas restrições. Primeiro, as aplicações que serão integradas geralmente não foram projetadas com o objetivo de fazer parte de uma solução de integração. Estas aplicações normalmente foram desenvolvidas por diferentes empresas de desenvolvimento, as quais podem utilizar diferentes linguagens de programação, modelos de dados. Em segundo lugar, vem a necessidade de manter o código fonte das aplicações integradas sem alterações, pois normalmente elas são compradas de outras empresas de desenvolvimento, assim as empresas que adquirem estas aplicações não possuem acesso ao seu código fonte e nem permissão para realizar alterações. Por fim ao integrar diferentes aplicações, os desenvolvedores não podem criar dependências entre as aplicações que serão integradas (FRANTZ; CORCHUELO, 2007). Segundo Gregor Hohpe e Bobby Woolf (HOHPE; WOOLF, 2004), uma integração possui alguns critérios como: Minimizar dependências entre sistemas de forma que cada um possa evoluir sem causar problemas aos outros.

17 Capítulo 2. Referencial Teórico 16 Ao integrar uma aplicação de uma empresa, os desenvolvedores devem minimizar as mudanças das aplicações e minimizar a quantidade de código de integração necessário. As aplicações devem concordar com o formato dos dados ou devem ter um tradutor para unificar as aplicações que tenham diferentes formatos de dados. A troca de informações precisa ser feita de forma frequente e rápida, diminuindo o tempo entre o momento que uma aplicação compartilha informações e o momento que as outras aplicações recebem estes dados, os dados devem ser enviados em pequenas partes. Aplicações integradas podem fazer compartilhamento de dados e de funcionalidades. Pode funcionar de forma assíncrona, isto é, uma aplicação compartilha informações para outras aplicações que podem não estar em funcionamento no mesmo tempo e que vão acessar estas informações algum tempo depois. Aplicações podem ser integradas com um alto acoplamento ou com baixo acoplamento. O alto acoplamento significa que existe dependência entre as aplicações integradas, para que ocorra integração neste caso, todas as aplicações precisam estar em funcionamento ao mesmo tempo. Utilizando baixo acoplamento não há dependência entre as aplicações, portanto as aplicações funcionam de forma separada (HOHPE; WOOLF, 2004). Um exemplo de solução de integração de aplicações pode ser visto na Figura 1, onde são representadas algumas aplicações pertencentes a uma pequena empresa. Esta solução de integração é composta de 4 aplicações. O Portal tem como função receber pedidos efetuados por usuários. A aplicação Controle de Estoque é onde a empresa faz o controle de seus produtos. A aplicação de Vendas realiza a emissão de nota fiscal e a concretização das vendas realizadas através do Portal. A aplicação de Bancária é utilizada para cobranças das vendas. Neste exemplo a empresa tem como principal atividade a realização de vendas, possuindo em um primeiro momento uma aplicação apenas para efetuar as vendas das mercadorias. Imaginamos que após algum tempo, esta empresa tenha um crescimento, passando a ser necessário à aquisição de uma aplicação para controle do estoque, o qual anteriormente era realizado de forma manual. Conforme a empresa cresce, surge a necessidade de realizar vendas através de um portal via internet. Assim surge a necessidade de utilizar uma aplicação bancária para realizar cobranças online. Neste momento a empresa possui quatro aplicações diferentes, portanto existe a possibilidade de realizar uma integração entre estas aplicações, tendo como objetivo reutilizar as distintas funcionalidades espalhadas por estas aplicações e que são necessárias para dar suporte à venda através da internet. No exemplo da Figura 1, a empresa irá receber pedidos através do Portal. Neste caso, a empresa definiu que serão processados apenas pedidos feitos em território nacional.

18 Capítulo 2. Referencial Teórico 17 Figura 1 Exemplo de solução de integração de aplicações empresariais. Para isto, será necessário a tarefa Message Filter, que irá fazer este filtro solicitado pelo cliente. Os pedidos que passam por esse filtro, na sequência passam pela tarefa Splitter, que tem como objetivo dividir o pedido em pequenas partes para separar as informações recebidas, para que não seja necessário enviar toda a mensagem a cada uma das aplicações de destino. Assim apenas a parte que interessa a cada aplicação será recebida por ela. Após o pedido ser dividido em pequenas partes, estas partes precisam ser direcionadas até a aplicação de destino, para realizar esta operação é necessário a tarefa Router, que encaminha os pedidos para os seus destinos. Como normalmente estas aplicações são desenvolvidos com linguagens, formatos ou tipos de dados diferentes, as aplicações de destino podem não conseguir processar os pedidos recebidos, pois os dados podem estar em um formato que elas não entendem. Para resolver este problema é necessário a utilização de um tradutor, o qual é representado pela tarefa Translator, que tem como função adaptar o formato dos dados do pedido recebido para um formato que a aplicação de destino consiga entender. Após os pedidos serem traduzidos, serão executados em cada aplicação de forma separada, neste caso as quatro aplicações diferentes trabalham de forma conjunta para resolver esta nova necessidade da empresa. A integração de aplicações empresarias pode ser realizada através de dois estilos: compartilhamento de dados e compartilhamento de funcionalidades (HOHPE; WOOLF, 2004). O compartilhamento de dados ocorre quando uma aplicação deseja compartilhar informações presentes em seu ecossistema, este compartilhamento pode acontecer através de transferência de arquivo ou utilizando um banco de dados. O compartilhamento de funcionalidades é utilizado quando existem funcionalidades presentes em uma aplicação que precisam ser acessadas pelas demais aplicações, este compartilhamento pode acontecer através de chamada de procedimento remota ou através de um sistema baseado em mensagens.

19 Capítulo 2. Referencial Teórico Compartilhamento de Dados Ocorre quando informações são trocadas entre distintas aplicações e pode ser realizado através de transferência de arquivo ou então utilizando um sistema gerenciador de banco de dados (HOHPE; WOOLF, 2004), cf. Figura 2. Figura 2 Exemplo de compartilhamento de dados. Na Figura 2, a Aplicação 1 escreve informações para um Repositório de Dados, e a Aplicações 2 faz a leitura destes dados. O Repositório de Dados pode ser implementado como um Arquivo ou então ser um SGDB (Sistema de Gerenciamento de Banco de Dados). O compartilhamento de dados realizado através de arquivos ocorre quando uma aplicação escreve dados em arquivos que outras aplicações precisam acessar. Como todas as aplicações precisam acessar o mesmo arquivo, é importante que elas conheçam a localização deste arquivo, por exemplo o nome, a extensão e o local onde ele estará presente. Sobre os arquivos também é importante que os desenvolvedores definam qual será o formato utilizado, podendo ser em formato de texto, XML ( Extensible Markup Language) ou em outros formatos. Essa definição é importante porque normalmente as aplicações escrevem os dados em formatos diferentes, sendo necessário converter o formato dos dados, para que todas as aplicações possam acessar estes arquivos (HOHPE; WOOLF, 2004). Neste compartilhamento os desenvolvedores da solução de integração não precisam ter conhecimento do código fonte das aplicações. É necessário saber apenas o conteúdo e o formato do arquivo para então realizar as alterações necessárias para que este arquivo possa ser utilizado para a troca de dados entre as aplicações. Assim, as aplicações não ficam dependentes entre si, cada aplicação pode sofrer alterações no seu código fonte sem que isto interfira nas demais aplicações (HOHPE; WOOLF, 2004). Quando é utilizado o compartilhamento de dados através de um arquivo é preciso existir um processo que permita escrever e ler dados neste arquivo, porém este processo não é executado de forma frequente, pois exige grande esforço computacional para ser executado. Assim, ao realizar uma solução de integração é definido um período diário ou semanal para executar estes processos. Desta forma, caso ocorra alterações em uma aplicação presentes na solução de integração, as demais não receberão esta atualização no mesmo momento. Um exemplo é quando uma alteração no cadastro do endereço de um

20 Capítulo 2. Referencial Teórico 19 usuário em uma aplicação de uma empresa é efetuada. A atualização dos dados do usuário ocorrerá apenas na própria aplicação, ou seja, as demais aplicações não serão atualizadas, pois os dados serão atualizados somente no período definido. Por isso é possível que outra aplicação que não esteja atualizada, envie algum documento ou cobrança para o endereço errado. Neste caso os dados estão inconsistentes, ou seja, os dados presentes em uma aplicação estão diferentes dos dados das demais aplicações integradas (HOHPE; WOOLF, 2004). Ao realizar o compartilhamento de dados utilizando SGDB, as informações são compartilhadas através de um banco de dados, onde todas as aplicações presentes vão realizar os processos de escrita, leitura e alterações no mesmo banco de dados. Para utilizar está técnica é necessário um acordo para que todas as aplicações possam acessar os dados que estão sendo compartilhados. Este acordo pode ser visto como uma regra que por exemplo é definido que se uma aplicação estiver realizando alterações em uma determinada tabela do banco de dados, as demais aplicações não poderão acessar esta tabela. Este compartilhamento pode ser considerado simples, pois normalmente são utilizados os bancos de dados relacionais. Este tipo de banco de dados é muito usado e é baseado em SQL (Structured Query Language), a qual a maioria dos desenvolvedores possui conhecimento e pode ser utilizada em praticamente todas as plataformas de desenvolvimento (HOHPE; WOOLF, 2004). A utilização de banco de dados compartilhado traz algumas implicações, como a dificuldade de criar e manter um esquema de dados único que possa atender todas as necessidades das aplicações. Isto ocorre pois as empresas estão em constante crescimento, consequentemente agregando novas funcionalidades e realizando constantes alterações em suas aplicações. Outra implicação são os problemas de desempenho, pois como todos os processos são realizados no mesmo banco de dados, ele estará sempre em utilização, processando dados de diversas aplicações a todo instante. Por isto, pode existir perda de desempenho. Também existe a possibilidade de ocorrer deadlock. Isto ocorre quando uma aplicação está realizando alguma operação em um tabela, e a mesma pode ser bloqueada, impedindo o acesso pelas demais aplicações (HOHPE; WOOLF, 2004). Na Tabela 1 são descritos os pontos positivos e negativos de cada técnica deste estilo de integração Compartilhamento de Funcionalidades Ao compartilhar funcionalidades, as aplicações disponibilizam operações para que posteriormente outras aplicações possam utilizar estas operações. Este estilo pode ser realizado através de duas técnicas: procedimento remoto ou baseada em um sistema de mensagens (HOHPE; WOOLF, 2004). No compartilhamento de funcionalidade utilizando chamada de procedimento remoto, as aplicações disponibilizam suas operações através de uma API, a qual pode

21 Capítulo 2. Referencial Teórico 20 Tabela 1 Técnicas de compartilhamento de dados Técnica Vantagens Desvantagens Arquivo - Comunicação assíncrona entre as aplicações, ou seja, uma aplicação não depende da outra para executar. - Os desenvolvedores da solução de integração não precisam ter acesso ao código fonte das aplicações. - Pode haver dados inconsistentes por não serem realizadas atualizações do arquivo em todas as alterações realizadas. Banco de dados - Comunicação assíncrona entre as aplicações, ou seja, uma aplicação não depende da outra para executar. - Os dados normalmente são consistentes, pois todas as aplicações acessam o mesmo banco de dados, que contém informações atualizadas. - Dificuldade para criar e manter um esquema de dados único que atenda às necessidades de todas as aplicações. - Pode se tornar um gargalo para o desempenho. - Possibilidade de ocorrer deadlock. ser acessada pelas demais aplicações para que sejam executadas suas funcionalidades. Assim, quando uma aplicação necessita obter informações que estão presentes em outra aplicação, é possível realizar uma solicitação diretamente entre estas aplicações. De forma que uma aplicação envia uma solicitação para outra aplicação e recebe uma resposta desta solicitação (HOHPE; WOOLF, 2004). O funcionamento de uma chamada de procedimento remoto é semelhante a chamada de procedimento local, a qual consiste na chamada de um procedimento dentro da própria aplicação. Esta semelhança pode ser uma vantagem, pois os desenvolvedores normalmente já estão acostumados a trabalhar com procedimentos locais. Porém, uma chamada de procedimento remota é mais lenta porque ao realizar esta chamada, é necessário acessar um procedimento que está em outra aplicação, e este procedimento pode estar sendo executado por outras aplicações, podendo ser necessário um tempo de espera para que seja executado, além disso, o processo é mais lento por ser executado através da rede, a qual normalmente é mais lenta. Também é possível que ocorram erros quando uma aplicação possui um procedimento que é executado por várias aplicações, neste caso se a aplicação recebe mais solicitações do que ela consiga executar, é possível ocorrer uma sobrecarga, ocasionando falhas na aplicação (HOHPE; WOOLF, 2004). Como esta técnica executa operações que estão presentes em outras aplicações, ela possui alto acoplamento. Isto significa que as aplicações presentes na solução de integração dependem uma da outra para realizar as suas operações, ou seja, para que uma aplicação acesse as operações de uma outra aplicação, é preciso que ambas estejam em funcionamento no mesmo tempo. Na Figura 3 é representado um exemplo de chamada de procedimento

22 Capítulo 2. Referencial Teórico 21 remoto (HOHPE; WOOLF, 2004). Figura 3 Exemplo de chamada de procedimento remoto. A Figura 3 demonstra o funcionamento de uma chamada de procedimento remoto, onde a Aplicação 2 disponibiliza uma API para acesso a algumas de suas operações, e a Aplicação 1 faz o acesso através de uma chamada de procedimento remoto e executa as operações. Observe que para a Aplicação 1 utiliza operações da Aplicação 2, é preciso que a última esteja em funcionamento. Um compartilhamento de funcionalidades baseado em um sistema de mensagens ocorre quando as aplicações realizam a transferência de informações enviando mensagens umas para as outras. Estas mensagens são um tipo de estrutura de dados, por exemplo uma String ou um Objeto. Nesta técnica a transferência de dados e o compartilhamento de funcionalidades são possíveis, pois a transferência das mensagens é realizada de forma assíncrona e através de um canal. A transferência assíncrona significa que é possível transferir dados ou executar operações mesmo que as aplicações de destino não estejam em funcionamento. Os canais são utilizados para garantir que a mensagem enviada seja entregue a aplicação de destino, mesmo que ela não esteja em funcionamento no momento do envio. Neste caso a mensagem permanece no canal aguardando até que a aplicação de destino entre em funcionamento. Um canal pode ser implementado como filas de mensagens utilizando tecnologias como por exemplo Java Messaging (HOHPE; WOOLF, 2004). Uma mensagem é transmitida através de cinco etapas. No início, uma aplicação cria uma mensagem contendo os dados que ela deseja enviar. Após criar a mensagem, esta aplicação envia a mensagem para o canal. O canal será responsável por transferir a mensagem da aplicação de envio para a aplicação de destino. Após receber a mensagem a aplicação de destino realiza a leitura dos dados presentes na mensagem. Por fim os dados contidos na mensagem são processados pela aplicação de destino (HOHPE; WOOLF, 2004). Nesta técnica o remetente não precisa esperar o receptor processar a mensagem, é preciso apenas esperar a mensagem ser enviada para o canal, após este processo é possível realizar outras tarefas enquanto a mensagem é transmitida em segundo plano. Neste compartilhamento as aplicações podem enviar mensagem para todas as outras aplicações (HOHPE; WOOLF, 2004). A Figura 4 demonstra um cenário onde a Aplicação 1 envia informações para o Sistema de Mensagens, que tem como função encaminhar estas informações para a aplicação de destino que neste caso pode ser a Aplicação 2 ou a Aplicação 3.

23 Capítulo 2. Referencial Teórico 22 Figura 4 Exemplo de sistema baseado em mensagens. Na Tabela 2 são descritos os pontos positivos e negativos de cada técnica deste estilo de integração. Tabela 2 Técnicas de compartilhamento de funcionalidades Técnica Vantagens Desvantagens Chamada de procedimento remoto - Possibilidade de executar operações presentes em outros sistemas. - Alto acoplamento. - Podem ser lentas e falhar. - Aplicações podem sobrecarregar caso recebam mais solicitações do que consigam executar. Mensagens - Baixo acoplamento. - Possibilidade de realizar compartilhamento de dados e funcionalidades. - Transferência de alta velocidade e de forma frequente. - Poucos desenvolvedores possuem experiência com este tipo de técnica. - O canal garante a entrega das mensagens. Porém mensagens enviadas em sequência podem ficar desordenadas caso alguma delas falhe e necessite que o canal tente reenviar a mensagem. 2.2 Computação em Nuvem Com o rápido desenvolvimento de tecnologias de armazenamento e de processamento e com o crescimento da utilização da internet, os recursos de computação estão mais acessíveis e também mais baratos. A computação em nuvem é um novo paradigma no qual empresas oferecem a um baixo custo recursos como armazenamento e processamento por meio da internet em um modelo de negócio onde os usuários pagam apenas pelo que utilizam. A principal ideia por trás da computação em nuvem não é uma ideia nova e portanto o termo nuvem tem sido usado em diversos contextos. No entanto foi o CEO (Chief Executive Officer) do Google, Eric Schmidt que usou pela primeira vez a palavra para descrever o modelo de negócio de prestação de serviços através da internet, o qual

24 Capítulo 2. Referencial Teórico 23 ganhou popularidade. Atualmente existem diversas definições para a computação em nuvem (ZHANG; CHENG; BOUTABA, 2010). Neste trabalho será adotada para computação em nuvem a definição dada pelo NIST (National Institute of Standards and Technology). Este instituto define computação em nuvem como sendo um modelo conveniente para permitir o acesso à rede, sob demanda a um pool compartilhado de recursos computacionais configuráveis, por exemplo, redes, servidores, armazenamento, aplicações e serviço que podem ser disponibilizadas com rapidez (ZHANG; CHENG; BOUTABA, 2010). A arquitetura da computação em nuvem pode ser dividida em três camadas: infraestrutura, plataforma e software. A Figura 5 ilustra esta arquitetura. Figura 5 Arquitetura dos serviços da computação em nuvem. A primeira camada da arquitetura da computação em nuvem é a Infraestrutura, a qual é implementada sobre hardware e é responsável por realizar virtualização dos recursos físicos. A Plataforma utiliza os recursos da infraestrutura para oferecer um ambiente de desenvolvimento para os desenvolvedores de aplicações. A camada de Software é utilizada diretamente pelos usuários e é onde estão sendo executados os aplicativos desenvolvido. A computação em nuvem possui algumas características como: realocação dos recursos sob demanda, possibilidade de contratação de recursos sem investimento inicial, redução dos custos com equipamentos e a alta tolerância a falhas. Na sequência são descritas estas características. Os recursos em computação em nuvem podem ser rapidamente alocados e deslocados sob demanda. Portanto se a empresa necessitar de uma maior quantidade de recursos, o provedor de computação em nuvem irá alocar os recursos necessários. Quando a empresa precisar de poucos recursos, só serão alocados os recursos necessários. Isso proporciona redução nos gastos da empresa, pois os recursos são utilizados somente quando for necessário, não ocasionando gastos desnecessários (ZHANG; CHENG; BOUTABA, 2010). Ao contratar um serviço de computação em nuvem, a empresa não precisa realizar investimento inicial em infraestrutura. É possível contratar os serviços e conforme a necessidade o provedor irá alocar os recursos. Assim a empresa paga conforme a utilização (ZHANG; CHENG; BOUTABA, 2010).

25 Capítulo 2. Referencial Teórico 24 A computação em nuvem reduz os custos com equipamentos e com suporte, pois é utilizado a terceirização dos serviços. Desta forma o usuário transfere seus riscos de negócios para os provedores, que normalmente possuem maior experiência no gerenciamento destes riscos (ZHANG; CHENG; BOUTABA, 2010). Possui alta tolerância a falhas. Pois os provedores normalmente executam em tempo integral e caso as falhas ocorram, existem mecanismos que realizam backup e se forem encontrados problemas, as partes com defeito são substituídas, mantendo o serviço funcionando de forma segura (GONG et al., 2010) Serviços Os sistemas de computação em nuvem são divididos em duas sessões: front-end e back-end. O primeiro é onde está o computador do usuário que vai utilizar o sistema. O segundo é onde existem os serviços de computação em nuvem, esses serviços podem ser divididos em infraestrutura (IaaS), plataforma (PaaS) e software como serviço (SaaS). Infraestrutura como um Serviço O serviço de infraestrutura é definido como a contratação de recursos para serem utilizados como um serviço. Alguns exemplos destes recursos são servidores, roteadores, sistemas de armazenamento, os quais são disponibilizados pelos provedores. Um provedor também pode disponibilizar sistemas operacionais e tecnologias de virtualização para gerenciamento dos recursos contratados. Como estes recursos são virtualizados, quando as empresas precisarem ampliar suas tarefas não é necessário a aquisição de novos equipamentos, pois os recursos podem ser alocados conforme a necessidade. Este serviço é bastante utilizado quando a empresa possui uma grande variação na utilização dos recursos contratados, ou seja, existem momentos que para a execução dos processos da empresa é necessário a demanda de muitos recursos computacionais e outros momentos que são necessários o uso de pouca quantidade destes recursos. Como o pagamento é realizado conforme a utilização do serviço, a empresa não precisará pagar por recursos que não serão utilizados, assim tendo redução nos custos (GIBSON et al., 2012). Uma das grandes preocupações nos serviços de infraestrutura é a segurança, principalmente porque os demais modelos de serviço de nuvem são executados a partir deste serviço. Também existe essa preocupação quando a empresa possui um ambiente compartilhado, neste caso uma única empresa pode estar hospedando todo o processamento e os dados de muitas outras empresas. Podendo expor todas as partes a um maior risco de incidentes relacionados com a segurança ou privacidade (GIBSON et al., 2012). Em IaaS o gerenciamento é realizado por provedores de infraestrutura. Os quais permitem que as plataformas de computação em nuvem trabalhem no desenvolvimento de

26 Capítulo 2. Referencial Teórico 25 aplicações. Também são responsáveis por disponibilizar a infraestrutura necessária para a execução de softwares na nuvem. Algumas empresas que disponibilizam este serviço são: Amazon, Microsoft e Google (GIBSON et al., 2012). Plataforma como um Serviço Neste serviço as empresas prestadoras de PaaS disponibilizam uma plataforma de desenvolvimento utilizando os recursos da infraestrutura da computação em nuvem. Estes recursos são acessados pelos desenvolvedores de aplicações, que vão possuir acesso à ferramentas de auxílio, como por exemplo, APIs e linguagens de programação. Assim é possível a realização do desenvolvimento das aplicações sem a necessidade de instalação e configuração do ambiente de desenvolvimento, possibilitando redução nos custos de manutenção e também no tempo necessário para o desenvolvimento. Porém a utilização de uma plataforma de computação em nuvem pode trazer problemas de compatibilidade, pois atualmente não existe um modelo que descreva quais são as linguagens, APIs, tipos de banco de dados, ferramentas ou middleware que estejam presentes em cada provedor de plataforma. Isto traz uma grande dificuldade no momento de definir qual será o provedor escolhido para realizar o desenvolvimento (GIBSON et al., 2012). Uma plataforma de computação em nuvem pode ser classificada como: total ou parcial. A primeira oferece aos usuários a capacidade de realizar o desenvolvimento de todo o sistema através de uma interface web. Precisando utilizar apenas um navegador para realizar o desenvolvimento sem a necessidade de instalar outras ferramentas. A segunda disponibiliza para o desenvolvimento uma série de ferramentas, com o objetivo de auxiliar no desenvolvimento das aplicações. Porém, neste caso ainda é necessário a instalação de alguns aplicativos nos computadores locais e também o desenvolvimento é realizado utilizando estes computadores (GIBSON et al., 2012). O desenvolvimento de aplicações através destas plataformas possibilita que as empresas de desenvolvimento disponibilizem as suas aplicações através da internet, utilizando o tipo de serviço SaaS. Um exemplo deste serviço é a plataforma Azure que é disponibilizada pela Microsoft (GIBSON et al., 2012). Software como um Serviço Neste serviço os provedores disponibilizam acesso a aplicações que estão sendo executadas em seus servidores de computação em nuvem. O acesso a essas aplicações é realizado através de um navegador web, o qual é utilizado para realizar a execução da aplicação. Assim é possível que os usuários tenham uma redução nos custos de aquisição das aplicações, pois muitas vezes o acesso a estas aplicações é de forma gratuita ou com valor de aquisição baixo. A utilização deste serviço tem como grande problema a segurança dos dados. Isto ocorre

27 Capítulo 2. Referencial Teórico 26 pois a perda de algum equipamento ou algum defeito de hardware pode ocasionar na perda de dados importantes. Em SaaS, se ocorrer algum destes problemas, os dados do usuário não serão perdidos, sendo possível acessar as aplicações após substituir o equipamento e recuperar os dados armazenados (GIBSON et al., 2012). Em SaaS os usuários necessitam sempre estar conectado à internet. Isto é um fator que muitas vezes impossibilita que alguns usuários passem a utilizar este serviço, pois em algumas regiões o acesso à internet é instável. As empresas também evitam utilizar aplicações consideradas imprescindíveis, pois não podem correr o risco de o software estar indisponível para realizar as suas operações (GIBSON et al., 2012). Este serviço é utilizado diretamente pelos usuários, podendo ser de forma gratuita, como por exemplo o Google Docs ou conforme cobrança de licença, como exemplo o Office 365 Home Premium Tipos de Nuvem A computação em nuvem pode ser dividida em diferentes modelos de implantação. Nuvens públicas, privadas e hibridas. A seguir são explicados estes tipos de nuvem. Nuvem Pública É um modelo de implementação onde recursos de computação são oferecidos por grandes empresas como um serviço. Um exemplo de empresa que disponibiliza estes serviços é a Amazon. Este tipo de nuvem possibilita a contratação do serviço sem investimento inicial em infraestrutura. A forma de pagamento é realizada conforme a utilização dos recursos. Também possibilita o compartilhamento dos recursos entre diversas empresas, onde os recursos e os custos podem ser compartilhados por empresas de todo o mundo (ZHANG; CHENG; BOUTABA, 2010). O modelo de nuvem pública pode ser contratado por qualquer empresa e normalmente são utilizados para implementação de servidores, armazenamento, infraestrutura de backup e desenvolvimento de aplicações. Como não é possível ter controle sobre os dados, as empresas geralmente limitam o uso a aplicações não essenciais e informações não confidenciais (ZHANG; CHENG; BOUTABA, 2010). Nuvem Privada É uma implementação de serviços em nuvem, através de um ambiente seguro baseado na computação em nuvem, o qual é projetado para ser utilizado de forma exclusiva por uma única empresa. Tal tipo de nuvem proporciona um maior controle sobre o desempenho,

28 Capítulo 2. Referencial Teórico 27 confiabilidade e a segurança, sendo que o acesso é realizado somente por usuários da empresa, sem que seja possível ser acessado externamente (JADEJA; MODI, 2012). Nuvens privadas são semelhantes a servidores proprietários e não fornecem benefícios para redução dos custos iniciais. Em comparação com a nuvem pública, onde os recursos e as aplicações são geridos pelo prestador do serviço, na nuvem privada os serviços podem ser gerenciados tanto por provedores de computação em nuvem como pela própria empresa (JADEJA; MODI, 2012). Nuvem Híbrida Constitui-se em um serviço de nuvem integrada que utiliza nuvens privadas e públicas para desempenhar funções distintas dentro da mesma organização. Ela permite que os recursos de uma nuvem privada sejam ampliados a partir de uma reserva de recursos em uma nuvem pública. Neste modelo uma parte da infraestrutura de serviços é executada em nuvens privadas e outra parte em nuvens públicas, podendo oferecer maior controle e segurança dos dados (ZHANG; CHENG; BOUTABA, 2010). Os serviços de computação em nuvem oferecidos por uma nuvem pública são mais eficientes e escaláveis do que em nuvens privadas. Portanto, uma empresa pode aumentar sua eficiência através da utilização de serviços de nuvem pública para todas as operações que não são essenciais ou confidenciais, executando em uma nuvem privada as operações que exigem maior confiabilidade e segurança. Porém é necessário maior cuidado ao determinar a separação entre o que será utilizado na nuvem pública e o que será utilizado na nuvem privada (ZHANG; CHENG; BOUTABA, 2010) Tecnologias Relacionadas As tecnologias de computação em grid e virtualização são consideradas a base da computação em nuvem (GONG et al., 2010). Computação em Grid A computação em grid é um paradigma de computação distribuída que utiliza os recursos de diferentes computadores para resolver problemas de grande complexidade. Estes recursos podem ser por exemplo: memória, armazenamento, processamento ou banda da rede. Podem ser utilizados em ambientes geograficamente distribuídos voltados ao fornecimento de recursos em larga escala, com o objetivo de fornecer alto desempenho na execução de aplicações (FOSTER; KESSELMAN; TUECKE, 2001). Este tipo de computação foi desenvolvido baseado em sistemas de energia elétrica, onde a eletricidade é utilizada sem que os usuários tenham conhecimento da origem da

29 Capítulo 2. Referencial Teórico 28 energia e da complexidade da distribuição, ou seja, ao conectarmos um equipamento eletrônico na tomada o mesmo recebe a energia para o seu funcionamento. Desta forma o grid computacional é uma rede onde o usuário se conecta para ter acesso a um grande poder computacional (CIRNE, 2003). Computação em nuvem é semelhante à computação em grid, pois ambas utilizam recursos distribuídos. Porém, a computação em nuvem realiza compartilhamento de recursos de virtualização em diversos níveis, por exemplo: hardware, plataforma e aplicações (ZHANG; CHENG; BOUTABA, 2010). Virtualização A virtualização permite que em um único computador seja executado ao mesmo tempo dois ou mais sistemas operacionais. Sendo possível utilizar o melhor sistema para executar cada operação, onde cada máquina virtual é utilizada de forma separada das demais. Com isto se ocorrer vulnerabilidades em uma das máquinas virtuais, as demais não serão interferidas. Porém atualmente com o surgimento dos computadores pessoais, o interesse na virtualização não é mais somente pelo fato de permitir o uso de um mesmo sistema por vários usuários. O interesse passou a ser também em segurança, confiabilidade e disponibilidade, custo, balanceamento de carga e suporte a aplicações legadas (MATTOS, 2008). Virtualização é uma tecnologia que abstrai os detalhes de hardware físico e fornece recursos virtualizados para aplicações de alto nível. Ela é a base da computação em nuvem, pois fornece a capacidade de reunir recursos de computação e distribuir recursos virtuais para aplicativos conforme a necessidade das aplicações (ZHANG; CHENG; BOUTABA, 2010) Integração de Aplicações na Nuvem Atualmente um dos desafios que as empresas enfrentam é integrar aplicações na nuvem. Com a intensão de atender esta necessidade, vários provedores de computação em nuvem começaram a oferecer serviços de integração conhecidos como plataforma de integração como serviço (ipaas). Uma integração de aplicações na nuvem é uma plataforma de desenvolvimento que tem como objetivo a construção de soluções de integração, fornecendo para os usuários um conjunto de serviços e recursos para a realização desta integração. Esta plataforma pode ser vista como uma combinação de integração, governança e outras habilidades para atender as necessidades de implantação, aquisição e gerenciamento de funcionalidades. Nos serviços de governança estão incluídos o gerenciamento do ciclo de vida dos artefatos de software, os repositórios e o gerenciamento das aplicações (PEZZINI; LHEUREUX, 2011).

30 Capítulo 2. Referencial Teórico 29 Uma integração de aplicações na nuvem é uma plataforma de desenvolvimento que tem como objetivo a construção de soluções de integração (cf Figura 6), fornecendo para os usuários um conjunto de serviços e recursos para a realização desta integração. Esta plataforma pode ser vista como uma combinação de integração, governança e outras habilidades para atender as necessidades de implantação, aquisição e gerenciamento de funcionalidades. Nos serviços de governança estão incluídos o gerenciamento do ciclo de vida dos artefatos de software, os repositórios e o gerenciamento das aplicações (PEZZINI; LHEUREUX, 2011). Figura 6 Exemplo de uma solução de integração na nuvem. A Figura 6 representa uma solução de integração de aplicações empresarias executando na nuvem. Este serviço oferece uma plataforma para: modelar, executar, monitorar e gerenciar toda a solução de integração. Esta é a principal vantagem para as empresas que contratam este serviço, pois podem se concentrar em atividades como: criação de novas regras de negócio, projeção de fluxos de trabalho, dentre outras atividades. Outra vantagem é a redução nos, principalmente para empresas que planejam realizar atualização em seus equipamentos. Pois ao invés de fazer um grande investimento na aquisição de novos servidores, sistemas de armazenamento e licenças de software, é possível contratar um serviço de ipaas e realizar o pagamento de uma taxa mensal (PEZZINI; LHEUREUX, 2011). 2.3 Linha de Produtos de Software Uma linha de produtos de software é um conjunto de produtos que possuem características suficientemente similares. Isto permite a definição de uma infraestrutura comum dos produtos que compõe a linha de produtos e a diferença entre os mesmos. Seu principal objetivo é desenvolver produtos que compartilhem características comuns de maneira sistemática. A linha de produtos de software geralmente consiste de dois processos

31 Capítulo 2. Referencial Teórico 30 de desenvolvimento: engenharia de domínio e engenharia de aplicação. Na engenharia de domínio artefatos de software comuns são projetados e desenvolvidos para reutilização. Na engenharia de aplicação produtos específicos são derivados através da reutilização de um conjunto de artefatos de domínio (LINDEN; POHL, 2005 apud AHN; KANG, 2011). A arquitetura de uma linha de produtos de software (SPL) reflete os requisitos de uma linha de produtos e possui uma representação de alto nível do sistema. Ao contrário da arquitetura de software para produtos individuais, os requisitos de uma SPL devem incluir as exigências de vários produtos que compõem a linha de produtos. Isto faz com que a arquitetura SPL tenha que representar a uniformização e a variabilidade (LINDEN; POHL, 2005 apud AHN; KANG, 2011) Modelos de Variabilidade Os modelos de variabilidade foram introduzido em linha de produtos de software para permitir uma documentação eficiente do que é comum e do que é diferente nos produtos de uma linha de produtos de software. Estes modelos são importantes porque tornam fácil o gerenciamento e desenvolvimento de uma linha de produtos (BERGER et al., 2013). Técnicas para a realização da modelagem da variabilidade fornecem uma forma de especificar as regras que limitam a combinação entre produtos. Estas restrições podem ser técnicas ou qualquer decisão de domínio em qualquer fase de desenvolvimento. Por exemplo, os engenheiros precisam definir quais os requisitos são obrigatórios e quais são opcionais. Da mesma forma, os engenheiros de projeto precisam conhecer as dependências e incompatibilidades entre os componentes de software. Portanto, modelos de variabilidade descrevem um conjunto de opções que devem ser selecionadas a fim de obter uma linha de produtos específica. Este processo é realizado através da seleção das opções desejadas (BOSCH et al., 2002 apud ROOS-FRANTZ, 2011). Atualmente existem diferentes tipos de modelos de variabilidade, como por exemplo Feature Model (Modelo de Características) (KANG et al., 1990) e Orthogonal Variability Model (Modelo Ortogonal de Variabilidade) (LINDEN; POHL, 2005) Modelo de Características Os modelos de características representam as semelhanças e variabilidades entre os produtos de uma linha de produtos de software. Eles fornecem uma representação abstrata de todos os produtos da linha de produtos, que são determinados por todas as combinações possíveis de características. Estes modelos são geralmente compostos de dois elementos: as características e as relações entre elas. As características são representadas por uma estrutura em árvore (KANG et al., 1990 apud ROOS-FRANTZ, 2011).

32 Capítulo 2. Referencial Teórico 31 Neste modelo, as relações entre as características podem ser de duas formas: hierárquica e restrições de árvore transversal. Hierárquica Este tipo de relação é definido entre um recurso pai e seus recursos filhos. Por exemplo, para um filho ser parte de um produto é preciso que uma característica pai também esteja presente no produto. Existem três tipos de relações hierárquicas. Obrigatória: Indica que quando uma característica pai está presente no produto, obrigatóriamente a característica filha também deve estar presente. Opcional: Indica que quando uma característica pai está presente no produto, a característica filha pode ou não ser parte do produto. Alternativa: Indica que quando uma característica pai está presente no produto, apenas uma característica filha estará também no mesmo produto, neste tipo de relação é definindo as possíveis escolhas de características filha que poderá estar inclusa. Restrições de Árvore Transversal Este tipo de restrição é dividido em dois outros tipos: Requires: Este tipo de restrição indica que se uma determinada característica requer outra, esta característica também deverá estar presente no produto. Exclude: Indica que se uma característica estiver presente no produto, a característica indicada como exclude não poderá estar presente no produto Modelo Ortogonal de Variabilidade OVM é uma linguagem para definir a variabilidade de uma linha de produto de software de uma forma ortogonal, isto é, proporcionando uma visão em corte transversal da variabilidade em todos os artefatos da linha de produtos de software (LINDEN; POHL, 2005 apud ROOS-FRANTZ, 2011). Os construtores desta linguagem podem ser visualizados na Figura 7 (ROOS-FRANTZ; BENAVIDES, 2010). Pontos de variação (VP): Documentam os aspectos que podem variar na linha de produtos, ou seja, onde existem diferenças no produto de software final. Exemplo: os produtos podem ser diferentes em relação ao sistemas operacional que suportam ou se eles fornecem o acesso a internet ou não. Os pontos de variação podem ser obrigatórios ou opcionais.

33 Capítulo 2. Referencial Teórico 32 Figura 7 Construtores OVM. Variantes (V): As variantes estão relacionadas com os pontos de variação e documentam como tal ponto de variação pode variar. Exemplo: os produtos podem ter diferentes sistemas operacionais. Dependências de relacionamento: Podem ser de três tipos: obrigatória, opcional ou alternativa. Na dependência obrigatória a variante será escolhida sempre que o ponto de variação for utilizado. Na dependência opcional a variante pode ou não ser escolhida. A dependência alternativa constitui-se de um grupo de opções de variantes, onde o ponto de variação possui cardinalidade, a qual representa o mínimo e o máximo de escolhas possíveis. Restrições: Podem ser de dois tipos: requires e exclude. As dependências requires indicam que um elemento necessita de outro. As dependências exclude são utilizadas para representar uma exclusão entre dois elementos. São utilizadas quando a escolha de um determinado elemento impossibilita a escolha de outro elemento (ROOS-FRANTZ; BENAVIDES, 2010). Um exemplo da utilização deste tipo de modelagem pode ser visto na Figura 8. Figura 8 Exemplo de OVM (ROOS-FRANTZ, 2011). Neste exemplo está sendo representada a variabilidade de uma linha de produto de celulares. Esta linha possui alguns pontos de variação, o Messaging possui duas alternativas de escolha, SMS e MMS. O ponto de variação Utility functions possui duas variantes, GPS e Games. O ponto de variação Media possui uma variante obrigatória (Mp3) e uma

34 Capítulo 2. Referencial Teórico 33 variante opcional (Câmera). O ponto de variação Screen resolution possui três alternativas, podendo ser: Basic, Color ou High. Também há o ponto de variação Settings que possui somente a variante Java support. Além dos pontos de variação e suas variantes, este exemplo possui algumas restrições. Há uma restrição exclude entre as variantes GPS e Basic, o que define que se o tipo de resolução de tela escolhido for básica a característica GPS não estará presente. Entre as variantes Games e Java support há uma dependência requires, a qual define que se houver disponível a característica Games será necessário também que o celular possua suporte a tecnologia java. 2.4 Resumo do Capítulo Neste capítulo foram vistos os conceitos sobre Integração de Aplicações Empresariais, analisando as técnicas para a sua realização, bem como as vantagens e desvantagens de cada técnica. Foram analisados os conceitos referentes a Computação em Nuvem, seus tipos de serviço e os tipos de nuvem disponíveis para contratação. Também foram apresentados os Modelos de Variabilidade com foco na descrição dos conceitos e dos construtores do modelo OVM.

35 34 3 Framework de Comparação Neste trabalho foi desenvolvido um framework de comparação de provedores de computação em nuvem, com o objetivo de auxiliar na escolha do melhor provedor para implantar soluções de integração de aplicações empresariais. Um framework de comparação consiste em um conjunto de propriedades utilizadas para resolver um problema de um domínio específico. Ele atua onde há funcionalidades em comum a várias aplicações (neste caso, a vários provedores de computação em nuvem), porém para que seja possível a comparação entre as diferentes aplicações, elas devem conter grande quantidade de características em comum. Na comparação realizada a análise das características dos provedores foram divididas em diferentes categorias: propriedades gerais, infraestrutura, plataforma e software. 3.1 Propriedades Gerais Estas propriedades são comuns entre os tipos de serviço, ou seja, representam características presentes nos serviços de IaaS, PaaS e SaaS. Algumas propriedades desta categoria são mais relacionadas com um tipo de serviço específico, porém estão presentes de alguma forma em todos os tipos de serviço. Sistema operacional. Sistema que está em funcionamento em uma máquina virtual de IaaS ou então o sistema que está permitindo a execução de aplicações de PaaS ou SaaS. Os possíveis valores que podem assumir esta propriedade são: distribuições Linux ou versões do Windows Server. Serviço suportado. Tipos de serviço de computação em nuvem que cada provedor disponibiliza para contratação. Os possíveis valores para esta propriedade são: Infraestrutura como um Serviço (IaaS), Plataforma como um Serviço (PaaS) ou Software como um Serviço (SaaS). Forma de pagamento. Forma com que cada provedor realiza a cobrança dos serviços disponibilizados. Os possíveis valores para esta propriedade são: tempo de execução (pagamento é realizado pela capacidade computacional por hora ou por minuto, sem compromisso de uso ou pagamentos prévios), reserva de recursos (pagamento baixo, único e inicial para uma instância, sendo uma reserva por um determinado período de tempo), mensalidade, (compromisso mensal podendo ser de 6 ou 12 meses), ou pacotes (possui capacidade pré-determinada com pagamento a partir das opções de pacotes disponibilizadas). Tempo mínimo de consumo. Tempo mínimo de cobrança por cada execução de uma máquina virtual na nuvem. Os possíveis valores para esta propriedade são: horas ou

36 Capítulo 3. Framework de Comparação 35 minutos. Caso o tempo mínimo proposto por um provedor for de uma hora e a execução seja em menor tempo, será cobrado a hora completa, da mesma forma para o tempo de cobrança em minutos, tempos inferiores são cobrados conforme o mínimo estipulado pelo provedor. Forma de cobrança. Forma com que cada usuário realizara o pagamento pelo tempo que executar suas instancias. Os possíveis valores para esta propriedades são: hora ou minutos. Escalabilidade. Permite aumentar ou diminuir automaticamente a capacidade dos recursos computacionais. Os possíveis valores para esta propriedades são: sim ou não. Backup. Indica se o provedor implementa algum mecanismo para proteção dos dados do usuário. Os possíveis valores para esta propriedades são: sim ou não. Controle de Acesso. Capacidade de controle de acesso aos serviços de nuvem. Os possíveis valores para esta propriedade são: sim ou não. 3.2 Propriedades de Infraestrutura como um Serviço Estas propriedades estão relacionadas com o serviço de infraestrutura disponibilizado pelos provedores e representam as características e recursos disponibilizados pelas máquinas virtuais. Número de planos de serviço. Quantidade de configurações de planos de serviço disponibilizados por cada provedor. Gerenciamento de máquinas virtuais. Forma como o usuário pode gerenciar suas máquinas virtuais localizadas em um servidor na nuvem. Esse gerenciamento é realizado a partir de imagens de sistemas operacionais. Os possíveis valores para esta propriedade são: imagens de sistemas operacionais personalizados ou imagens virtuais disponibilizadas pelos provedores. Serviços de cache. Possibilidade de implementação, operação e dimensionamento de um cache na nuvem. Este serviço melhora o desempenho de aplicativos e permitem a recuperação de informações na memória rapidamente. Os possíveis valores para esta propriedades são: sim ou não. Segurança. Recursos de segurança que cada provedor disponibiliza para os usuários. Esses recursos podem estar inclusos no custo do plano ou então serem cobrados a parte. Os possíveis valores para esta propriedade são: firewall, privacidade de dados, detecção de intrusos, tolerância a falhas ou monitoramento dos recursos. Tipos de instâncias. Instancias são servidores virtuais que podem executar aplicativos. São criadas a partir de uma imagem de um sistema operacional e de um tipo de instância.

37 Capítulo 3. Framework de Comparação 36 Possíveis valores para esta propriedade são: propósito geral (disponibiliza equilíbrio entre os recursos), processamento (disponibiliza maior capacidade de processamento), memória (disponibiliza maior capacidade de memória), armazenamento (disponibiliza capacidade de armazenamento alta e com baixo custo) e micro instâncias (custo de aquisição reduzido e que oferecem menor capacidade de recursos). Os tipos de instâncias possuem propriedades como: preço por hora, capacidade máxima e mínima de memória, núcleos de processamento, armazenamento e tipo de armazenamento. A seguir são descritos estas propriedades, referentes aos tipos de instâncias: propósito geral, intensa utilização de processamento e intensa utilização de memória. Preço mínimo e máximo por hora. Preço cobrado por hora de utilização da instância. Capacidade mínima e máxima de memória. Capacidade mínima e máxima de memória disponibilizada pelo provedor. Esta capacidade é informada em GB. Capacidade mínima e máxima de núcleos de processamento. Capacidade mínima e máxima de núcleos de processamento disponibilizados pelo provedor. Tipo de armazenamento. Tipos de armazenamento que um provedor disponibiliza para escolha. Os possíveis valores para esta propriedade são: HD e SSD. Capacidade mínima e máxima de armazenamento. Capacidade mínima e máxima de armazenamento disponibilizado pelo provedor. Esta capacidade é informada em GB. 3.3 Propriedades de Plataforma como um Serviço Estas propriedades estão relacionadas com o serviço de plataforma e representam as características e recursos disponibilizados. Linguagens de programação suportadas. Linguagens disponibilizas para criação de sistemas. Monitoramento. Indica se o provedor possui capacidade de monitorar o funcionamento das aplicações criadas. Os possíveis valores para esta propriedade são: sim ou não. Balanceamento de carga. Utilizado para garantir que a demanda aos aplicativos seja balanceada, é possível ter balanceamento de carga com escalabilidade e gerenciamento automático, evitando a necessidade de implementar e gerenciar um serviço separado. Integração com ferramentas IDE. Possibilidade de integrar a aplicação desenvolvida localmente através de uma IDE (ambiente de desenvolvimento) com a aplicação desenvolvida na plataforma de computação em nuvem. Gerenciamento de ciclo de vida. Capacidade de gerenciar as versões da aplicação desenvolvida.

38 Capítulo 3. Framework de Comparação 37 Implementação em locais fisicamente separados. Possibilidade de desenvolver ou gerenciar aplicações em locais fisicamente separados, por exemplo, uma equipe de desenvolvimento pode estar dividida em diferentes cidades ou países e desenvolver as aplicações de forma conjunta. 3.4 Propriedades de Software como um Serviço Estas propriedades estão diretamente relacionadas com o serviço de software disponibilizado pelos provedores. Sistema. Sistema que cada provedor disponibiliza para que o usuário utilize. Possibilidade de armazenamento de arquivos. Indica se é disponibilizado algum software para armazenamento de arquivos em nuvem. Possíveis valores para esta propriedade são: sim ou não. Software para armazenamento de arquivos. Softwares que são disponíveis por cada provedor para realizar armazenamento de arquivos. 3.5 Resumo do Capítulo Neste capítulo apresentamos o framework de comparação de provedores de computação em nuvem desenvolvido, descrevendo as propriedades encontradas e dividindo-as em diferentes categorias. As propriedades gerais encontradas representam as características presentes em todos os tipos de serviço de computação em nuvem. As propriedades de IaaS são as características específicas dos serviços de infraestrutura oferecidos pelos provedores. As propriedades de PaaS oferecem características específicas para o desenvolvimento de software em servidores de computação em nuvem. As propriedades de SaaS representam as características específicas deste tipo de serviço.

39 38 4 Comparação dos Provedores Estudados Para demonstrar o uso do framework de comparação, foram escolhidos para caso de estudo três provedores de computação em nuvem com ampla utilização em escala global. Os provedores comparados foram: Amazon, Google e Microsoft. A análise das características dos provedores foram divididas em: propriedades gerais, infraestrutura, plataforma e software. A pesquisa deste caso de estudo foi realizada durante os meses de janeiro e fevereiro de Propriedades Gerais Estas propriedades são comuns entre os tipos de serviço, ou seja, estão presentes de alguma forma nos serviços de IaaS, PaaS e SaaS. Na tabela 3 é possível identificar que nas propriedades gerais os três provedores comparados são semelhantes, todos disponibilizam para utilização os sistemas operacionais Linux e Windows e suportam os três principais tipos de serviço de computação em nuvem. Os provedores também disponibilizam recursos de escalabilidade, backup e controle de acesso. Também há semelhança na forma de pagamento utilizada, os provedores comparados possuem a forma de pagamento por tempo de execução, tendo como diferença as demais formas de pagamento. Na Amazon é possível realizar pagamento por uma reserva de recursos. A Microsoft possui a forma de pagamento por mensalidade e o Google por pacote. As maiores diferenças encontradas entre estes provedores nas propriedades gerais são: o tempo mínimo de consumo e a forma de cobrança. Na propriedade tempo de consumo identificamos que a Amazon possui um tempo de 1 hora, o qual é um tempo maior que os demais provedores exigem, sendo na Microsoft 1 minuto e no Google 10 minutos. A forma de cobrança do provedor Amazon é realizada por hora e dos provedores Microsoft e Google por minuto de utilização. Tabela 3 Propriedades Gerais Propriedade Amazon Microsoft Google Sistema operacional Linux, Windows Linux, Windows Linux, Windows Tipos de serviço IaaS, PaaS, SaaS IaaS, PaaS, SaaS IaaS, PaaS, SaaS Forma de pagamento Suportado Tempo de Execução, Reserva de Recursos Tempo de Execução, Mensalidade Tempo de Execução,Pacote Tempo mínimo de 1 hora 1 minuto 10 minutos consumo Forma de cobrança Hora Minuto Minuto Escalabilidade Sim Sim Sim Backup Sim Sim Sim Controle de acesso Sim Sim Sim

40 Capítulo 4. Comparação dos Provedores Estudados Propriedades de Infraestrutura como um Serviço Estas propriedades estão diretamente relacionadas com o serviço de infraestrutura disponibilizado pelos provedores. Na tabela 4 é possível identificar que todos os provedores comparados disponibilizam serviço de cache. O número de planos de serviço disponíveis por cada provedor é diferente, pois na Amazon encontramos a disponibilidade de 28 diferentes planos de serviços, enquanto na Microsoft encontramos 16 planos e na Google 15 planos disponíveis. A forma de gerenciamento das máquinas virtuais é bastante semelhante, os provedores utilizam imagens de sistemas operacionais configuráveis, porém o provedor Amazon disponibiliza um sistema de imagem virtual Amazon, o qual possui informações necessárias para a criação das instancias neste provedor. De acordo com os recursos de segurança encontrados, é possível identificar que o provedor Amazon possui maior variedade de recursos que os demais provedores. Tabela 4 Propriedades de Infraestrutura como Serviço. Propriedade Amazon Microsoft Google Número de planos Gerenciamento das Imagem virtual Sistema Operacional Sistema Operacional máquinas virtuais Amazon Cache Sim Sim Sim Segurança Firewal, Privacidade de dados, Permissões, Detec. Instrusos, Tolerância a falhas, Criptografia Mecanismo de log, Monitoramento dos recursos Firewall, Bloqueio de tráfego Tipos de instância Propósito Geral, Processamento, Memória, Armazenamento, Micro instância, GPU Propósito Geral, Memória, Processamento Propósito Geral, Armazenamento, Processamento Sobre os tipos de instancia é possível identificar que todos os provedores disponibilizam os tipos: propósito geral e intensa utilização de processamento. A Amazon também disponibiliza os tipos: intensa utilização de memória, intensa utilização de armazenamento, instancias de processamento gráfico e micro instâncias. A Microsoft também disponibiliza o tipo de instancia de intensa utilização de memória. O provedor Google oferece também instancias de intensa utilização de armazenamento. Os tipos de instâncias possuem propriedades como: preço por hora, capacidade máxima e mínima de memória, núcleos de processamento, armazenamento e tipo de armazenamento. Na Tabela 5 é possível identificar que os preços por hora disponibilizado por cada provedor são semelhantes, sendo que a Microsoft é o provedor que tem o menor preço cobrado por um plano de serviço. O maior valor cobrado por hora é feito pelo provedor Google. Porém o provedor Microsoft disponibiliza menor capacidade de memória que os demais provedores, pois a maior quantidade de memória disponibilizada é 14GB e nos

41 Capítulo 4. Comparação dos Provedores Estudados 40 Tabela 5 Instancias de Propósito Geral Propriedade Amazon Microsoft Google Preço mínimo e máximo por hora Capacidade mínima 1,7 GB 30 GB 0,7GB 14GB 3,75GB 60GB e máxima de memória Capacidade mínima e máxima de processamento Tipos de HD, SSD HD Não Encontrado armazenamento Capacidade mínima e máxima de armazenamento 4 GB 1680 GB 127GB para SO e 20GB 605GB temporário Não Encontrado demais provedores os valores são 30GB na Amazon e 60 GB no Google. A capacidade mínima e máxima de núcleos de processamento é semelhante, sendo o provedor Google o que oferece a maior quantidade de núcleos. O provedor Amazon disponibiliza o armazenamento em HD e SSD, tendo maior capacidade de armazenamento que os demais provedores. A Microsoft disponibiliza apenas o armazenamento em HD. Sobre o provedor Google não foram encontradas informações sobre tipo de armazenamento e capacidade de armazenamento disponibilizada. Tabela 6 Instancias de Intensa Utilização de Processamento Propriedade Amazon Microsoft Google Preço mínimo e Não Encontrado máximo por hora Capacidade mínima 1,7GB 60,5GB Não Encontrado 1,8GB 14,4GB e máxima de memória Capacidade mínima 2 32 Não Encontrado 2 16 e máxima de processamento Tipos de HD, SSD Não Encontrado Não Encontrado armazenamento Capacidade mínima e máxima de armazenamento 32GB 3360GB Não Encontrado Não Encontrado Na Tabela 6 é possível identificar que apenas os provedores Google e Amazon disponibilizam este tipo de instancia. Nestes provedores os preços por hora disponibilizado por cada provedor são diferentes, no provedor Amazon os preços são mais elevados, porém a capacidade de memória e de núcleos de processamento é maior que a do provedor Google. As informações sobre tipo de armazenamento e capacidade de armazenamento foram encontradas apenas no provedor Amazon. Na Tabela 7 é possível identificar que há uma grande variação nos preços cobrados, tendo no provedor Amazon os preços mais altos cobrados por hora. Porém é no provedor

42 Capítulo 4. Comparação dos Provedores Estudados 41 Tabela 7 Instancias de Intensa Utilização de Memória Propriedade Amazon Microsoft Google Preço mínimo e máximo por hora Capacidade mínima 17,1GB 244GB 14GB 56GB 13GB 104GB e máxima de memória Capacidade mínima e máxima de processamento Tipos de HD, SSD HD Não Encontrado armazenamento Capacidade mínima e máxima de armazenamento 240GB 6400GB 127GB para SO e 135GB 605GB temporário Não Encontrado Amazon que é disponibilizado maior capacidade de memória, núcleos de processamento e armazenamento. 4.3 Propriedades de Plataforma como um Serviço Estas propriedades estão diretamente relacionadas com o serviço de plataforma disponibilizado pelos provedores. Na Tabela 8 é possível identificar que nestas propriedades os provedores são semelhantes, todos disponibilizam mecanismos de monitoramento, balanceamento de carga e persistência. As principais diferenças encontradas são nas linguagens de programação disponibilizada, a integração com ferramentas de desenvolvimento que só foi encontrado nos provedores Amazon e Google, e também o gerenciamento de ciclo de vida e a implementação em locais fisicamente separados que foram encontradas disponíveis apenas no provedor Amazon. Tabela 8 Propriedades de Plataforma como Serviço. Propriedade Amazon Microsoft Google Monitoramento Sim Sim Sim Linguagens de Java,.NET, PHP, Basic, C, PHP, Java, Python programação suportadas Python Visual Basic, Java, Python Balanceamento de Sim Sim Sim carga Integração com Sim Não encontrado Não encontrado ferramentas IDE Gerenciamento de Sim Não encontrado Não encontrado ciclo de vida Implementação locais fisicamente separados Sim Não encontrado Não encontrado

43 Capítulo 4. Comparação dos Provedores Estudados Propriedades de Software como um Serviço Estas propriedades estão diretamente relacionadas com o serviço de software disponibilizado pelos provedores. Na Tabela 9 é possível identificar que nestas propriedades os provedores são semelhantes, todos disponibilizam um sistema para aquisição de software como serviço, assim como todos disponibilizam softwares para armazenamento de arquivos na nuvem. Tabela 9 Propriedades de Software como Serviço. Propriedade Amazon Microsoft Google Sistema Amazon AWS Microsof Azure Google Apps Armazenamento de Sim Sim Sim arquivos Software para armazenamento Amazon S3 One Drive Google Drive 4.5 Resumo do Capítulo Neste capítulo exibimos a comparação realizada através do framework desenvolvido entre os provedores de computação em nuvem Amazon, Google e Microsoft. Foram descritas as características que cada provedor possui em cada propriedade elencada no framework. A comparação foi dividida nos quatro grupos de propriedades definidos, demonstrando os recursos que cada provedor oferece em cada tipo de serviço de computação em nuvem.

44 43 5 Modelagem dos Planos de Serviço Esta seção apresenta a modelagem do provedor Amazon, a partir das características gerais, de infraestrutura, de plataforma e de software. 5.1 Características Gerais As características gerais são um ponto de variação que possui cinco variantes: a forma de cobrança, tempo mínimo de utilização, escalabilidade, backup e controle de acesso, as quais são obrigatórias. Possui um ponto de variação sistema operacional, o qual pode ter como variabilidade os sistemas Windows ou Linux. Também possui o ponto de variação pagamento que pode ser por demanda, spot (permite que o usuário defina o preço para a capacidade computacional contratada) ou reserva de recursos, a qual necessita de um período de utilização que pode ser de um ou três anos e também um tipo de reserva que pode ser leve, média ou pesada. Assim é possível identificar que os tipos de serviço possuem muitas características em comum, porém podem ser utilizadas de forma diferente, como por exemplo o sistema operacional está presente em todos os tipos de serviço, porém somente ao utilizar máquinas virtuais em IaaS o sistema operacional fica visível ao usuário, nos demais tipos de serviço sabemos que ele está presente possibilitando a utilização de plataformas ou softwares, cf. Figura 9. Figura 9 Modelo das características gerais.

45 Capítulo 5. Modelagem dos Planos de Serviço Características de Infraestrutura como um Serviço Neste tipo de serviço encontramos duas variantes: segurança é obrigatória e recursos adicionais são opcionais. Também possui o ponto de variação plano de serviço, o qual possui obrigatoriamente: CPU, unidade computacional Amazon (ECU), memória, armazenamento e preço. A utilização de recursos adicionais requer um tipo de recurso, que pode ser redes aperfeiçoadas, cluster ou instâncias dedicadas, cf. Figura 10. Figura 10 Modelo IaaS. 5.3 Características de Plataforma como um Serviço Neste tipo de serviço encontramos cinco variantes: monitoramento, persistência, integração com ambientes de desenvolvimento, gerenciamento de ciclo de vida e implementação em locais separados são recursos que devem obrigatoriamente ser utilizados. Também possui um ponto de variação linguagem suportada, que pode ser: Java,.NET, PHP ou Python, cf. Figura 11. Figura 11 Modelo PaaS. 5.4 Características de Software como um Serviço Nesse tipo de serviço foram encontradas três variantes: a variante de sistema deve ser utilizada obrigatoriamente, já a variante de armazenamento de arquivos e software para armazenamento de arquivos são opcionais, cf. Figura 12.

46 Capítulo 5. Modelagem dos Planos de Serviço 45 Figura 12 Modelo SaaS. 5.5 Resumo do Capítulo Neste capítulo foi exibido a modelagem desenvolvida através do modelo OVM. Representamos através deste modelo as características em comum e variáveis presentes no provedor de computação em nuvem Amazon. As características foram dividias em quatro grupos: as características gerais (que representam as características em comum entre todos os tipos de serviço), de infraestrutura, plataforma e software (as quais representam as características variáveis entre os tipos de serviço).

47 46 Conclusão Integrar aplicações empresariais é fazer com que diferentes aplicações que não foram concebidas tendo em mente sua integração, possam colaborar para dar suporte a um novo processo de negócio. A computação em nuvem é um novo paradigma no qual empresas oferecem a um baixo custo recursos como armazenamento e processamento por meio da Internet em um modelo de negócio onde os usuários pagam apenas pelo que utilizam. Atualmente existe uma grande variedade de provedores de computação em nuvem disponíveis para contratação, por isso existe uma grande dificuldade de escolher qual provedor é mais adequado para contratação. Assim se faz necessário conhecer as características presentes nos serviços de computação em nuvem. A partir do desenvolvimento do framework de comparação, foi possível comparar os provedores Amazon, Google e Microsoft e concluir que o provedor Amazon possui maior vantagem para implantação de soluções de integração de aplicações empresariais. Este provedor, disponibiliza maior quantidade de planos de serviço para contratação. Possui maior variedade de tipos de instancias a serem escolhidos, os quais contemplam as principais necessidades de uma integração como por exemplo, instancias específicas para alto desempenho em processamento, armazenamento e memória. Também existem mais recursos de segurança disponíveis, por exemplo, detecção de intrusos, tolerância a falhas e criptografia. Com a realização deste trabalho também foi possível analisar as características de cada plano de serviço, visualizando as características comuns entre os tipos de serviço e também a variabilidade presente nos serviços do provedor de computação em nuvem Amazon. Conhecer estas características é importante pois possibilita ter maior conhecimento do provedor escolhido e também visualizar as diferenças entre os tipos de serviço. Como trabalhos futuros, é possível converter o modelo desenvolvido na forma gráfica para a forma textual, utilizando o trabalho de conclusão de curso do aluno Cristiano (POLITOWSKI; ROOS-FRANTZ, 2014) para editar o modelo textual desenvolvido. Também é possível analisar as características dos provedores nacionais, comparando as características oferecidas pelos provedores citados neste trabalho com os nacionais. Outro trabalho é o desenvolvimento dos modelos de variabilidade através de outros tipos, como por exemplo Feature Models.

48 47 Referências AHN, H.; KANG, S. Analysis of software product line architecture representation mechanisms. In: IEEE. Software Engineering Research, Management and Applications (SERA), th International Conference on. [S.l.], p Citado na página 30. AOYAMA, M.; KURONO, N. An extended orthogonal variability model for metadatadriven multitenant cloud services. In: IEEE. Software Engineering Conference (APSEC, th Asia-Pacific. [S.l.], v. 1, p Citado na página 13. BERGER, T. et al. A study of variability models and languages in the systems software domain. IEEE, Citado na página 30. BOSCH, J. et al. Variability issues in software product lines. In: Software Product-Family Engineering. [S.l.]: Springer, p Citado na página 30. CIRNE, W. Grids computacionais: Arquiteturas, tecnologias e aplicações. III ERAD-Escola Regional de Alto Desempenho, Santa Maria, RS, Citado na página 28. FOSTER, I.; KESSELMAN, C.; TUECKE, S. The anatomy of the grid: Enabling scalable virtual organizations. International journal of high performance computing applications, Sage Publications, v. 15, n. 3, p , Citado na página 27. FRANTZ, R.; CORCHUELO, R. Integración de aplicaciones. In: Proceedings of the Zoco07 Workshop. [S.l.: s.n.], p Citado na página 15. GIBSON, J. et al. Benefits and challenges of three cloud computing service models. In: CASoN. [S.l.: s.n.], p Citado 4 vezes nas páginas 11, 24, 25 e 26. GONG, C. et al. The characteristics of cloud computing. In: IEEE. Parallel Processing Workshops (ICPPW), th International Conference on. [S.l.], p Citado 3 vezes nas páginas 11, 24 e 27. HOHPE, G.; WOOLF, B. Enterprise integration patterns: Designing, building, and deploying messaging solutions. [S.l.]: Addison-Wesley Professional, Citado 8 vezes nas páginas 11, 15, 16, 17, 18, 19, 20 e 21. IOSUP, A.; YIGITBASI, N.; EPEMA, D. On the performance variability of production cloud services. In: IEEE. Cluster, Cloud and Grid Computing (CCGrid), th IEEE/ACM International Symposium on. [S.l.], p Citado na página 12. JADEJA, Y.; MODI, K. Cloud computing-concepts, architecture and challenges. In: IEEE. Computing, Electronics and Electrical Technologies (ICCEET), 2012 International Conference on. [S.l.], p Citado 2 vezes nas páginas 11 e 27. KANG, K. C. et al. Feature-oriented domain analysis (FODA) feasibility study. [S.l.], Citado na página 30.

49 Referências 48 LINDEN, F. V. D.; POHL, K. Software Product Line Engineering: Foundations, Principles, and Techniques. [S.l.]: Stuttgart: Springer, Citado 2 vezes nas páginas 30 e 31. MATTOS, D. M. F. Virtualização: Vmware e xen. Universidade Federal do Rio de Janeiro, Citado na página 28. PENG, J. et al. Comparison of several cloud computing platforms. In: IEEE. Information Science and Engineering (ISISE), 2009 Second International Symposium on. [S.l.], p Citado na página 12. PEZZINI, M.; LHEUREUX, B. Integration platform as a service: moving integration to the cloud. Gartner, Citado 2 vezes nas páginas 28 e 29. POLITOWSKI, C.; ROOS-FRANTZ, F. Uma ferramenta de apoio à edição e validação de ovms textuais para dar suporte ao processo de análise automática Citado na página 46. QUINTON, C. et al. Towards multi-cloud configurations using feature models and ontologies. In: ACM. Proceedings of the 2013 international workshop on Multi-cloud applications and federated clouds. [S.l.], p Citado na página 12. ROOS-FRANTZ, F. Automated analysis of software product lines with orthogonal variability models Citado 4 vezes nas páginas 7, 30, 31 e 32. ROOS-FRANTZ, F.; BENAVIDES, D. Automated analysis of orthogonal variability models using constraint programming. In:. [S.l.: s.n.], Citado 2 vezes nas páginas 31 e 32. ZHANG, Q.; CHENG, L.; BOUTABA, R. Cloud computing: state-of-the-art and research challenges. Journal of internet services and applications, Springer, v. 1, n. 1, p. 7 18, Citado 6 vezes nas páginas 11, 23, 24, 26, 27 e 28.

50 Anexos

51 UM ESTUDO DA VARIABILIDADE DOS TIPOS DE SERVIÇO DO PROVEDOR DE COMPUTAÇÃO EM NUVEM AMAZON Igor G. Haugg Acadêmico do curso de Ciência da Computação Universidade Regional do Noroeste do Estado do Rio Grande do Sul Rafael Z. Frantz, Fabrícia Roos-Frantz Professor/Pesquisador Programa de Pós-Graduação em Modelagem Matemática Universidade Regional do Noroeste do Estado do Rio Grande do Sul {rzfrantz, Resumo. A computação em nuvem é um novo paradigma no qual empresas oferecem a um baixo custo recursos como armazenamento e processamento por meio da Internet. Os provedores de computação em nuvem disponibilizam e cobram por tais recursos em função das características dos serviços contratados por seus clientes. Estas características podem ser representadas utilizando modelos ortogonais de variabilidade (OVM). Neste trabalho será apresentada uma modelagem dos tipos de serviço do provedor de computação em nuvem Amazon, utilizando a linguagem OVM. Com a realização desta modelagem foi possível analisar e exibir as características comuns e variáveis entre os tipos de serviço. Palavras-chave: Computação em Nuvem. Modelo Ortogonal de Variabilidade. 1. INTRODUÇÃO A computação em nuvem representa um novo paradigma no qual recursos como armazenamento e processamento podem ser acessados através da Internet e consumidos sob demanda, reduzindo enormemente o custo das empresas em infraestrutura de TI de alta capacidade (Zhang et al. 2010). Seus principais tipos de serviço são: Infraestrutura como um Serviço (IaaS), Plataforma como um Serviço (PaaS) e Software como um Serviço (SaaS). IaaS é definida como a contratação de recursos computacionais, tais como: servidores, roteadores, ou sistemas de armazenamento (Gibson et al. 2012). PaaS consiste em disponibilizar plataformas de desenvolvimento de software utilizando os recursos da infraestrutura da computação em nuvem, como por exemplo, frameworks e linguagens de programação (Jadeja and Modi 2012). SaaS busca disponibilizar softwares pelos quais os usuários pagam por seu uso e não por sua licença e que estão disponíveis para serem acessados através de um navegador web (Gong et al. 2010). Estes tipos de serviço possuem características em comum e também variáveis. A pesquisa desenvolvida neste trabalho buscou identificar um conjunto de propriedades, que foram classificadas em quatro categorias. A partir destas propriedades buscou-se inferir um modelo para representar características comuns e variáveis dos planos de serviço do provedor Amazon, optamos por este provedor porque o mesmo é muito conhecido e amplamente utilizado no meio acadêmico nas pesquisas em relação a computação em nuvem. A primeira categoria agrupa propriedades comuns entre os tipos de serviço. A segunda categoria agrupa as propriedades XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA CRICTE a 10 de outubro de 2014 Alegrete RS Brasil

52 relacionadas com o serviço de infraestrutura. A terceira categoria agrupa as propriedades relacionadas com o serviço de plataforma. A quarta categoria agrupa as propriedades relacionadas com o serviço de software. A partir da divisão em propriedades foram modeladas as características em comum entre os três tipos de serviço e também as características específicas de cada tipo. Esta modelagem foi desenvolvida utilizando modelos ortogonais de variabilidade (OVM). No trabalho de Peng et al. (2009) são comparadas as características de diferentes plataformas de computação em nuvem, expondo as características através de tabelas com dados referentes a cada provedor analisado. A diferença com o presente artigo está em que os autores focam apenas na análise de plataformas de computação e apresentam as características por meio de tabelas. Em Quinton et al. (2013) é realizado uma modelagem através de Feature Models e Ontologias para representar a variabilidade no gerenciamento e na criação de configurações de computação em nuvem. Sua principal diferença com o presente artigo está no foco da modelagem e na linguagem utilizada. Por outro lado, em Iosup et al. (2011) é realizado uma análise da variabilidade de performance dos provedores de computação em nuvem Amazon e Google. Esse artigo se diferencia do presente pois analisa dados referentes a performance desses provedores, buscando avaliar o impacto da variabilidade de performance em larga escala. 2. REFERENCIAL TEÓRICO Em engenharia de linha de produto de software (SPL) é produzido uma família de produtos que compartilham aspectos em comum e aspectos variáveis (Berger et al. 2013). Os modelos documentam a variabilidade de uma linha de produto e são importantes porque tornam fácil o gerenciamento e desenvolvimento de uma SPL (Roos-Frantz and Benavides 2010). OVM é uma linguagem para modelagem da variabilidade presente em SPL. Os construtores desta linguagem podem ser visualizados na Figura 1. Figura 1. Construtores do OVM. Os pontos de variação (VP) documentam os aspectos que representam a variabilidade do modelo e podem ser obrigatórios ou opcionais. As variantes estão relacionadas com os VP e representam como o VP pode variar. Estes modelos representam todas as possíveis configurações que uma SPL pode assumir, sendo as configurações todas as combinações entre os VP e suas variantes. As dependências de relacionamento entre seus elementos, são: obrigatória, opcional ou alternativa. Na dependência obrigatória a variante será escolhida sempre que o VP for utilizado, e é representada por uma linha continua que liga o VP até a variante. Na dependência opcional a variante pode ou não ser escolhida, e é representada por uma linha tracejada entre o VP e a variante. A dependência alternativa constitui-se de um grupo de opções de variantes, onde o VP possui cardinalidade, a qual representa o mínimo e o máximo de escolhas possíveis, sendo representada por uma linha tracejada entre o VP e suas variantes. Este modelo também possui dependências requires, as quais indicam que um elemento necessita de outro. É representada por uma linha tracejada com uma seta indicando que elemento será necessário. As dependências exclude excluem uma possível ligação entre elementos. São utilizadas quando a escolha de um determinado elemento impossibilita a escolha de outro e são representadas por uma linha tracejada com uma seta de cada lado (Roos-Frantz and Benavides 2010). XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA CRICTE a 10 de outubro de 2014 Alegrete RS Brasil

53 3. MODELAGEM DO PROVEDOR Esta seção apresenta a modelagem do provedor Amazon, a partir das características gerais, de infraestrutura, de plataforma e de software. Figura 2. Modelo das características gerais. 3.2 Características de IaaS O modelo para as características de infraestrutura é apresentado na Figura 3. Neste tipo de serviço encontramos três variantes: segurança e plano de serviço são obrigatórias, já recursos adicionais são opcionais. O plano de serviço requer uma configuração de máquina virtual, a qual possui obrigatoriamente: CPU, unidade computacional Amazon (ECU), memória, armazenamento e preço. A utilização de recursos adicionais requer um tipo de recurso, que pode ser redes aperfeiçoadas, cluster ou instâncias dedicadas. Figura 3. Modelo IaaS. 3.1 Características gerais As características gerais são um ponto de variação que possui sete variantes, sendo que a forma de cobrança, tempo mínimo de utilização, escalabilidade, backup e controle de acesso são variantes obrigatórias, ou seja, todos os tipos de serviço possuem estas características. Também possuem um sistema operacional que requer um tipo de sistema, o qual pode ser Windows ou Linux. A modalidade de pagamento pode ser por demanda, spot ou através de reserva de recursos. Nessa última modalidade é necessário um período de utilização que pode ser de 1 ou 3 anos e também um tipo de reserva que pode ser leve, média ou pesada. Assim é possível identificar que os tipos de serviço possuem muitas características em comum, porém podem ser utilizadas de forma diferente, como por exemplo o sistema operacional está presente em todos os tipos de serviço, porém somente ao utilizar máquinas virtuais em IaaS o sistema operacional fica visível ao usuário, nos demais tipos de serviço sabemos que ele está presente possibilitando a utilização de plataformas ou softwares, cf. Figura Características de PaaS O modelo para as características de plataforma é apresentado na Figura 4. Neste tipo de serviço encontramos sete variantes: balanceamento de carga, monitoramento, linguagens de programação, persistência, integração com ambientes de desenvolvimento, gerenciamento de ciclo de vida e implementação em locais separados são recursos que devem obrigatoriamente ser utilizados. A linguagem de programação requer Java,.NET, PHP ou Python. 3.4 Características de SaaS O modelo para software é apresentado na Figura 5. Nesse tipo de serviço foram encontradas três variantes: a variante de sistema deve ser utilizada obrigatoriamente, já a variante de armazenamento de arquivos XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA CRICTE a 10 de outubro de 2014 Alegrete RS Brasil

54 e software para armazenamento de arquivos são opcionais. Figura 4. Modelo PaaS. 5. REFERÊNCIAS BERGER, T.; SHE, S.; LOTUFO, R.; WASOWSKI, A.; CZARNECKI, K.. A study of variability models and languages in the systems software domain. Transactions on Software Engineering, p , GIBSON, J.; RONDEAU, R.; EVELEIGH, D.; TAN, Q.. Benefits and challenges of three cloud computing service models. CASoN, p , Figura 5. Modelo SaaS. 4. CONCLUSÕES A computação em nuvem é amplamente utilizada e possui três principais tipos de serviço, os quais possuem diferentes características. Com a realização deste trabalho foi possível analisar as características de cada plano de serviço, visualizando as características comuns entre os tipos de serviço e também a variabilidade presente nos serviços do provedor de computação em nuvem Amazon. Conhecer estas características é importante pois possibilita ter maior conhecimento do provedor escolhido e também visualizar as diferenças entre os tipos de serviço. Agradecimentos Ao CNPq pela bolsa de Iniciação Tecnológica e ao grupo de pesquisa GCA. GONG, C.; LIU, J.; ZHANG, Q.; CHEN, H.; GONG, Z.. The characteristics of cloud computing. Int. Conf. on Par. Proc. Workshops, p , IOSUP, A.; YIGITBASI, N.; EPEMA, D.. On the performance variability of production cloud services. Int. Symp. on Cluster, Cloud and Grid Comp. p , JADEJA, Y.; MODI, K.. Cloud computingconcepts, architecture and challenges. Int. Conf. on Comp. Electr. and Electrical Tech., p , PENG, J.; ZHANG, X.; LEI, Z.; ZHANG, B.; ZHANG, W.; LI, Q.. Comparison of several cloud computing platforms. Int. Symp. on Info. Science and Eng., p , QUINTON, C.; HADERER, N.; ROUVOY, R.; DUCHIEN, L.. Towards multi-cloud configurations using feature models and ontologies. Int. WS on Multi-Cloud App. and Fed. Clouds, p , ROOS-FRANTZ, F.; BENAVIDES, D.. Automated analysis of orthogonal variability models using constraint programming. First Workshop on Analyses of Software Product Lines, p , ZHANG, Q.; CHENG, L.; BOUTABA, R.. Cloud computing: state-of-the-art and research challenges. Journal of internet services and applications, p. 7 18, XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA CRICTE a 10 de outubro de 2014 Alegrete RS Brasil

55 Implantação de Soluções de Integração de Aplicações em Provedores de Computação em Nuvem Igor G. Haugg, Rafael Z. Frantz UNIJUÍ, Departamento de Ciências Exatas e Engenharias Rua do Comércio, , Ijuí RS Brasil Frequentemente as empresas precisam integrar as aplicações existentes em seus ecossistemas de software. A integração é necessária para dar suporte aos novos processos de negócios, reutilizando funcionalidades presentes nas suas aplicações atuais ou para sincronizar duas ou mais aplicações dentro de seus ecossistemas de software. Normalmente essas empresas possuem aplicações que foram desenvolvidas de forma independente, personalizadas ou adquiridas de terceiros, sem que tenham sido projetadas pensando em ser reutilizadas. Integrar aplicações empresariais é fazer com que diferentes aplicações que não foram concebidas tendo em mente sua integração, possam colaborar e dar suporte a processos de negócio. A computação em nuvem representa um novo paradigma no qual recursos como armazenamento e processamento podem ser acessados através da internet e consumidos sob demanda, reduzindo enormemente o custo das empresas em infraestrutura de TI. Seus principais tipos de serviço são: Infraestrutura como um serviço (IaaS), Plataforma como um serviço (PaaS) e Software como um serviço (SaaS). IaaS é definida como a contratação de recursos computacionais como um serviço, tais como: servidores, roteadores, ou sistemas de armazenamento. PaaS consiste em disponibilizar plataformas de desenvolvimento de software utilizando os recursos da infraestrutura da computação em nuvem, como por exemplo, frameworks e linguagens de programação. SaaS busca disponibilizar softwares pelos quais os usuários pagam por seu uso e não por sua licença e que estão disponíveis para serem acessados através de um navegador web. Implantar soluções de integração em servidores de computação em nuvem é uma tarefa complicada, pois atualmente existem diversos provedores e cada um possui diferentes planos de serviço, tornando difícil a escolha de qual plano melhor se ajusta às necessidades de uma solução de integração e que seja economicamente mais vantajoso. Portanto, é essencial conhecer as características destes provedores e seus planos de serviço. A pesquisa desenvolvida neste trabalho buscou identificar um conjunto de propriedades, que foram classificadas em quatro categorias. A partir destas propriedades buscou-se construir um framework de comparação de provedores de computação em nuvem, desde uma perspectiva de integração de aplicações. A primeira categoria agrupa propriedades comuns entre os tipos de serviço, ou seja, estão presentes nos serviços de IaaS, PaaS e SaaS. A segunda categoria agrupa as propriedades relacionadas com o serviço de infraestrutura. A terceira categoria agrupa as propriedades relacionadas com o serviço de plataforma. A quarta categoria agrupa as propriedades relacionadas com o serviço de software. Com o objetivo de validar o framework, foram comparados três provedores de computação em nuvem com ampla utilização em escala global, sendo eles: Amazon, Google e Microsoft. A realização desta pesquisa está dividida em três etapas. A primeira etapa consiste em uma revisão da literatura sobre integração de aplicações empresariais e computação em nuvem, a partir de bases bibliográficas de artigos científicos e livros especializados nos temas da pesquisa. A segunda etapa abrange um estudo detalhado dos sites dos principais provedores de computação em nuvem, com o objetivo de extrair informações a serem

56 utilizadas no desenvolvimento do framework de comparação e também na comparação entre os provedores. A terceira etapa centra-se na elaboração do framework de comparação e na sua validação a fim de obter dados de provedores de computação em nuvem e analisá-los. A partir da análise dos valores obtidos ao comparar os provedores Amazon, Google e Microsoft concluímos que o provedor Amazon possui maior vantagem para implantação de soluções de integração de aplicações empresariais. Este provedor, disponibiliza maior quantidade de planos de serviço para contratação. Possui maior variedade de tipos de instancias a serem escolhidos, os quais contemplam as principais necessidades de uma integração como por exemplo, instancias específicas para alto desempenho em processamento, armazenamento e memória. Também existem mais recursos de segurança disponíveis, por exemplo, detecção de intrusos, tolerância a falhas e criptografia.

57 Modalidade do trabalho: Relatório técnico-científico Evento: XXII Seminário de Iniciação Científica UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa de Iniciação em Desenvolvimento Tecnológico e Inovação desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI. 2 Bolsista PIBITI/CNPq, Ciência da Computação, 3 Professor Orientador, 4 Pesquisador Colaborador, 5 Pesquisador Colaborador, Introdução Frequentemente as empresas precisam integrar as aplicações existentes em seus ecossistemas de software. A integração é necessária para dar suporte aos novos processos de negócios, reutilizando funcionalidades presentes nas suas aplicações atuais ou para sincronizar duas ou mais aplicações dentro de seus ecossistemas de software. Normalmente essas empresas possuem aplicações que foram desenvolvidas de forma independente, personalizadas ou adquiridas de terceiros, sem que tenham sido projetadas pensando em ser reutilizadas. Integrar aplicações empresariais é fazer com que diferentes aplicações que não foram concebidas tendo em mente sua integração, possam colaborar e dar suporte à processos de negócio (HOHPE, WOOLF, 2003). A computação em nuvem representa um novo paradigma no qual recursos como armazenamento e processamento podem ser acessados através da internet e consumidos sob demanda, reduzindo enormemente o custo das empresas em infraestruturas de TI de alta capacidade (ZHANG, CHENG, BOUTABA, 2010). Os serviços de computação em nuvem são divididos em: Infraestrutura como um Serviço (IaaS), Plataforma como um Serviço (PaaS) e Software como um Serviço (SaaS). IaaS é definida como a contratação de recursos computacionais gerais, tais como: servidores, roteadores, ou sistemas de armazenamento (GIBSON et al., 2012). PaaS consiste em disponibilizar plataformas de desenvolvimento de software utilizando os recursos da infraestrutura da computação em nuvem, como por exemplo, frameworks e linguagens de programação (JADEJA, MODI, 2012). SaaS busca disponibilizar softwares para usuários finais, pelos quais os usuários pagam por seu uso e não por sua licença, sendo os softwares acessados através de um navegador web (GONG et al., 2010).

58 Modalidade do trabalho: Relatório técnico-científico Evento: XXII Seminário de Iniciação Científica Implantar soluções de integração em servidores de computação em nuvem é uma tarefa complicada, pois atualmente existem diversos provedores e cada um possui uma variedade enorme de planos de serviço, tornando difícil a escolha de qual plano melhor se ajusta às necessidades de uma solução de integração e que seja economicamente mais vantajoso. Portanto, é essencial conhecer as características destes provedores e seus planos de serviço, reduzindo assim os custos de implantação de soluções de integração na nuvem. Neste artigo propomos um framework para comparação de provedores de computação em nuvem. O framework proposto introduz uma série de propriedades que podem auxiliar na escolha de um provedor e plano de serviço. Com o objetivo de validar o framework, foram comparados três provedores de computação em nuvem com ampla utilização em escala global, sendo eles: Amazon, Google e Microsoft. Metodologia A realização desta pesquisa está dividida em três etapas. A primeira consiste na revisão da literatura sobre integração de aplicações empresariais e computação em nuvem, a partir de bases bibliográficas de artigos científicos e livros especializados nos temas da pesquisa. A segunda abrange um estudo detalhado dos sites dos principais provedores de computação em nuvem, com o objetivo de extrair informações a serem utilizadas no desenvolvimento do framework de comparação e também na comparação entre os provedores. A terceira centra-se na elaboração do framework de comparação e na sua validação a fim de obter dados de provedores de computação em nuvem e analisá-los. Resultados e Discussões Nesta seção apresenta-se o framework de comparação de provedores de computação em nuvem, seguido de um estudo de caso onde o framework é utilizado para comparação dos três provedores mais utilizados. A seguir, em função da restrição de espaço, apresenta-se um subconjunto de propriedades que podem ser utilizadas como base para a comparação dos provedores. Sistema operacional. Sistema que está em funcionamento em uma máquina virtual de IaaS ou então o sistema que está permitindo a execução de aplicações de PaaS ou SaaS. Os possíveis valores que podem assumir esta propriedade são: distribuições Linux ou versões do Windows Server. Serviço suportado. Tipos de serviço de computação em nuvem que cada provedor disponibiliza para contratação. Os possíveis valores para esta propriedade são: Infraestrutura como um Serviço (IaaS), Plataforma como um Serviço (PaaS) ou Software como um Serviço (SaaS). Forma de pagamento. Forma com que cada provedor realiza a cobrança dos serviços disponibilizados. Os possíveis valores para esta propriedade são: tempo de execução (pagamento é

59 Modalidade do trabalho: Relatório técnico-científico Evento: XXII Seminário de Iniciação Científica realizado pela capacidade computacional por hora ou por minuto, sem compromisso de uso ou pagamentos prévios), reserva de recursos (pagamento baixo, único e inicial para uma instância, sendo uma reserva por um determinado período de tempo), mensalidade, (compromisso mensal podendo ser de 6 ou 12 meses), ou pacotes (possui capacidade pré-determinada com pagamento a partir das opções de pacotes disponibilizadas). Forma de cobrança. Forma com que cada usuário realizara o pagamento pelo tempo que executar suas instancias. Os possíveis valores para esta propriedades são: hora ou minutos. Escalabilidade. Permite aumentar ou diminuir automaticamente a capacidade dos recursos computacionais. Os possíveis valores para esta propriedades são: sim (caso o provedor disponibilize serviços com escalabilidade) ou não (caso não disponibilize). Número de planos de serviço. Número de planos de serviço disponibilizados por cada provedor. Gerenciamento de máquinas virtuais. Forma como o usuário pode gerenciar suas máquinas virtuais localizadas em um servidor na nuvem. Esse gerenciamento é realizado a partir de imagens de sistemas operacionais. Os possíveis valores para esta propriedade são: imagens de sistemas operacionais personalizados ou imagens virtuais disponibilizadas pelos provedores. Segurança. Recursos de segurança que cada provedor disponibiliza para os usuários. Podem estar inclusos no custo do plano ou então serem cobrados a parte. Os possíveis valores para esta propriedade são: firewall, privacidade de dados, detecção de intrusos, tolerância a falhas ou monitoramento dos recursos. Tipos de instâncias. Instancias são servidores virtuais que podem executar aplicativos. São criadas a partir de um sistema operacional e de um tipo de instância. Os possíveis valores para esta propriedade são: propósito geral (disponibiliza equilíbrio entre os recursos), processamento (disponibiliza maior capacidade de processamento), memória (disponibiliza maior capacidade de memória), armazenamento (disponibiliza capacidade de armazenamento alta, com baixo custo e alto desempenho de entrada e saída), micro instâncias (disponibiliza instâncias com custo de aquisição reduzido e que oferecem menor capacidade de recursos). Para demonstrar o uso do framework de comparação introduzido neste artigo, foram escolhidos para caso de estudo três provedores de computação em nuvem com ampla utilização em escala global. Os provedores comparados com o framework proposto foram: Amazon, Google e Microsoft.

60 Modalidade do trabalho: Relatório técnico-científico Evento: XXII Seminário de Iniciação Científica Fonte: Próprio autor. A partir dos resultados na Tabela 1 é possível observar que todos os provedores disponibilizam os sistemas operacionais Linux e Windows, oferecendo também suporte aos três principais tipos de serviço de computação em nuvem e disponibilizam recursos de escalabilidade. Também há semelhança na forma de pagamento utilizada, todos os provedores comparados oferecem pagamento por tempo de execução, tendo como diferença as demais formas. Na Amazon é possível realizar pagamento por reserva de recursos. A Microsoft possui a forma de pagamento por mensalidade e o Google por pacote. A propriedade forma de cobrança no provedor Amazon é realizada por hora e dos provedores Microsoft e Google realizada por minuto de utilização. A quantidade de planos de serviço disponíveis em cada provedor possui grande diferença, pois na Amazon são disponibilizados 28 diferentes planos de serviços, enquanto na Microsoft encontramos 16 planos e na Google 15 planos disponíveis. Considerando os recursos de segurança, o provedor Amazon possui maior variedade de recursos que os demais provedores. Já com relação aos tipos de instancia é possível identificar que todos os provedores disponibilizam os tipos: propósito geral e de processamento. A Amazon também disponibiliza memória, armazenamento, processamento gráfico e micro instâncias. A Microsoft disponibiliza o tipo de instancia de memória. O provedor Google oferece também instancias de armazenamento. Os tipos de instâncias possuem características como preço, capacidade máxima e mínima de memória, núcleos de processamento, armazenamento e tipo de armazenamento. Conclusões Integrar aplicações empresariais é fazer com que diferentes aplicações que não foram concebidas tendo em mente sua integração, possam colaborar para dar suporte a um novo processo de negócio.

UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1

UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa

Leia mais

Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem

Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem Igor G. Haugg Bolsista PIBITI/CNPq Orientador: Dr. Rafael Z. Frantz Área de Pesquisa Integração de Aplicações Empresariais Computação

Leia mais

Rumo a Implantação de Soluções de Integração na Nuvem

Rumo a Implantação de Soluções de Integração na Nuvem Rumo a Implantação de Soluções de Integração na Nuvem Igor Haugg Bolsista PIBITI/CNPq Curso de Ciências da Computação Área de Pesquisa Integração de Aplicações Empresariais Computação em Nuvem Projeto

Leia mais

Modelagem Conceitual de uma Solução de Integração para o Processo de Rematrícula da Universidade Unijuí

Modelagem Conceitual de uma Solução de Integração para o Processo de Rematrícula da Universidade Unijuí Modelagem Conceitual de uma Solução de Integração para o Processo de Rematrícula da Universidade Unijuí Igor G. Haugg Bolsista PIBITI/CNPq Orientador: Dr. Rafael Z. Frantz Área de Pesquisa [ GCA Prof.

Leia mais

MODELAGEM DE UMA SOLUÇÃO DE INTEGRAÇÃO PARA O PROCESSO DE REMATRÍCULA DA UNIVERSIDADE UNIJUÍ 1

MODELAGEM DE UMA SOLUÇÃO DE INTEGRAÇÃO PARA O PROCESSO DE REMATRÍCULA DA UNIVERSIDADE UNIJUÍ 1 MODELAGEM DE UMA SOLUÇÃO DE INTEGRAÇÃO PARA O PROCESSO DE REMATRÍCULA DA UNIVERSIDADE UNIJUÍ 1 Igor G. Haugg 2, Rafael Z. Frantz 3, Fabricia Roos-Frantz 4, Sandro Sawicki 5. 1 Pesquisa de Iniciação em

Leia mais

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

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

Leia mais

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

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

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

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

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

Leia mais

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

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

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

Leia mais

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

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

Imagem Gustavo Santos. Observe Bombinhas SC.

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

Leia mais

Levantamento sobre Computação em Nuvens

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

Leia mais

Gerenciamento e Interoperabilidade de Redes

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

Leia mais

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

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

Leia mais

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

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

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

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

Leia mais

EXIN Cloud Computing Fundamentos

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

Leia mais

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

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

Leia mais

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar)

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) COMPUTAÇÃO EM NUVEM Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil Mih_nai@hotmail.com juliocesar@unipar.br Resumo. Este artigo contém a definição e citação

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

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

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

Leia mais

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

Características Básicas de Sistemas Distribuídos

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

Leia mais

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

Entendendo as camadas do cloud computing: Iaas, Paas e SaaS

Entendendo as camadas do cloud computing: Iaas, Paas e SaaS + segurança + economia + liberdade + disponibilidade + sustentabilidade + flexibilidade Entendendo as camadas do cloud computing: Iaas, Paas e SaaS As camadas da nuvem Nossa missão com este white paper

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

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM

UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM UMA VISÃO GERAL DA COMPUTAÇÃO EM NUVEM Ederson dos Santos Cordeiro de Oliveira 1, Tiago Piperno Bonetti 1, Ricardo Germano 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil edersonlikers@gmail.com,

Leia mais

Cloud Computing O novo paradigma de Custeio. Anderson Baldin Figueiredo Consultor

Cloud Computing O novo paradigma de Custeio. Anderson Baldin Figueiredo Consultor Cloud Computing O novo paradigma de Custeio Anderson Baldin Figueiredo Consultor O momento da 3ª. Plataforma $$$$$ $ Conceituando Cloud Computing Mas o que significa cloud computing mesmo? Cloud = Evolução

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM

ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM ANÁLISE COMPARATIVA DE API S PARA PORTABILIDADE EM NUVEM Ana Paula Cristina Ehlke Carrion 1, Tiago Volpato 1, Claudete Werner 1, Ricardo de Melo Germano 1, Gabriel Costa Silva 2 1 Universidade Paranaense

Leia mais

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

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

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

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

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

Leia mais

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

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

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Computação nas Nuvens. Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br

Computação nas Nuvens. Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br Computação nas Nuvens Diemesleno Souza Carvalho diemesleno.carvalho@ifms.edu.br Definição Definição Conjunto de recursos de TI (servidores, banco de dados, aplicações) disponibilizadas sob demanda por

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

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

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

Leia mais

Acelere a sua jornada à nuvem

Acelere a sua jornada à nuvem Boletim técnico Acelere a sua jornada à nuvem Arquitetura de nuvem convergente da HP Índice Uma nova computação para a empresa... 2 Evolua a sua estratégia de TI para incluir serviços da nuvem... 2 A nova

Leia mais

Convergência TIC e Projetos TIC

Convergência TIC e Projetos TIC TLCne-051027-P1 Convergência TIC e Projetos TIC 1 Introdução Você responde essas perguntas com facilidade? Quais os Projetos TIC mais frequentes? Qual a importância de BI para a venda de soluções TIC (TI

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

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

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

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2 Computação em Nuvem Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota Especialização em Redes e Segurança de Sistemas 2008/2 Pontifícia Universidade Católica do Paraná Curitiba, Abril de 2010

Leia mais

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

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

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Introdução a Computação nas Nuvens

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

Leia mais

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

Thalita Moraes PPGI Novembro 2007

Thalita Moraes PPGI Novembro 2007 Thalita Moraes PPGI Novembro 2007 A capacidade dos portais corporativos em capturar, organizar e compartilhar informação e conhecimento explícito é interessante especialmente para empresas intensivas

Leia mais

actualtests.exin.ex0-116.2012.04.13.by.getitcert_português

actualtests.exin.ex0-116.2012.04.13.by.getitcert_português actualtests.exin.ex0-116.2012.04.13.by.getitcert_português Number: 000-000 Passing Score: 650 Time Limit: 60 min File Version: 1.0 http://www.gratisexam.com/ WWW.GETITCERT.COM Get IT Certification Without

Leia mais

Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904

Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: SUSTENTABILIDADE EM COMPUTAÇÃO EM NUVEM: IMPLANTAÇÃO DE UMA INFRAESTRUTURA EUCALYPTUS E DESENVOLVIMENTO

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

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

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

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

Leia mais

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

CLOUD COMPUTING. Gustavo Matos Rodrigues 1 Leandro Panatta Vissentini 1 Sandy Júnior Sagiorato 1 Victor Daniel Scandolara 1 Eva Lourdes Pires 2

CLOUD COMPUTING. Gustavo Matos Rodrigues 1 Leandro Panatta Vissentini 1 Sandy Júnior Sagiorato 1 Victor Daniel Scandolara 1 Eva Lourdes Pires 2 CLOUD COMPUTING Gustavo Matos Rodrigues 1 Leandro Panatta Vissentini 1 Sandy Júnior Sagiorato 1 Victor Daniel Scandolara 1 Eva Lourdes Pires 2 Resumo: Este artigo tem como objetivo falar da computação

Leia mais

Soluções em Mobilidade

Soluções em Mobilidade Soluções em Mobilidade Soluções em Mobilidade Desafios das empresas no que se refere a mobilidade em TI Acesso aos dados e recursos de TI da empresa estando fora do escritório, em qualquer lugar conectado

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

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

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

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

Computação em Nuvem: Riscos e Vulnerabilidades

Computação em Nuvem: Riscos e Vulnerabilidades Computação em Nuvem: Riscos e Vulnerabilidades Bruno Sanchez Lombardero Faculdade Impacta de Tecnologia São Paulo Brasil bruno.lombardero@gmail.com Resumo: Computação em nuvem é um assunto que vem surgindo

Leia mais

monitoramento unificado

monitoramento unificado DOCUMENTAÇÃO TÉCNICA monitoramento unificado uma perspectiva de negócios agility made possible sumário resumo executivo 3 Introdução 3 Seção 1: ambientes de computação emergentes atuais 4 Seção 2: desafios

Leia mais

Transformação da Indústria

Transformação da Indústria Conceitos Transformação da Indústria Hoje Cloud Anos 2000 Web Anos 1990 Cliente / Servidor Anos 1970 e 80 Mainframe Novas possibilidades O momento atual do país é favorável para que as empresas passem

Leia mais

Nuvem UFRGS: IaaS como ferramenta de apoio à pesquisa

Nuvem UFRGS: IaaS como ferramenta de apoio à pesquisa Nuvem UFRGS: IaaS como ferramenta de apoio à pesquisa Éverton Didoné Foscarini, Rui de Quadros Ribeiro Universidade Federal do Rio Grande do Sul Centro de Processamento de Dados Rua Ramiro Barcelos, 2574

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB.

IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. IMPLANTAÇÃO DE UM AMBIENTE DE ALTA DISPONIBILIDADE DE REDE E MONITORAÇÃO DINÂMICA DE INFRAESTRUTURA EM SERVIDORES WEB. Marllus de Melo Lustosa (bolsista do PIBIC/UFPI), Luiz Cláudio Demes da Mata Sousa

Leia mais

Computação em Nuvem (Cloud Computing)

Computação em Nuvem (Cloud Computing) Computação em Nuvem (Cloud Computing) Prof. Ricardo J. Rabelo UFSC Universidade Federal de Santa Catarina DAS Departamento de Automação e Sistemas Introdução Os modelos ASP e SaaS têm sido hoje usados

Leia mais

Agenda CLOUD COMPUTING I

Agenda CLOUD COMPUTING I Agenda O que é Cloud Computing? Atributos do Cloud Computing Marcos do Cloud Computing Tipos do Cloud Computing Camadas do Cloud computing Cloud Computing Tendências O Cloud Computing do Futuro Pros &

Leia mais

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA QUALQUER TIPO DE USUÁRIO Gustavo Henrique Rodrigues Pinto Tomas 317624 AGENDA Introdução: Cloud Computing Modelos de Implementação Modelos de Serviço Eucalyptus

Leia mais

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g

COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g COMPUTAÇÃO EM GRID COM BANCO DE DADOS ORACLE 10g Daniel Murara Barcia Especialista em Sistemas de Informação Universidade Federal do Rio Grande do Sul daniel@guaiba.ulbra.tche.br Resumo. Esse artigo aborda

Leia mais

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 PRESIDÊNCIA DA REPÚBLICA Gabinete de Segurança Institucional Departamento de Segurança da Informação ORIGEM e Comunicações Departamento de Segurança da Informação e

Leia mais

Cloud Computing. Provendo valor ao negócio através da Gerência de Serviços Automatizada. Gerson Sakamoto gsakamoto@br.ibm.com

Cloud Computing. Provendo valor ao negócio através da Gerência de Serviços Automatizada. Gerson Sakamoto gsakamoto@br.ibm.com Cloud Computing Provendo valor ao negócio através da Gerência de Serviços Automatizada Gerson Sakamoto gsakamoto@br.ibm.com 1 Definição de Computação em Nuvem Computação em Nuvem é um novo modelo de aquisição

Leia mais

Dez fatos inteligentes que você deve saber sobre storage

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

Leia mais

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

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento

Computação em Nuvem. (Cloud Computing) Pesquisa & Desenvolvimento Computação em Nuvem (Cloud Computing) Pesquisa & Desenvolvimento Santo André: 20 de fevereiro de 2013 Características de um bom Data Center Bom Desempenho Escalabilidade Alta Disponibilidade Economia Gerência

Leia mais

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

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

Leia mais

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

ARQUITETURA TRADICIONAL

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

Leia mais

Tendências em TI Aula: 01 versão: 1.1 30/06/2014

Tendências em TI Aula: 01 versão: 1.1 30/06/2014 Tendências em TI Aula: 01 versão: 1.1 30/06/2014 Robson Vaamonde http://www.vaamonde.com.br http://www.procedimentosemti.com.br Professor do Curso Prof. Robson Vaamonde, consultor de Infraestrutura de

Leia mais

TÍTULO: SEGURANÇA DA INFORMAÇÃO E ESTRUTURA DA SOLUÇÃO DA COMPUTAÇÃO EM NUVEM IMPLANTADA EM UMA EMPRESA DO ESTADO DE SÃO PAULO

TÍTULO: SEGURANÇA DA INFORMAÇÃO E ESTRUTURA DA SOLUÇÃO DA COMPUTAÇÃO EM NUVEM IMPLANTADA EM UMA EMPRESA DO ESTADO DE SÃO PAULO Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: SEGURANÇA DA INFORMAÇÃO E ESTRUTURA DA SOLUÇÃO DA COMPUTAÇÃO EM NUVEM IMPLANTADA EM UMA EMPRESA

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

Cisco Intelligent Automation for Cloud

Cisco Intelligent Automation for Cloud Dados técnicos do produto Cisco Intelligent Automation for Cloud Os primeiros a adotarem serviços com base em nuvem buscavam uma economia de custo maior que a virtualização e abstração de servidores podiam

Leia mais

Constate todo o potencial de aplicações Java virtualizadas

Constate todo o potencial de aplicações Java virtualizadas Um White Paper da Oracle Abril de 2010 Constate todo o potencial de aplicações Java virtualizadas Oracle WebLogic Server Virtual Edition Oracle Virtual Assembly Builder O Oracle WebLogic Server Virtual

Leia mais

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 4 Infra-Estrutura de TI: Hardware e Software 2 1 OBJETIVOS

Leia mais

PROCESSAMENTO DE DADOS 15/08

PROCESSAMENTO DE DADOS 15/08 PROCESSAMENTO DE DADOS 15/08 Coletar Informática Armazenar Disseminar Dados DADOS Elementos conhecidos de um problema INFORMAÇÃO Um conjunto estruturado de dados transmitindo conhecimento. Novas Tecnologias

Leia mais

Automatizando o Data Center

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

Leia mais

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

Iniciativa CDC RNP. Projeto CDC Piloto Huawei Encontro sobre Computação em Nuvem UNICAMP, 07 de abril de 2014

Iniciativa CDC RNP. Projeto CDC Piloto Huawei Encontro sobre Computação em Nuvem UNICAMP, 07 de abril de 2014 Iniciativa CDC RNP Projeto CDC Piloto Huawei Encontro sobre Computação em Nuvem UNICAMP, 07 de abril de 2014 Sumário Programa de Computação em Nuvem da RNP Iniciativa CDC RNP Estratégia Piloto Huawei Programa

Leia mais

GVGO Grupo 3. Perguntas & Respostas. Peer-to-Peer & Cloud Computing. Peer to Peer

GVGO Grupo 3. Perguntas & Respostas. Peer-to-Peer & Cloud Computing. Peer to Peer Perguntas & Respostas Peer to Peer GVGO Grupo 3 Peer-to-Peer & Cloud Computing 1. O BitTorrent (rede P2P desestruturada) utiliza um tracker centralizado para cada swarm. Cite três propriedades que as redes

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