使用日志分析提取微服务依赖

Andres Osamu Rodriguez Ishida, K. Kontogiannis, C. Brealey
{"title":"使用日志分析提取微服务依赖","authors":"Andres Osamu Rodriguez Ishida, K. Kontogiannis, C. Brealey","doi":"10.1109/STC55697.2022.00020","DOIUrl":null,"url":null,"abstract":"Microservice architecture is an architectural style that supports the design and implementation of very scalable systems by distributing complex functionality to highly granular components. These highly granular components are referred to as microservices and can be dynamically deployed on Docker containers. These microservice architecture systems are very extensible since new microservices can be added or replaced as the system evolves. In such highly granular architectures, a major challenge that arises is how to quickly identify whether any changes in the system’s structure violates any policies or design constraints. Examples of policies and design constraints include whether a microservice can call or pass data to another microservice, and whether data handled by one microservice can be stored in a specific database. In order to perform such type of analysis a model that denotes call and data dependencies between microservices must be constructed. In this paper, we present a technique that is based on log analysis and probabilistic reasoning to yield a labeled, typed, directed multigraph that represents call and data exchanges between microservices in a given deployment. This dependency graph can serve as input to analysis engines to be used for identifying design and policy violations as the system evolves or being updated. The proposed dependency graph creation approach has been applied to a medium size open source microservice system with very promising results.","PeriodicalId":170123,"journal":{"name":"2022 IEEE 29th Annual Software Technology Conference (STC)","volume":"51 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Extracting Micro Service Dependencies Using Log Analysis\",\"authors\":\"Andres Osamu Rodriguez Ishida, K. Kontogiannis, C. Brealey\",\"doi\":\"10.1109/STC55697.2022.00020\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Microservice architecture is an architectural style that supports the design and implementation of very scalable systems by distributing complex functionality to highly granular components. These highly granular components are referred to as microservices and can be dynamically deployed on Docker containers. These microservice architecture systems are very extensible since new microservices can be added or replaced as the system evolves. In such highly granular architectures, a major challenge that arises is how to quickly identify whether any changes in the system’s structure violates any policies or design constraints. Examples of policies and design constraints include whether a microservice can call or pass data to another microservice, and whether data handled by one microservice can be stored in a specific database. In order to perform such type of analysis a model that denotes call and data dependencies between microservices must be constructed. In this paper, we present a technique that is based on log analysis and probabilistic reasoning to yield a labeled, typed, directed multigraph that represents call and data exchanges between microservices in a given deployment. This dependency graph can serve as input to analysis engines to be used for identifying design and policy violations as the system evolves or being updated. The proposed dependency graph creation approach has been applied to a medium size open source microservice system with very promising results.\",\"PeriodicalId\":170123,\"journal\":{\"name\":\"2022 IEEE 29th Annual Software Technology Conference (STC)\",\"volume\":\"51 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2022 IEEE 29th Annual Software Technology Conference (STC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/STC55697.2022.00020\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 29th Annual Software Technology Conference (STC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/STC55697.2022.00020","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

微服务架构是一种架构风格,它通过将复杂的功能分布到高度细粒度的组件中来支持可扩展性很强的系统的设计和实现。这些高度细粒度的组件被称为微服务,可以动态地部署在Docker容器上。这些微服务体系结构系统具有很强的可扩展性,因为随着系统的发展,可以添加或替换新的微服务。在这种高度细粒度的体系结构中,出现的主要挑战是如何快速识别系统结构中的任何更改是否违反了任何策略或设计约束。策略和设计约束的例子包括微服务是否可以调用或传递数据给另一个微服务,以及一个微服务处理的数据是否可以存储在特定的数据库中。为了执行这种类型的分析,必须构造一个表示微服务之间的调用和数据依赖关系的模型。在本文中,我们提出了一种基于日志分析和概率推理的技术,以产生一个标记的、类型的、定向的多图,该多图表示给定部署中微服务之间的调用和数据交换。此依赖关系图可以作为分析引擎的输入,用于在系统发展或更新时识别设计和策略违规。所提出的依赖图创建方法已经应用于一个中等规模的开源微服务系统,并取得了很好的效果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Extracting Micro Service Dependencies Using Log Analysis
Microservice architecture is an architectural style that supports the design and implementation of very scalable systems by distributing complex functionality to highly granular components. These highly granular components are referred to as microservices and can be dynamically deployed on Docker containers. These microservice architecture systems are very extensible since new microservices can be added or replaced as the system evolves. In such highly granular architectures, a major challenge that arises is how to quickly identify whether any changes in the system’s structure violates any policies or design constraints. Examples of policies and design constraints include whether a microservice can call or pass data to another microservice, and whether data handled by one microservice can be stored in a specific database. In order to perform such type of analysis a model that denotes call and data dependencies between microservices must be constructed. In this paper, we present a technique that is based on log analysis and probabilistic reasoning to yield a labeled, typed, directed multigraph that represents call and data exchanges between microservices in a given deployment. This dependency graph can serve as input to analysis engines to be used for identifying design and policy violations as the system evolves or being updated. The proposed dependency graph creation approach has been applied to a medium size open source microservice system with very promising results.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
On the Detection of Performance Regression Introducing Code Changes: Experience from the Git Project AI Assurance for the Public – Trust but Verify, Continuously Bayesian Approach for Regression Testing (BART) using Test Suite Prioritization Model-Agnostic Scoring Methods for Artificial Intelligence Assurance Project Features That Make Machine-Learning Based Fault Proneness Analysis Successful
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1