一句话:提出 DeployFix,用约束求解自动定位并修复动态部署环境中的配置冲突导致的部署失败。
软件部署中的配置错误是导致部署失败和服务中断的主要原因之一,但目前缺乏自动修复部署失败的方法。本文提出 DeployFix,在动态变化的部署环境中通过约束求解自动修复部署失败。DeployFix 首先定义 DeployIR 作为统一的中间表示,用于翻译来自不同调度器、语法各异的异构规约;接着将部署失败的根因分析归约为命题逻辑中的冲突消解问题,利用现成的约束求解器自动定位并诊断冲突约束,即部署失败的根因;最后根据实际需求消解冲突约束,生成修复后的部署配置。作者在模拟环境和阿里巴巴生产环境中进行评估,后者包含数万节点、数万应用以及数十万条部署约束。实验结果表明,DeployFix 优于现有最先进方法,即使在大型生产数据中心中也能在数分钟内正确修复部署失败。
Software deployment misconfiguration often happens and has been one of the major causes of deployment failures that give rise to service interruptions. However, there is currently no existing approach to automatically repairing deployment failures. We propose DeployFix, which automatically repairs software deployment failures via constraint solving in the dynamic-changing deployment environments. DeployFix first defines DeployIR as a unified intermediate representation to achieve the translation of heterogeneous specifications from different schedulers with different syntaxes. By reducing the root-cause analysis of deployment failures to the conflict resolution in propositional logic, DeployFix uses off-the-shelf constraint solvers to achieve automatic localization and diagnosis of conflicting constraints, which are the root causes of deployment failures. DeployFix finally resolves the conflicting constraints and generates repaired deployment configurations in terms of practical requirements. We evaluate DeployFix in both simulation and production environments with tens of thousands of nodes at Alibaba, on which tens of thousands of applications are running guided by hundreds of thousands of deployment constraints. Experimental results demonstrate that DeployFix outperforms the state of the art and it correctly repairs the deployment failures in minutes, even in a large production data center.
DOI 原文 ·
@inproceedings{paperbot8418,
title = {DeployFix: Dynamic Repair of Software Deployment Failures via Constraint Solving},
author = {Haoyu Liao and Jianmei Guo and Bo Huang and Yujie Han and Dingyu Yang and Kai Shi and Jonathan Ding and Guoyao Xu and Guodong Yang and Liping Zhang},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695268}
}