Uma abordagem para testes de desempenho de microservices

Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2016. === Made available in DSpace on 2017-06-27T04:06:49Z (GMT). No. of bitstreams: 1 346332.pdf: 1717247 bytes, checksum: 110e4bdc3b5f8dcc17864c38...

Full description

Bibliographic Details
Main Author: Camargo, André Stangarlin de
Other Authors: Universidade Federal de Santa Catarina
Format: Others
Language:Portuguese
Published: 2017
Subjects:
Online Access:https://repositorio.ufsc.br/xmlui/handle/123456789/176664
Description
Summary:Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2016. === Made available in DSpace on 2017-06-27T04:06:49Z (GMT). No. of bitstreams: 1 346332.pdf: 1717247 bytes, checksum: 110e4bdc3b5f8dcc17864c38b96df67b (MD5) Previous issue date: 2016 === Em aplicações de grande porte é essencial reduzir o acoplamento entre módulos. Dessa forma, é possível reduzir o impacto das alterações em componentes distintos, bem como aprimorá-los de forma independente. Assim, surgiu o conceito de microservices, apresentado como uma alternativa ao modelo tradicional, conhecido como aplicações monolíticas. O modelo tradicional é criticado devido à difícil manutenção e evolução, ocasionada pelo elevado grau de acoplamento entre os componentes (FOWLER-LEWIS, 2014).A arquitetura de microservices prevê a separação de uma aplicação em um conjunto de serviços de menor complexidade, cada qual executando de forma independente e utilizando protocolos simples para comunicação, como HTTP (FOWLER-LEWIS, 2014). O modelo vem sendo amplamente utilizado, principalmente pela facilidade na manutenção e evolução das aplicações. A adoção desse modelo de arquitetura acaba por transformar uma única aplicação monolítica em um conjunto de serviços (NEWMAN, 2015), que tende a crescer com a adição de novas funcionalidades.No âmbito de microservices, existe a necessidade de prover garantias de Qualidade de Serviço (QoS), em relação a requisitos não funcionais como: disponibilidade, confiança, segurança e desempenho (MANI-NAGARAJAN, 2002). Em se tratando especificamente do campo desempenho, é necessário conhecer a capacidade e o tempo de resposta de um serviço para que se possa avaliar melhorias e correções sob a perspectiva dessas métricas.A proposta do presente trabalho é definir um modelo arquitetural que possa automatizar os testes de desempenho dos serviços em um conjunto de microservices. O problema foi endereçado à arquitetura de microservices em virtude desta representar o contexto no qual o conhecimento da capacidade dos serviços é de extrema importância, sobretudo devido à dinamicidade que os8serviços possuem, sendo que novas mudanças e funcionalidades tendem a alterar a capacidade do serviço.Com base na arquitetura proposta foi desenvolvido um framework que implementa os conceitos propostos pela arquitetura. A avaliação do framework demonstrou que o mesmo pode ser utilizado sem qualquer prejuízo ao desempenho do serviço.