中文

Smells-sus:IaC 中的可持续性坏味

软件工程 2025-01-22 v2 分布式、并行与集群计算 网络与互联网体系结构

摘要

从业者使用基础设施即代码脚本通过机器可读的定义文件来高效配置 IT 基础设施。然而,在这些脚本的开发过程中,某些代码模式或部署选择可能会导致可持续性问题,例如资源利用效率低下或冗余配置。我们将此类模式称为可持续性坏味。鉴于云计算规模的不断增长,这些低效性带来了重大的环境和财务挑战。本研究重点关注广泛采用的 IaC 工具 Terraform。我们的研究包括定义七种可持续性坏味,并通过对 19 名 IaC 从业者的调查对其进行验证。我们利用了来自 395 个开源仓库的 28,327 个 Terraform 脚本数据集。我们对从原始数据集中随机抽样的 1,860 个 Terraform 脚本进行了详细的定性分析,以识别与可持续性坏味相对应的代码模式,并使用其余的 26,467 个 Terraform 脚本来研究已定义可持续性坏味的普遍性。我们的结果表明,这些坏味在数据集中的普遍性比率各不相同。最普遍的坏味是单体基础设施,出现在 9.67\% 的脚本中。此外,我们的发现突出了对可持续性问题进行根因分析的复杂性,因为这些坏味通常源于脚本结构、配置选择和部署环境的交汇作用。

关键词

引用

@article{arxiv.2501.07676,
  title  = {Smells-sus: Sustainability Smells in IaC},
  author = {Seif Kosbar and Mohammad Hamdaqa},
  journal= {arXiv preprint arXiv:2501.07676},
  year   = {2025}
}