Kuksa: A Cloud-Native Architecture for Enabling Continuous Delivery in the Automotive Domain
将车辆连接到云平台实现了创新的业务场景,同时提出了新的质量问题,例如可靠性和可扩展性,这些问题必须通过研究来解决。基于微服务的云原生架构是实现持续交付并提高服务可靠性和可扩展性的最新方法。我们提出了一种将汽车领域的云平台架构重组为微服务架构的方法。为此,我们采用并实现了文献中的微服务模式来设计云原生汽车架构,并在汽车领域的一个名为Eclipse Kuksa的真实项目中进行了实验室实验,以评估微服务的可靠性和可扩展性。研究结果表明,拟议的架构可以处理连续的软件交付在空中发送自动控制消息的车辆设置。不同的模式使我们能够进行更改或中断服务,而不会将影响扩展到其他人。这项研究的结果提供了证据,表明微服务是一种潜在的设计解决方案,可以处理汽车领域基于云的服务上的服务故障和高负载。
2019-10-22 cs.DC cs.SE
Insights on Microservice Architecture Through the Eyes of Industry Practitioners
本研究通过对53名国际软件从业者的混合方法研究,分析了单体系统向微服务迁移的驱动力、实施活动、数据一致性策略及挑战,揭示了相关实践痛点与云技术的支撑作用。
2024-08-19 cs.SE
Stepwise Migration of a Monolith to a Microservices Architecture: Performance and Migration Effort Evaluation
当今业务固有的敏捷性促进了软件架构的定义,其中业务实体被解耦为模块和/或服务。然而,具有丰富的领域模型是有优势的,其中领域实体紧密连接,因为它促进了最初的快速开发。另一方面,将业务逻辑拆分为模块和/或服务,通过定义良好的接口进行封装,以及引入服务间通信,都会带来性能方面的成本。在本文中,我们分析了使用富域对象将单体逐步迁移到微服务架构中,其中模块化单体架构用作中间步骤。这两个步骤对迁移工作和性能的影响都进行了测量。目前的技术水平分析了整体系统向微服务架构的迁移,但我们观察到,迁移工作和性能问题在迁移到模块化整体系统时已经很重要了。因此,为每个步骤建立了明确的区别,这可以告知软件架构师关于整体系统迁移的规划。特别是,做所有的迁移过程或只是迁移到一个模块化的整体的权衡。
2022-01-17 cs.SE
Informed and Assessable Observability Design Decisions in Cloud-native Microservice Applications
本文提出系统化的故障可观测性实验方法与工具 OXN,通过建模设计决策、量化指标、注入故障并调整配置,帮助评估云原生微服务可观测性方案的权衡。
2024-07-12 cs.SE
A Kubernetes Controller for Managing the Availability of Elastic Microservice Based Stateful Applications
微服务的架构风格近年来越来越受欢迎。在这种架构风格中,小型和松散耦合的模块被独立部署和扩展,以组成云原生应用程序。运营商级服务提供商正在将其遗留应用程序迁移到运行在Kubernetes上的基于微服务的架构,Kubernetes是一个用于编排基于容器化微服务的应用程序的开源平台。然而,在这种迁移中,服务可用性仍然是一个问题。服务可用性以服务配置时间的百分比来衡量。高可用性(HA)是指服务至少在99.999%的时间内可用。在本文中,我们确定了使用Kubernetes部署基于有状态微服务的应用程序的可能架构,并从其为托管应用程序提供的可用性角度评估Kubernetes。我们的实验结果表明,Kubernetes的修复动作不能满足HA要求,在某些情况下不能保证服务恢复。因此,我们提出了一个HA状态控制器,它与Kubernetes集成,并允许应用程序状态复制和自动服务重定向到健康的微服务实例,除了Kubernetes的修复操作之外,还支持服务恢复。基于实验,我们评估我们的解决方案,并从可用性和扩展开销的角度比较不同的架构。我们的调查结果表明,我们的解决方案可以将基于状态微服务的应用程序的恢复时间提高50%。
2020-12-28 cs.DC cs.SE
An Infrastructure Cost Optimised Algorithm for Partitioning of Microservices
针对现有微服务划分方法未考虑基础设施成本优化、迁移复杂度高且工具支持不足的问题,本文提出一种面向基础设施优化的预测算法,用于将单体软件划分为微服务,并指明了该领域的未来研究方向。
2024-08-13 cs.SE
MS2M: A message-based approach for live stateful microservices migration
在过去几年中,边缘和云计算基础设施的激增以及移动设备数量的增加促进了许多新颖应用的出现。然而,复杂性的增加也给服务提供商带来了新的挑战,例如,在运行时期间有效管理相互依赖的服务。一种策略是通过将服务迁移到合适的服务器来动态地重新分配服务。然而,并非每个微服务都可以部署为无状态实例,这导致实时迁移技术的性能不佳。在这项工作中,我们提出了一种新的实时迁移方案,专注于边缘和云环境中的有状态微服务,通过利用底层消息传递基础设施来重建服务的状态。这种方法不仅可以应用于各种微服务部署场景,实验评估结果还显示,与停止并复制迁移方法相比,停机时间减少了19.92%。
2022-03-14 cs.SE
From Monolithic Systems to Microservices: An Assessment Framework
上下文使用基于微服务的架构重新架构单片系统是一种常见的趋势。许多公司出于不同的原因迁移到微服务。然而,做出像重新架构整个系统这样重要的决定必须基于真实的事实,而不仅仅是直觉。Objective.这项工作的目标是为需要迁移到微服务的公司提出一个基于证据的决策支持框架,该框架基于对他们在重新构建其整体系统之前应该收集的一组特征和指标的分析。法我们设计了一个混合方法的方法,结合了系统的映射研究与调查的形式进行了访谈的专业人士得出的评估框架的基础上扎根理论。结果我们确定了一组信息和指标,公司可以使用这些信息和指标来决定是否迁移到微服务。基于上述指标的拟议评估框架可能对需要迁移到微服务的公司有用,并且不想冒不考虑一些重要信息的风险。
2021-04-15 cs.SE
Service Weaver: A Promising Direction for Cloud-native Systems?
该研究分析了谷歌Service Weaver框架,它通过类智能体组件构成的单模块化二进制文件简化云原生系统开发,虽能降低微服务架构构建开销,但目前存在缺少独立代码库、路由机制等特性的权衡。
2024-04-14 cs.ET cs.SE
Static analysis tools in the era of cloud-native systems
微服务通过独立开发和部署的小型服务集为云原生系统提供动力。这种模块化架构的独立性也导致了挑战和差距。预期的系统设计可能与最终生成和维护的系统设计相差甚远,因为体系结构往往会随着时间的推移而退化。本文向读者提出了静态分析如何有助于微服务系统开发和管理的挑战,特别是管理架构降级。它详细阐述了传统代码分析中的挑战和所需的变化,以更好地适应这些系统,并讨论了一旦强大的静态分析工具可用时对从业者的影响
2022-05-17 cs.SE
Does Migrate a Monolithic System to Microservices Decrease the Technical Debt?
背景从单体系统到微服务的迁移涉及系统的深度重构。因此,迁移通常会产生很大的经济影响,公司往往会在此过程中推迟几项活动,主要是为了加快迁移本身,但也是因为需要发布新功能。Objective.我们监测了一家中小型企业的技术债务,同时将一个遗留的单片系统迁移到微服务生态系统,以分析迁移到微服务之前和之后代码技术债务的变化。法我们进行了一个案例研究,分析了一个大项目(28万行代码)四年多的历史,其中两个团队从整体系统中提取了五个业务流程作为微服务,首先使用SonarQube分析技术债务,然后与开发人员进行定性研究,以了解系统的感知质量和最终推迟活动的动机。结果.从长远来看,微服务的发展有助于减少技术债务。尽管由于新微服务的发展,技术债务最初出现了峰值,但在相对较短的时间内,技术债务的增长速度往往比单片系统慢。
2020-07-04 cs.SE
Code Vectorization and Sequence of Accesses Strategies for Monolith Microservices Identification
将单体应用程序迁移到微服务架构中可以受益于自动化方法,这些方法可以加快迁移并改善分解结果。当前指导软件架构师进行迁移的方法之一是使用单体功能对域实体的访问序列将单体域实体分组为微服务。在本文中,我们丰富的访问序列的解决方案,通过应用代码向量化的单片,使用\textit{Code2Vec}神经网络模型。我们应用\textit{Code2Vec}来矢量化整体功能。我们提出了两种策略来表示功能,一个是通过聚合其调用图方法向量,另一个是通过扩展访问实体的向量化访问方法的序列。为了评估这些策略,我们将所提出的策略与访问策略的顺序和使用类向量化的现有方法进行比较。我们在一个大的代码库集上运行所有这些策略,然后比较它们的内聚性,耦合性和复杂性分解的结果。
2022-12-21 cs.SE
Development Frameworks for Microservice-based Applications: Evaluation and Comparison
微服务架构风格作为一种设计、开发和部署云原生应用程序的新方法,最近受到了学术界和工业界的广泛关注。这个概念鼓励将整体分解成多个可独立部署的单元。典型的基于微服务的应用程序由两种服务类型组成:功能服务,提供核心业务逻辑;基础设施服务,为微服务生态系统提供基本功能。为了提高开发人员的生产力,已经开发了许多软件框架来提供那些可重用的基础设施服务,允许程序员专注于以任意方式实现微服务。在这项工作中,我们使用了四个开源框架,以开发一个基于云的应用程序,以比较和评估他们的可用性和实用性。虽然所有选定的框架一般都促进异步微服务设计,但每个框架实现服务的方式都存在差异。这会导致互操作性问题,例如消息主题命名约定。此外,一个关键的发现是基于JVM的服务启动时间长,这可能会降低应用程序的弹性和可移植性。其他一些优势直接来自于程序设计语言,例如Go生成原生二进制可执行文件的能力,这会导致非常小和紧凑的Docker映像(与其他语言相比最多小78%)。
2022-03-14 cs.SE
Towards Change Impact Analysis in Microservices-based System Evolution
本文针对微服务系统演化中缺乏变更影响分析基础设施的问题,提出一种基于增量式软件架构重建的基础设施概念,并展示原型早期结果,以缓解变更跨服务传播的涟漪效应。
2025-01-20 cs.ET cs.SE
Towards Secure Management of Edge-Cloud IoT Microservices using Policy as Code
本文针对边缘-云多域环境中物联网微服务管理缺乏细粒度安全控制的问题,提出基于策略即代码的架构框架,利用控制平面动态配置云原生技术执行安全策略,并通过原型验证其有效性。
2024-06-28 cs.CR cs.DC cs.SE
Reviewing the Scope and Impact of Implementing a Modernised IT Event-Driven Architecture from Traditional Architecture using Agile Frameworks: A Case study of Bimodal operational strategy
提出和实施软件系统,特别是使用传统单片方法的电子商务Web应用程序已经成为常态,然而,随着新的用户需求迫使组织和开发人员向其系统添加更多功能,并且随着用户需求的增加,单片应用程序的性能下降,维护成本上升。这些问题需要一个更好的系统,这就是微服务事件驱动应用程序的用武之地。本文研究了迁移到微服务的范围和影响,使用敏捷框架和双模式IT策略。为了获得用于分析的定量数据,将单体和微服务网站的原型与开源指标Dropwizard和Apache JMeter集成,并收集响应时间和出错率读数。结果表明,当用户请求调用的数量在容忍范围内时,整体式具有更快的响应时间,优于微服务,但随着复杂性随着时间的推移而增加,并且用户请求调用增加,微服务似乎表现得更好。
2023-03-02 cs.SE
Microservices, Continuous Architecture, and Technical Debt Interest: An Empirical Study
持续架构(CA)是一种支持公司缩短交付间隔时间的方法。迁移到微服务是公司采用持续架构流程时最常见的情况之一[4]。公司通常采用初始迁移策略,利用简化的微服务模式从整体系统中提取一些组件作为微服务[5][4]。例如,公司通常直接将微服务连接到传统的单片系统,并且在开始时不采用任何消息总线。当系统开始变得越来越复杂时,他们通常会考虑不同的架构模式,重新构建系统。一些公司引入API网关模式来简化不同服务的管理和负载均衡,而另一些公司也考虑轻量级消息总线[4][5][6]。所有这些架构变化都需要对系统进行深度重构,从而增加了引入新故障的风险。在本文中,我们报告了正在进行的工作的初步结果,我们监测了采用CA方法的中小企业(SME =中小型企业)的TD,同时将传统的单片系统迁移到微服务生态系统。据我们所知,目前还没有关于推迟活动对TD的影响的研究,特别是在CA和微服务的背景下。这项工作将帮助公司了解TD如何随着时间的推移而增长和变化,同时为未来研究TD在持续架构过程中的兴趣分析开辟新的途径。
2018-10-25 cs.SE
Continuous Observability Assurance in Cloud-Native Applications
本文针对微服务应用中可观测性设计易出错且影响故障检测效率的问题,提出将可观测性实验工具 OXN 集成到持续可观测性保障方法中,以指导可观测性设计过程并展示其应用。
2025-03-11 cs.SE
Invariant-Driven Automated Testing
NOVA University of Lisbon(里斯本新大学);University of Minho(米尼奥大学)
本研究提出APOSTL语言和PETIT工具,通过扩展API规范语言并自动化测试流程,实现微服务测试的全面自动化。
2026-02-27 cs.SE
Structural Coupling for Microservices
本文通过扩展传统结构耦合概念,提出计算和可视化微服务间耦合的方法,并通过17个开源项目验证,为从业者提供定量与可视化的服务组合视图。
2021-03-08 cs.SE
kube-volttron: Rearchitecting the VOLTTRON Building Energy Management System for Cloud Native Deployment
管理建筑环境的能源消耗是灵活负荷和脱碳的重要来源,使建筑管理者和公用事业公司能够安排消耗,以避免昂贵的需求费用和电网发电碳排放最高的高峰时间。建筑物能源管理的一个关键技术组成部分是建筑物能源管理系统。Eclipse VOLTTRON是一个支持建筑能源管理的传统软件平台。它是为美国能源部(DOE)在太平洋西北国家实验室(PNNL)开发的,用Python编写,基于单片构建-配置-运行-就地系统架构,早于云原生架构概念。然而,软件架构是组件化的,可以预期模块化容器化应用程序,软件代理处理数据存储,Web访问以及通过特定的物联网协议(如BACnet和Modbus)与物联网设备通信等功能。代理之间通过消息总线进行通信。本文描述了一个概念验证原型,将VOLTTRON重新架构为适合在Kubernetes云原生容器编排平台上部署的微服务集合。代理被打包在可再分发的容器中,这些容器执行特定的功能,并且可以在部署时进行配置。部署架构由单个Kubernetes集群组成,其中包含一个中央节点,名义上位于基于云的虚拟机中,其中包含数据库代理的微服务(称为“历史记录器”)和用于服务运行的网站代理,以及在建筑物中的站点上运行的网关节点,其中包含IoT协议特定代理的微服务处理去往和来自设备的控制和数据汇集,并将信息传回中央节点。
2023-02-27 cs.CY cs.DC cs.SE
Linking Stakeholders' Viewpoint Concerns and Microservices-based Architecture
敏捷项目管理的广泛采用,微服务的独立交付以及DevOps的自动化部署极大地加快了系统开发。真正改变游戏规则的是持续集成(CI)、持续交付和持续部署(CD)。组织可以一天发布多个版本,将测试、发布和部署周期从数周缩短到数分钟。Docker等容器技术和Kubernetes等容器编排平台的成熟促进了微服务架构的发展,特别是在云原生开发中。有各种工具可用于设置CI/CD管道。组织正在远离单体应用程序,转向基于微服务的架构。组织可以通过应用程序编程接口(API)快速积累数百个此类微服务。这些现代方法的主要目的是敏捷性、速度和可重用性。虽然DevOps提供了速度和上市时间,但除非微服务和API与企业范围的利益相关者的需求相关联,否则敏捷性和可重用性可能无法得到保证。业务需求和微服务/API之间的联系没有得到很好的捕捉,也没有得到充分的定义。在本出版物中,我们描述了一种结构化方法,用于在API和基于微服务的敏捷开发之间创建逻辑链接,并考虑企业利益相关者的需求和观点。这种方法能够捕获和记录企业范围内利益相关者的需求,无论这些利益相关者是企业所有者、规划者(产品所有者、架构师)、设计者(开发人员、DevOps工程师)还是企业的合作伙伴和订阅者。
2020-09-13 cs.SE
AdaptiFlow: An Extensible Framework for Event-Driven Autonomy in Cloud Microservices
Univ. Lille, CNRS, Inria, Centrale Lille, UMR 9189 CRIStAL(里尔大学、法国国家科学研究中心、法国国家信息与自动化研究所、中央理工学院,CRIStAL联合实验室)
AdaptiFlow通过事件驱动和规则机制,为云微服务提供自我适应能力,实现去中心化的自主性,提升系统鲁棒性。
2025-12-29 cs.DC cs.SE
Kubernetes as an Availability Manager for Microservice Applications
向基于微服务的架构的转变正在顺利进行。在这种架构风格中,小型和松散耦合的模块被独立开发、部署和扩展,以组成云原生应用程序。然而,对于运营商级服务提供商迁移到微服务架构风格,可用性仍然是一个问题。Kubernetes是一个开源平台,它定义了一组构建块,这些构建块共同提供了部署、维护、扩展和修复容器化微服务的机制。因此,Kubernetes在管理其可用性的同时隐藏了微服务编排的复杂性。在初步工作中,我们使用Kubernetes的默认配置,从私有云设置的可用性角度评估了Kubernetes。在本文中,我们研究了更多的架构并进行了更多的实验,以评估Kubernetes为其托管微服务提供的可用性。我们为公共云和私有云提供不同的架构。我们评估了通过Kubernetes的修复能力可实现的可用性。我们研究了增加冗余对基于微服务的应用程序的可用性的影响。我们在Kubernetes的默认配置下以及其响应最快的配置下进行实验。我们还与可用性管理框架(AMF)进行了比较评估,AMF是一种经过验证的解决方案,可作为管理高可用性的中间件服务。我们的调查结果表明,在某些情况下,使用Kubernetes管理的应用程序的服务中断非常高。
2019-01-15 cs.SE
Fostering Microservice Maintainability Assurance through a Comprehensive Framework
本项目提出一个针对微服务架构的自动化评估框架,整合架构可视化、耦合检测、测试覆盖率测量和语义克隆识别等功能,有效提升了微服务系统的可维护性保障能力。
2024-07-23 cs.SE
Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs
提高敏捷性、自主性、可扩展性和可重用性的承诺使微服务架构成为开发大规模和云原生商业应用程序的\textit{de facto}标准。软件模式是一种重要的设计工具,通常它们的选择和组合的目标是获得一组期望的质量属性。然而,从研究的角度来看,许多模式还没有得到广泛的验证,对行业实践,使他们没有更多的有趣的理论。为了解决这个问题,我们调查了从业者如何看待14种模式对7个质量属性的影响。因此,我们进行了9次半结构化的访谈,以收集有关以下方面的行业专业知识:(1)软件模式的知识和采用,(2)模式的感知架构权衡,以及(3)专业人员用于测量质量属性的指标。我们发现,我们研究中报告的许多权衡与每个模式的文档相匹配,并确定了一些尚未报告的收益和痛苦,从而对微服务模式产生了新的见解。
2022-01-10 cs.SE
Energy Efficiency in Microservice Architectures: A Systematic Literature Review
University of Groningen(格罗宁根大学)
本研究通过系统文献综述分析40项相关研究,发现微服务能效多聚焦运行时优化,设计时集成不足,测量依赖基础设施导向的方法,需加强架构层面的早期集成。
2026-08-06 cs.SE
OXN -- Automated Observability Assessments for Cloud-Native Applications
针对微服务可观测性设计权衡缺乏系统化方法的问题,提出自动化实验工具OXN,通过注入故障和修改配置评估设计决策。
2024-07-12 cs.SE
Root Cause Localization for Microservice Systems in Cloud-edge Collaborative Environments
Wuhan University(武汉大学);Sun Yat-sen University(中山大学);Central China Normal University(华中师范大学)
针对云边协同环境下微服务系统根因定位难的问题,提出MicroCERCL方法,结合内核日志与异构动态拓扑栈的图神经网络模型,无需历史数据即可定位根因,性能优于现有方法。
2024-06-19 cs.AI cs.PF cs.SE
Hook-in Privacy Techniques for gRPC-based Microservice Communication
针对 gRPC 缺乏高级隐私机制的问题,本文利用 gRPC interceptor 构建可配置、可扩展的原生隐私拦截方案,支持数据最小化与目的限制,并通过外卖场景和初步评估验证其可行性。
2024-04-08 cs.CR cs.CY cs.DC
Cloud-Native Architectural Characteristics and their Impacts on Software Quality: A Validation Survey
本文通过对42名软件专业人员的问卷调查,验证并修订云原生架构质量模型,提出纳入实证结果的更新版本及可调查层次化复杂结构的问卷工具。
2023-06-21 cs.SE
Microskill Architecture: A Modular Skill-Driven Framework for AI-Native Code Generation
Artificial Intelligence Laboratory at AriooBarzan(AriooBarzan人工智能实验室);Engineering Team, Shiraz, Iran(伊朗谢尔兹工程团队)
本文提出微技能架构,通过将知识封装为原子技能胶囊并动态选择相关胶囊,解决AI代码生成中的上下文窗口管理问题,显著降低token消耗、提高编译成功率并消除架构违规。
2026-06-04 cs.AI cs.SE
Rethinking State Management in Actor Systems for Cloud-Native Applications
本文提出面向 Actor 系统的数据管理层 SmSa,通过声明式跨 Actor 依赖管理与事务性并发控制,在保证应用逻辑表达能力的同时显著降低日志开销并提升并发性能,简化高分区分布式应用的设计与实现。
2024-10-21 cs.DB cs.SE
Application Management in C-ITS: Orchestrating Demand-Driven Deployments and Reconfigurations
Institute for Automotive Engineering (ika), RWTH Aachen University(汽车工程研究所(ika),亚琛工业大学)
本文提出一种基于云原生技术的需求驱动应用管理方法,利用Kubernetes和ROS 2框架,解决C-ITS中动态环境下的应用部署与重新配置问题,提升资源利用率。
2025-11-06 cs.MA cs.RO cs.SE
Reducing Friction in Cloud Migration of Services
本文通过单案例研究分析微服务产品从私有云迁移到公共云的部署成本变化,识别数据库、云服务和低效API调用等驱动因素,并强调整体架构与端到端使用数据的重要性。
2025-09-01 cs.SE
Emerging Trends in Software Architecture from the Practitioners Perspective: A Five Year Review
本研究基于五年内八大行业会议的5,677场演讲,结合大语言模型与专家验证,揭示Kubernetes和Serverless等云原生技术主导软件架构实践且集中于DevOps后期阶段。
2025-07-25 cs.SE