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.
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).
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 Ama- zon. 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.
47
Referências
AHN, H.; KANG, S. Analysis of software product line architecture representation mechanisms. In: IEEE. Software Engineering Research, Management and Applications
(SERA), 2011 9th International Conference on. [S.l.], 2011. p. 219–226. Citado na página
30.
AOYAMA, M.; KURONO, N. An extended orthogonal variability model for metadata- driven multitenant cloud services. In: IEEE. Software Engineering Conference (APSEC,
2013 20th Asia-Pacific. [S.l.], 2013. v. 1, p. 339–346. Citado na página 13.
BERGER, T. et al. A study of variability models and languages in the systems software domain. IEEE, 2013. Citado na página 30.
BOSCH, J. et al. Variability issues in software product lines. In: Software Product-Family
Engineering. [S.l.]: Springer, 2002. p. 13–21. Citado na página 30.
CIRNE, W. Grids computacionais: Arquiteturas, tecnologias e aplicações. III ERAD-Escola
Regional de Alto Desempenho, Santa Maria, RS, 2003. 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. 200–222, 2001. Citado na página 27.
FRANTZ, R.; CORCHUELO, R. Integración de aplicaciones. In: Proceedings of the
Zoco07 Workshop. [S.l.: s.n.], 2007. p. 65–75. Citado na página 15.
GIBSON, J. et al. Benefits and challenges of three cloud computing service models. In:
CASoN. [S.l.: s.n.], 2012. p. 198–205. 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), 2010 39th International Conference on. [S.l.], 2010. p. 275–279.
Citado 3 vezes nas páginas 11, 24e 27.
HOHPE, G.; WOOLF, B. Enterprise integration patterns: Designing, building, and
deploying messaging solutions. [S.l.]: Addison-Wesley Professional, 2004. Citado 8 vezes
nas páginas 11, 15,16, 17, 18, 19, 20 e21.
IOSUP, A.; YIGITBASI, N.; EPEMA, D. On the performance variability of production cloud services. In: IEEE. Cluster, Cloud and Grid Computing (CCGrid), 2011 11th
IEEE/ACM International Symposium on. [S.l.], 2011. p. 104–113. 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.], 2012. p. 877–880. Citado 2 vezes nas páginas 11e 27.
KANG, K. C. et al. Feature-oriented domain analysis (FODA) feasibility study. [S.l.], 1990. Citado na página 30.
Referências 48
LINDEN, F. V. D.; POHL, K. Software Product Line Engineering: Foundations,
Principles, and Techniques. [S.l.]: Stuttgart: Springer, 2005. Citado 2 vezes nas páginas
30e 31.
MATTOS, D. M. F. Virtualização: Vmware e xen. Universidade Federal do Rio de Janeiro, 2008. 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.], 2009. p.
23–27. Citado na página 12.
PEZZINI, M.; LHEUREUX, B. Integration platform as a service: moving integration to the cloud. Gartner, 2011. Citado 2 vezes nas páginas 28e 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. 2014. 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.], 2013. p. 21–26. Citado na página 12.
ROOS-FRANTZ, F. Automated analysis of software product lines with orthogonal variability models. 2011. Citado 4 vezes nas páginas 7,30, 31e 32.
ROOS-FRANTZ, F.; BENAVIDES, D. Automated analysis of orthogonal variability models using constraint programming. In: . [S.l.: s.n.], 2010. Citado 2 vezes nas páginas 31e 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, 2010. Citado 6 vezes nas páginas 11, 23, 24,26, 27e 28.
XXVI CONGRESSO REGIONAL DE INICIAÇÃO CIENTÍFICA E TECNOLÓGICA EM ENGENHARIA – CRICTE 2014
8 a 10 de outubro de 2014 – Alegrete – RS – Brasil
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, frfrantz}@unijui.edu.br
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 2014
8 a 10 de outubro de 2014 – Alegrete – RS – Brasil
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 2014
8 a 10 de outubro de 2014 – Alegrete – RS – Brasil
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.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 2.
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.3 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 2014
8 a 10 de outubro de 2014 – Alegrete – RS – Brasil
e software para armazenamento de arquivos são opcionais.
Figura 4. Modelo PaaS.
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.
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. 1611–1640, 2013.
GIBSON, J.; RONDEAU, R.; EVELEIGH, D.; TAN, Q.. Benefits and challenges of three cloud computing service models. CASoN, p. 198–205, 2012.
GONG, C.; LIU, J.; ZHANG, Q.; CHEN, H.; GONG, Z.. The characteristics of cloud computing. Int. Conf. on Par. Proc. Workshops, p. 275–279, 2010.
IOSUP, A.; YIGITBASI, N.; EPEMA, D.. On the performance variability of production cloud services. Int. Symp. on Cluster, Cloud and Grid Comp. p. 104–113, 2011. JADEJA, Y.; MODI, K.. Cloud computing- concepts, architecture and challenges. Int. Conf. on Comp. Electr. and Electrical Tech., p. 877–880, 2012.
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. 23–27, 2009.
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. 21–26, 2013.
ROOS-FRANTZ, F.; BENAVIDES, D..
Automated analysis of orthogonal variability models using constraint programming. First Workshop on Analyses of Software Product Lines, p. 243 – 248, 2010.
ZHANG, Q.; CHENG, L.; BOUTABA, R.. Cloud computing: state-of-the-art and research challenges. Journal of internet services and applications, p. 7–18, 2010.
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, 3000. 98700-000, Ijuí – RS – Brasil
[email protected],[email protected]
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
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