Name: | Description: | Size: | Format: | |
---|---|---|---|---|
4.06 MB | Adobe PDF |
Abstract(s)
O mundo vive, ao dia de hoje, de forma global, um desenvolvimento sem precedentes. Os sistemas distribuídos ganham novas dinâmicas e surgem como resposta premente e necessária à realidade vigente. Mais do que nunca, a indústria de software tem o dever de garantir uma alta produtividade dos seus engenheiros e uma alta satisfação aos seus clientes. Tem havido uma procura crescente por parte dos utilizadores e um aumento de novos estilos arquitetónicos.
Atualmente, as aplicações têm de ser altamente escaláveis e disponíveis. As novas formas arquitetónicas de software trouxeram às empresas o desafio de fornecer serviços ininterruptos com fatores de Qualidade de Serviço (QoS) garantidos. As estruturas de monitorização existentes, muitas vezes, não detetam anomalias críticas entre um grande volume de dados gerados, afetando, deste modo, os tempos de resposta de recuperação e a utilização de recursos humanos de manutenção. Além disso, o rastreio manual das causas das anomalias requer períodos de tempo significativo.
Os trabalhos já realizados revelam a escassez de conjuntos de dados públicos para microserviços, associada à falta de benchmarks confiáveis. Ademais, destacam a necessidade de investigar se as métricas de desempenho dos serviços comumente utilizadas na indústria, em arquiteturas de microserviços, são suficientes para que os modelos propostos detectem anomalias. Neste contexto, o objetivo deste trabalho é detectar anomalias em aplicações com arquiteturas baseadas em microserviços, por meio de dados métricos de monitorização de desempenho e confiabilidade dos serviços.
Esta dissertação constrõi três novos conjuntos de dados a partir de uma aplicação de software em microserviços. Para isso, foi criada uma aplicação em microserviços, um modelo para a geração de anomalias artificiais e foram coletados dados de monitorização de desempenho e confiabilidade dos serviços. O modelo de geração de anomalias criou anomalias ao nível aplicacional e ao nível do serviço. Com base nisso, foram gerados três conjuntos de dados:
com anomalias ao nível aplicacional, com anomalias ao nível do serviço e, por fim, um ao nível do serviço com o identificador do serviço responsável por cada registro armazenado.
O desempenho de três algoritmos de Machine Learning supervisionada - Multi-Layer Perceptron (MLP), k -Nearest Neighbors (k -NN) e Random Forest (RF) - na detecção de anomalias nos três conjuntos de dados criados foi avaliada. Os resultados mostraram que o Random Forest foi o modelo que obteve os melhores resultados nos três conjuntos de dados. Sendo o modelo mais eficaz na detecção de anomalias a nível aplicacional e a nível de serviço, a partir dos dados de monitorização de desempenho e confiabilidade dos serviços. Além disso, é também o modelo que melhor se destacou na identificação do serviço anomalo.
In today’s global context, unprecedented development reshapes the world, with distributed systems emerging as a crucial response to evolving dynamics. The software industry faces a duty to ensure high engineering productivity and client satisfaction amidst rising user demands and new architectural styles. Contemporary applications demand high scalability and availability, posing a challenge for companies to ensure uninterrupted service delivery with guaranteed Quality of Service (QoS) metrics. Current monitoring frameworks frequently encounter difficulties in identifying anomalies within vast datasets, affecting response times and human resource efficiency. Manual tracing necessitates substantial time investment. Previous research reveals a scarcity of public datasets for microservices and a lack of reliable benchmarks. Investigating whether commonly used performance metrics in the industry for microservices architectures are sufficient for the proposed models to detect anomalies is crucial. This work aims to detect anomalies in microservices architectures using performance and reliability monitoring metrics. The dissertation proposes constructing three datasets from a microservices-based software application, using an application and a model for generating artificial anomalies. Performance and reliability monitoring data result in three datasets: one with application-level anomalies, one with service-level anomalies, and a service-level dataset with the identifier of the responsible service for each record. The performance of three supervised machine learning algorithms – Multi-Layer Perceptron (MLP), k -Nearest Neighbors (k -NN) and Random Forest (RF) – in detecting anomalies across the three datasets was qualitatively evaluated. The results show that Random Forest was the most effective model in detecting anomalies at both application and service levels using performance and reliability monitoring data, and it excelled in identifying the anomalous service.
In today’s global context, unprecedented development reshapes the world, with distributed systems emerging as a crucial response to evolving dynamics. The software industry faces a duty to ensure high engineering productivity and client satisfaction amidst rising user demands and new architectural styles. Contemporary applications demand high scalability and availability, posing a challenge for companies to ensure uninterrupted service delivery with guaranteed Quality of Service (QoS) metrics. Current monitoring frameworks frequently encounter difficulties in identifying anomalies within vast datasets, affecting response times and human resource efficiency. Manual tracing necessitates substantial time investment. Previous research reveals a scarcity of public datasets for microservices and a lack of reliable benchmarks. Investigating whether commonly used performance metrics in the industry for microservices architectures are sufficient for the proposed models to detect anomalies is crucial. This work aims to detect anomalies in microservices architectures using performance and reliability monitoring metrics. The dissertation proposes constructing three datasets from a microservices-based software application, using an application and a model for generating artificial anomalies. Performance and reliability monitoring data result in three datasets: one with application-level anomalies, one with service-level anomalies, and a service-level dataset with the identifier of the responsible service for each record. The performance of three supervised machine learning algorithms – Multi-Layer Perceptron (MLP), k -Nearest Neighbors (k -NN) and Random Forest (RF) – in detecting anomalies across the three datasets was qualitatively evaluated. The results show that Random Forest was the most effective model in detecting anomalies at both application and service levels using performance and reliability monitoring data, and it excelled in identifying the anomalous service.
Description
Keywords
Anomaly detection Failure detection Microservices Multi-service applications Machine learning
Pedagogical Context
Citation
Nobre, João Artur Ventura Valério - Automatic anomaly detection in microservices-based systems [Em linha]. [S.l.]: [s.n.], 2024. 180 p.